diff --git a/apps/maarch_entreprise/Models/ContactsModelAbstract.php b/apps/maarch_entreprise/Models/ContactsModelAbstract.php
index 336e0c19be8f84d74d9435daabab2e996cc1dd10..10f887bdd29f1722a820aabfbd610c5a92f57f76 100644
--- a/apps/maarch_entreprise/Models/ContactsModelAbstract.php
+++ b/apps/maarch_entreprise/Models/ContactsModelAbstract.php
@@ -76,7 +76,7 @@ class ContactsModelAbstract extends Apps_Table_Service
             'table'     => ['view_contacts'],
             'where'     => ['email = ? and enabled = ?'],
             'data'      => [$aArgs['email'], 'Y'],
-            'order'     => ['creation_date'],
+            'order_by'     => ['creation_date'],
         ]);
 
         return $aReturn;
diff --git a/apps/maarch_entreprise/definition_mail_categories.php b/apps/maarch_entreprise/definition_mail_categories.php
index c92c16980a3ae7aeddb770d585f391e7d88aede1..9951511a1e98b4bd6af99e3e590b962b331f175a 100644
--- a/apps/maarch_entreprise/definition_mail_categories.php
+++ b/apps/maarch_entreprise/definition_mail_categories.php
@@ -1141,7 +1141,12 @@ function get_general_data($coll_id, $res_id, $mode, $params = array ()) {
                     $res = $stmt2->fetchObject();
                     $data[$arr[$i]]['show_value'] = $res->lastname . ' ' . $res->firstname;
                     $pathScriptTab = $_SESSION['config']['businessappurl'] . 'index.php?display=true&page=user_info&id=' . $line->{$arr[$i]};
-                    $data[$arr[$i]]['addon'] = '<a href="#" id="contact_card" title="' . _CONTACT_CARD . '" onclick="loadTab(\''.$res_id.'\',\''.$coll_id.'\',\''._CONTACT_CARD.'\',\''.$pathScriptTab.'\',\'contactInfo\');return false;" ><i class="fa fa-book fa-2x" title="' . _CONTACT_CARD . '"></i></a>';
+
+                    $preAddon = '<a href="#" id="contact_card" title="' . _CONTACT_CARD . '" onclick="';
+                    $postAddon = ' ><i class="fa fa-book fa-2x" title="' . _CONTACT_CARD . '"></i></a>';
+
+                    $data[$arr[$i]]['addon'] = $preAddon.'loadTab(\''.$res_id.'\',\''.$coll_id.'\',\''._CONTACT_CARD.'\',\''.$pathScriptTab.'\',\'contactInfo\');return false;"'.$postAddon;
+                    $data[$arr[$i]]['addon_detail'] = $preAddon.'window.open(\'' . $_SESSION['config']['businessappurl'] . 'index.php?display=true&page=user_info&id=' . $line->{$arr[$i]} . '\', \'contact_info\', \'height=400, width=600,scrollbars=yes,resizable=yes\');"'.$postAddon;
                 } else {
                     unset ($data[$arr[$i]]);
                 }
@@ -1178,7 +1183,12 @@ function get_general_data($coll_id, $res_id, $mode, $params = array ()) {
                         }         
                     }
                     $pathScriptTab = $_SESSION['config']['businessappurl'] . 'index.php?display=true&dir=my_contacts&page=info_contact_iframe&mode=view&popup&contactid=' . $line->{$arr[$i]} . '&addressid='.$addressId;
-                    $data[$arr[$i]]['addon'] = '<a href="#" id="contact_card" title="' . _CONTACT_CARD . '" onclick="loadTab(\''.$res_id.'\',\''.$coll_id.'\',\''._CONTACT_CARD.'\',\''.$pathScriptTab.'\',\'contactInfo\');return false;" ><i class="fa fa-book fa-2x" title="' . _CONTACT_CARD . '"></i></a>';
+
+                    $preAddon = '<a href="#" id="contact_card" title="' . _CONTACT_CARD . '" onclick="';
+                    $postAddon = ' ><i class="fa fa-book fa-2x" title="' . _CONTACT_CARD . '"></i></a>';
+
+                    $data[$arr[$i]]['addon'] = $preAddon.'loadTab(\''.$res_id.'\',\''.$coll_id.'\',\''._CONTACT_CARD.'\',\''.$pathScriptTab.'\',\'contactInfo\');return false;"'.$postAddon;
+                    $data[$arr[$i]]['addon_detail'] = $preAddon.'window.open(\'' . $_SESSION['config']['businessappurl'] . 'index.php?display=true&dir=my_contacts&page=info_contact_iframe&mode=view&popup&contactid=' . $line->{$arr[$i]} . '&addressid='.$addressId.'\', \'contact_info\', \'height=800, width=1000,scrollbars=yes,resizable=yes\');"'.$postAddon;
                 } else {
                     unset ($data[$arr[$i]]);
                 }
diff --git a/apps/maarch_entreprise/indexing_searching/details.php b/apps/maarch_entreprise/indexing_searching/details.php
index c8757780cbf70f8d8683135fd8b85841fa4185fe..485ce290252d1d52b082ef83836bef2b38920c12 100644
--- a/apps/maarch_entreprise/indexing_searching/details.php
+++ b/apps/maarch_entreprise/indexing_searching/details.php
@@ -630,7 +630,11 @@ if ((!empty($_SESSION['error']) && ! ($_SESSION['indexation'] ))  )
                                 <th align="left" class="picto" >
                                 <?php
                                 if (isset($data[$key]['addon'])) {
-                                    echo $data[$key]['addon'];
+                                    if(in_array($key, ['dest_user_id', 'exp_user_id', 'dest_contact_id', 'exp_contact_id'])){ 
+                                        echo $data[$key]['addon_detail'];
+                                    } else {
+                                        echo $data[$key]['addon'];
+                                    }
                                     //$detailsExport .= $data[$key]['addon'];
                                 } elseif (isset($data[$key]['img'])) {
                                     //$detailsExport .= "<img alt='".$data[$key]['label']."' title='".$data[$key]['label']."' src='".$data[$key]['img']."'  />";
diff --git a/apps/maarch_entreprise/js/angular/app/Views/signatureBook.html b/apps/maarch_entreprise/js/angular/app/Views/signatureBook.html
index 3743369bb60b123f2cee30d9e54f79852d7adb54..0c5e4ebeb13a280adfe9685e637b5647ec839c3f 100644
--- a/apps/maarch_entreprise/js/angular/app/Views/signatureBook.html
+++ b/apps/maarch_entreprise/js/angular/app/Views/signatureBook.html
@@ -26,6 +26,7 @@
             </span>
         </div>
         <div class="actions">
+            <i style="cursor: pointer;vertical-align: middle;" title="Accédez à la fiche détaillée" class="fa fa-info-circle fa-2x"></i>&nbsp;
             <select id="signatureBookActions">
                 <option *ngFor="let option of signatureBook.actions" value="{{option.value}}">{{option.label}}</option>
             </select>
@@ -38,7 +39,7 @@
                 <div class="resListContentFrame" *ngFor="let res of signatureBook.resList" (click)="changeLocation(res.res_id)" [ngClass]="{'resListContentFrameSelected': resId == res.res_id}">
                     <div class="resListContentInfo">
                         <i class="fa fa-compass" title="Numéro chrono"></i> {{res.alt_identifier}}
-                        <i ng-if="res.allSigned" class="fa fa-certificate" style="position: absolute;bottom: 35px;right: 50px;font-size: 40px;color: gold;"></i>&nbsp;
+                        <i ng-if="res.allSigned" class="fa fa-certificate"></i>&nbsp;
                         <i class="fa fa-circle" aria-hidden="true" [ngStyle]="{'color': res.priorityColor}" style="position: absolute;right: 0px;top: -10px;font-size: 25px;"></i>
                     </div>
                     <div class="resListContentInfo">
@@ -48,7 +49,7 @@
                         <i class="fa fa-book" title="Fiche contact"></i> {{res.sender}}
                     </div>
                     <div class="resListContentInfo">
-                        <i class="fa fa-calendar" title="Date d'arrivée"></i> {{res.creation_date}} - <i class="fa fa-bell" title="Date limite de traitement"></i> {{res.process_limit_date}}
+                        <i class="fa fa-calendar" title="Date d'arrivée"></i> {{res.creation_date | date:'dd/MM/y'}} - <i class="fa fa-bell" title="Date limite de traitement"></i> {{res.process_limit_date | date:'dd/MM/y'}}
                     </div>
                 </div>
             </div>
@@ -57,13 +58,13 @@
             <i class="fa fa-chevron-left" aria-hidden="true" *ngIf="showResLeftPanel"></i>
             <i class="fa fa-chevron-right" aria-hidden="true" *ngIf="!showResLeftPanel"></i>
         </div>
-        <div class="contentLeft" *ngIf="showLeftPanel" [ngClass]="{'showResLeftPanel': showResLeftPanel, 'hideResLeftPanel': !showResLeftPanel}">
+        <div class="contentLeft" [ngStyle]="{'width': leftContentWidth}" id="contentLeft" *ngIf="showLeftPanel">
             <div class="contentShow" *ngIf="headerTab == 1">
                 <div class="pjDoc" [ngStyle]="{'height': showTopLeftPanel ? '100px' : '30px'}">
                     <div (click)="displayPanel('TOPLEFT')" *ngIf="!showTopLeftPanel" style="padding: 5px;cursor:pointer;">
                         <strong>{{signatureBook.documents.length - 1}} pièce(s) jointe(s)</strong>
                     </div>
-                    <div *ngIf="showTopLeftPanel">
+                    <div *ngIf="showTopLeftPanel" style="height:100%;">
                         <img id="thumnails_img" *ngFor="let document of signatureBook.documents; let i = index" (click)="changeLeftViewer(i)" [src]="document.thumbnailLink"
                                  class="leftPanelThumbnails" [ngClass]="{'panelSelectedThumbnail': i == leftSelectedThumbnail}"/>
                     </div>
@@ -76,31 +77,13 @@
                 <iframe *ngIf="leftViewerLink != ''" id="leftPanelShowDocumentIframe" [src]="leftViewerLink | safeUrl" [ngStyle]="{'height': showTopLeftPanel ? '69vh' : '75vh'}"></iframe>
             </div>
             <div class="contentShow" *ngIf="headerTab == 2">
-                <!--<table ng-table="notesTable" class="table" id="notesTable">-->
-                    <!--<tr ng-repeat="note in $data">-->
-                        <!--<td title="'Date'" sortable="'date_note'" style="width:5%;">-->
-                            <!--{{note.date_note}}-->
-                        <!--</td>-->
-                        <!--<td title="'Note'" sortable="'note_text'" filter="{ note_text: 'text'}" style="width:60%;">-->
-                            <!--{{note.note_text}}-->
-                        <!--</td>-->
-                        <!--<td title="'Créateur'" sortable="'lastname'" filter="{ lastname: 'text'}" style="width:10%;">-->
-                            <!--{{note.firstname + " " + note.lastname}}-->
-                        <!--</td>-->
-                        <!--<td title="'Visibilité'" style="width:20%;">-->
-                            <!--{{note.entities_restriction}}-->
-                        <!--</td>-->
-                        <!--<td title="''" style="width:5%;">-->
-                            <!--<i class="fa fa-pencil" style="cursor:pointer;color:#009DC5;" aria-hidden="true" title="Modifier" ></i>-->
-                            <!--<i class="fa fa-times" style="cursor:pointer;color:red;" aria-hidden="true" title="Supprimer"></i>-->
-                        <!--</td>-->
-                    <!--</tr>-->
-                <!--</table>-->
+                <iframe [src]="notesViewerLink | safeUrl"></iframe>
             </div>
             <div class="contentShow" *ngIf="headerTab == 3">
-                <!--<iframe id="leftPanelShow_iframe" src="{{signatureBook.linkVisaCircuit}}"></iframe>-->
+                <iframe [src]="visaViewerLink | safeUrl"></iframe>
             </div>
             <div class="contentShow" *ngIf="headerTab == 4">
+                <iframe [src]="histViewerLink | safeUrl"></iframe>
                 <!--<table ng-table="historyTable" class="table" id="historyTable">-->
                     <!--<tr ng-repeat="history in $data">-->
                         <!--<td title="'Date'" sortable="'event_date'" style="width:20%;">-->
@@ -120,8 +103,8 @@
             <i class="fa fa-chevron-left" aria-hidden="true" *ngIf="showLeftPanel"></i>
             <i class="fa fa-chevron-right" aria-hidden="true" *ngIf="!showLeftPanel"></i>
         </div>
-        <div class="contentRight" [ngClass]="{'showLeftPanel': showLeftPanel, 'hideLeftPanel': !showLeftPanel}">
-            <div class="contentShow" *ngIf="!showAttachmentEditionPanel">
+        <div class="contentRight" id="contentRight" [ngStyle]="{'width': rightContentWidth}">
+            <div class="contentShow" *ngIf="signatureBook.attachments[rightSelectedThumbnail] && !showAttachmentEditionPanel && signatureBook.consigne != 'No Consigne Found'">
                 <div class="pjDetails" *ngIf="signatureBook.attachments[rightSelectedThumbnail]" [ngStyle]="{'height': showTopRightPanel ? '100px' : '30px'}">
                     <div class="infoPj" title="{{signatureBook.attachments[rightSelectedThumbnail].attachment_type}}">
                         <label>Type : </label>
@@ -142,7 +125,7 @@
                         </div>
                         <div class="infoPj">
                             <label>Créé le: </label>
-                            <span>{{signatureBook.attachments[rightSelectedThumbnail].creation_date}}</span>
+                            <span>{{signatureBook.attachments[rightSelectedThumbnail].creation_date | date:'dd/MM/y à HH:mm'}}</span>
                         </div>
                         <div class="infoPj" title="{{signatureBook.attachments[rightSelectedThumbnail].updated_by}}">
                             <label>Modifié par : </label>
@@ -150,7 +133,7 @@
                         </div>
                         <div class="infoPj">
                             <label>Retour : </label>
-                            <span>{{signatureBook.attachments[rightSelectedThumbnail].validation_date}}</span>
+                            <span>{{signatureBook.attachments[rightSelectedThumbnail].validation_date | date:'dd/MM/y'}}</span>
                         </div>
                         <div class="infoPj">
                             <label>Version : </label>
@@ -162,15 +145,15 @@
                         </div>
                     </div>
                 </div>
-                <div (click)="editAttachmentIframe(signatureBook.attachments[rightSelectedThumbnail])">EDIT</div>
-                <div (click)="delAttachment(signatureBook.attachments[rightSelectedThumbnail])">SUPPRIMER</div>
+                <div title="Modifier la pièce jointe" style="cursor: pointer;position: absolute;right: -30px;bottom: 70px;padding: 10px;background-color: #009DC5;color: white;border-radius: 25px;-moz-box-shadow: 0px 0px 10px 0px #656565;-webkit-box-shadow: 0px 0px 10px 0px #656565;-o-box-shadow: 0px 0px 10px 0px #656565;box-shadow: 0px 0px 10px 0px #656565;filter: progid:DXImageTransform.Microsoft.Shadow(color=#656565, Direction=NaN, Strength=10);" (click)="editAttachmentIframe(signatureBook.attachments[rightSelectedThumbnail])"><i class="fa fa-pencil-square-o fa-2x"></i></div>
+                <div title="Supprimer la pièce jointe" style="cursor: pointer;position: absolute;right: -30px;top: 70px;padding: 10px;background-color: red;color: white;border-radius: 25px;-moz-box-shadow: 0px 0px 10px 0px #656565;-webkit-box-shadow: 0px 0px 10px 0px #656565;-o-box-shadow: 0px 0px 10px 0px #656565;box-shadow: 0px 0px 10px 0px #656565;filter: progid:DXImageTransform.Microsoft.Shadow(color=#656565, Direction=NaN, Strength=10);" (click)="delAttachment(signatureBook.attachments[rightSelectedThumbnail])"><i class="fa fa-trash fa-2x"></i></div>
                 <div class="pjDetailsMore" (click)="displayPanel('TOPRIGHT')">
                    <i *ngIf="!showTopRightPanel" class="fa fa-chevron-down" aria-hidden="true"></i>
                    <i *ngIf="showTopRightPanel" class="fa fa-chevron-up" aria-hidden="true"></i>
                 </div>
-                <iframe *ngIf="signatureBook.attachments[rightSelectedThumbnail] && signatureBook.attachments[rightSelectedThumbnail].format == 'pdf'" id="rightPanelShowDocumentIframe" [src]="rightViewerLink | safeUrl" [ngStyle]="{'height': showTopRightPanel ? '75vh' : '69vh'}"></iframe>
-                <span *ngIf="signatureBook.attachments[rightSelectedThumbnail] && signatureBook.attachments[rightSelectedThumbnail].format != 'pdf'">Fichier impossible à charger</span>
-                <div class="pjSign">
+                <iframe *ngIf="signatureBook.attachments[rightSelectedThumbnail] && (signatureBook.attachments[rightSelectedThumbnail].format == 'pdf' || signatureBook.attachments[rightSelectedThumbnail].isConverted)" id="rightPanelShowDocumentIframe" [src]="rightViewerLink | safeUrl" [ngStyle]="{'height': showTopRightPanel ? '80%' : '88%'}"></iframe>
+                <div style="border: dashed;font-weight: bold;opacity: 0.5;white-space: normal;height: 85%;font-size: 40px;" *ngIf="signatureBook.attachments[rightSelectedThumbnail] && signatureBook.attachments[rightSelectedThumbnail].format != 'pdf' && !signatureBook.attachments[rightSelectedThumbnail].isConverted"><div style="padding-top: 25%;">Aucun aperçu disponible<br/><sub>La version PDF de ce format n'a pas été trouvée.</sub></div></div>
+                <div class="pjSign" *ngIf="signatureBook.attachments[rightSelectedThumbnail] && (signatureBook.attachments[rightSelectedThumbnail].format == 'pdf' || signatureBook.attachments[rightSelectedThumbnail].isConverted)">
                     <span *ngIf="signatureBook.attachments[rightSelectedThumbnail] && signatureBook.attachments[rightSelectedThumbnail].status != 'SIGN'" (click)="prepareSignFile(signatureBook.attachments[rightSelectedThumbnail])" style="cursor: pointer">
                         <img title="Signer" src="{{signatureBook.signature}}">
                     </span>
@@ -179,6 +162,8 @@
                     </span>
                 </div>
             </div>
+            <div *ngIf="signatureBook.consigne == 'No Consigne Found'" style="height: 80vh;font-size: 40px;border: dashed;font-weight: bold;opacity: 0.5;white-space: normal;margin-top: 10px;"><div style="margin-top:200px;">Aucun circuit de visa paramétré.<br/><sub>Aucune signature possible.</sub></div></div>
+            <div *ngIf="!signatureBook.attachments[rightSelectedThumbnail] && signatureBook.consigne != 'No Consigne Found'" style="height: 80vh;font-size: 40px;border: dashed;font-weight: bold;opacity: 0.5;white-space: normal;margin-top: 10px;"><div style="margin-top:200px;">Aucune pièce jointe disponible<br/><sub>Cliquez sur <i class="fa fa-plus"></i> pour en ajouter une</sub></div></div>
             <!--<div class="contentShow" ng-if="signatureBook.showAttachmentEditionPanel">-->
                 <!--<h1>Créer une pièce jointe</h1>-->
                 <!--<div class="pjCreate">-->
@@ -238,15 +223,18 @@
                 <!--</div>-->
             <!--</div>-->
         </div>
-        <div class="panelRight">
+        <div class="panelRight"  *ngIf="signatureBook.consigne != 'No Consigne Found'">
             <div class="item panelRightAddPj" (click)="addAttachmentIframe()">
                 <i class="fa fa-plus fa-2x" title="Créer une pièce jointe"></i>
             </div>
             <div class="panelRightContent" *ngIf="signatureBook.attachments">
-                <div class="item" *ngFor="let attachment of signatureBook.attachments; let i = index" (click)="changeRightViewer(i)" [ngClass]="{'panelSelectedThumbnail': i == rightSelectedThumbnail}">
+                <div style="position: relative;" class="item" *ngFor="let attachment of signatureBook.attachments; let i = index" (click)="changeRightViewer(i)" [ngClass]="{'panelSelectedThumbnail': i == rightSelectedThumbnail}">
                     <span class="fa-stack fa-lg">
                         <i class="fa fa-file-o fa-stack-2x"></i><i class="fa {{attachment.icon}} fa-stack-1x"></i>
                     </span>
+                    <!-- TO DO : ADD IF FOR PJ SIGN -->
+                    <i *ngIf="attachment.status == 'SIGN'" style="position: absolute;top: 2px;right: 2px;" class="fa fa-circle"></i>
+                    <i *ngIf="attachment.status != 'SIGN'" style="position: absolute;top: 2px;right: 2px;" class="fa fa-circle-o"></i>
                 </div>
             </div>
         </div>
diff --git a/apps/maarch_entreprise/js/angular/app/signature-book.component.js b/apps/maarch_entreprise/js/angular/app/signature-book.component.js
index 36dd338949709d58d02b854c892fde03ea024a3a..7013d47eb24bc5f1f2689f73d7f4f53c565eb49a 100644
--- a/apps/maarch_entreprise/js/angular/app/signature-book.component.js
+++ b/apps/maarch_entreprise/js/angular/app/signature-book.component.js
@@ -38,7 +38,9 @@ var SignatureBookComponent = (function () {
             currentAction: {},
             consigne: "",
             documents: [],
-            attachments: []
+            attachments: [],
+            //histories               : [],
+            resList: []
         };
         this.rightSelectedThumbnail = 0;
         this.leftSelectedThumbnail = 0;
@@ -50,10 +52,24 @@ var SignatureBookComponent = (function () {
         this.showResLeftPanel = true;
         this.showLeftPanel = true;
         this.showAttachmentEditionPanel = false;
+        this.leftContentWidth = "39%";
+        this.rightContentWidth = "39%";
+        this.notesViewerLink = "";
+        this.visaViewerLink = "";
+        this.histViewerLink = "";
         window['angularSignatureBookComponent'] = {
-            componentAfterAttach: function (value) { return _this.processAfterAttach(value); }
+            componentAfterAttach: function (value) { return _this.processAfterAttach(value); },
+            componentAfterAction: function () { return _this.processAfterAction(); }
         };
     }
+    SignatureBookComponent.prototype.prepareSignatureBook = function () {
+        $j('#inner_content').remove();
+        $j('#header').remove();
+        $j('#viewBasketsTitle').remove();
+        $j('#homePageWelcomeTitle').remove();
+        $j('#footer').remove();
+        $j('#container').width("98%");
+    };
     SignatureBookComponent.prototype.ngOnInit = function () {
         var _this = this;
         this.prepareSignatureBook();
@@ -70,31 +86,56 @@ var SignatureBookComponent = (function () {
                     .map(function (res) { return res.json(); })
                     .subscribe(function (data) {
                     _this.signatureBook = data;
-                    if (_this.signatureBook.documents[0]) {
-                        _this.leftViewerLink = _this.signatureBook.documents[0].viewerLink;
-                    }
-                    if (_this.signatureBook.attachments[0]) {
-                        _this.rightViewerLink = _this.signatureBook.attachments[0].viewerLink;
-                    }
                     _this.headerTab = 1;
                     _this.leftSelectedThumbnail = 0;
                     _this.rightSelectedThumbnail = 0;
+                    _this.leftViewerLink = "";
+                    _this.rightViewerLink = "";
                     _this.showLeftPanel = true;
                     _this.showResLeftPanel = true;
                     _this.showTopLeftPanel = false;
                     _this.showTopRightPanel = false;
                     _this.showAttachmentEditionPanel = false;
+                    _this.notesViewerLink = "index.php?display=true&module=notes&page=notes&identifier=" + _this.resId + "&origin=document&coll_id=letterbox_coll&load&size=full";
+                    _this.visaViewerLink = "index.php?display=true&page=show_visa_tab&module=visa&resId=" + _this.resId + "&collId=letterbox_coll&visaStep=true";
+                    _this.histViewerLink = "index.php?display=true&dir=indexing_searching&page=document_workflow_history&id=" + _this.resId + "&coll_id=letterbox_coll&load&size=full";
+                    if (_this.signatureBook.documents[0]) {
+                        _this.leftViewerLink = _this.signatureBook.documents[0].viewerLink;
+                    }
+                    if (_this.signatureBook.attachments[0]) {
+                        _this.rightViewerLink = _this.signatureBook.attachments[0].viewerLink;
+                    }
                 });
             });
         });
     };
-    SignatureBookComponent.prototype.prepareSignatureBook = function () {
-        $j('#inner_content').remove();
-        $j('#header').remove();
-        $j('#viewBasketsTitle').remove();
-        $j('#homePageWelcomeTitle').remove();
-        $j('#footer').remove();
-        $j('#container').width("98%");
+    SignatureBookComponent.prototype.ngOnDestroy = function () {
+        delete window['angularSignatureBookComponent'];
+    };
+    SignatureBookComponent.prototype.processAfterAttach = function (mode) {
+        var _this = this;
+        this.zone.run(function () { return _this.refreshAttachments(mode); });
+    };
+    SignatureBookComponent.prototype.processAfterAction = function () {
+        var _this = this;
+        var idToGo = -1;
+        var c = this.signatureBook.resList.length;
+        for (var i = 0; i < c; i++) {
+            if (this.signatureBook.resList[i].res_id == this.resId) {
+                if (this.signatureBook.resList[i + 1]) {
+                    idToGo = this.signatureBook.resList[i + 1].res_id;
+                }
+                else if (i > 0) {
+                    idToGo = this.signatureBook.resList[i - 1].res_id;
+                }
+            }
+        }
+        if (idToGo >= 0) {
+            this.zone.run(function () { return _this.changeLocation(idToGo); });
+        }
+        else {
+            this.zone.run(function () { return _this.backToBasket(); });
+        }
     };
     SignatureBookComponent.prototype.changeSignatureBookLeftContent = function (id) {
         this.headerTab = id;
@@ -124,9 +165,68 @@ var SignatureBookComponent = (function () {
         else if (panel == "LEFT") {
             this.showLeftPanel = !this.showLeftPanel;
             this.showResLeftPanel = false;
+            if (!this.showLeftPanel) {
+                this.rightContentWidth = "95%";
+            }
+            else {
+                this.rightContentWidth = "47%";
+                this.leftContentWidth = "47%";
+            }
         }
         else if (panel == "RESLEFT") {
             this.showResLeftPanel = !this.showResLeftPanel;
+            if (!this.showResLeftPanel) {
+                this.rightContentWidth = "47%";
+                this.leftContentWidth = "47%";
+            }
+            else {
+                this.rightContentWidth = "39%";
+                this.leftContentWidth = "39%";
+            }
+        }
+    };
+    SignatureBookComponent.prototype.refreshAttachments = function (mode) {
+        var _this = this;
+        this.http.get(this.coreUrl + 'rest/' + 'signatureBook/' + this.resId + '/attachments')
+            .map(function (res) { return res.json(); })
+            .subscribe(function (data) {
+            _this.signatureBook.attachments = data;
+            if (mode == "add") {
+                _this.changeRightViewer(_this.signatureBook.attachments.length - 1);
+            }
+            else if (mode == "del") {
+                _this.changeRightViewer(0);
+            }
+        });
+    };
+    SignatureBookComponent.prototype.addAttachmentIframe = function () {
+        showAttachmentsForm('index.php?display=true&module=attachments&page=attachments_content&docId=' + this.resId);
+    };
+    SignatureBookComponent.prototype.editAttachmentIframe = function (attachment) {
+        var resId;
+        if (attachment.res_id == 0) {
+            resId = attachment.res_id_version;
+        }
+        else if (attachment.res_id_version == 0) {
+            resId = attachment.res_id;
+        }
+        modifyAttachmentsForm('index.php?display=true&module=attachments&page=attachments_content&id=' + resId + '&relation=' + attachment.relation + '&docId=' + this.resId, '98%', 'auto');
+    };
+    SignatureBookComponent.prototype.delAttachment = function (attachment) {
+        var _this = this;
+        var r = confirm('Voulez-vous vraiment supprimer la pièce jointe ?');
+        if (r) {
+            var resId;
+            if (attachment.res_id == 0) {
+                resId = attachment.res_id_version;
+            }
+            else if (attachment.res_id_version == 0) {
+                resId = attachment.res_id;
+            }
+            this.http.get('index.php?display=true&module=attachments&page=del_attachment&id=' + resId + '&relation=' + attachment.relation + '&rest=true')
+                .subscribe(function () {
+                _this.refreshAttachments('del');
+            });
         }
     };
     SignatureBookComponent.prototype.prepareSignFile = function (attachment) {
@@ -201,54 +301,6 @@ var SignatureBookComponent = (function () {
             valid_action_form('empty', 'index.php?display=true&page=manage_action&module=core', this.signatureBook.currentAction.id, this.resId, 'res_letterbox', 'null', 'letterbox_coll', 'page', false, [$j("#signatureBookActions option:selected")[0].value]);
         }
     };
-    SignatureBookComponent.prototype.refreshAttachments = function (mode) {
-        var _this = this;
-        this.http.get(this.coreUrl + 'rest/' + 'signatureBook/' + this.resId + '/attachments')
-            .map(function (res) { return res.json(); })
-            .subscribe(function (data) {
-            _this.signatureBook.attachments = data;
-            if (mode == "add") {
-                _this.changeRightViewer(_this.signatureBook.attachments.length - 1);
-            }
-            else if (mode == "del") {
-                _this.changeRightViewer(0);
-            }
-        });
-    };
-    SignatureBookComponent.prototype.processAfterAttach = function (mode) {
-        var _this = this;
-        this.zone.run(function () { return _this.refreshAttachments(mode); });
-    };
-    SignatureBookComponent.prototype.addAttachmentIframe = function () {
-        showAttachmentsForm('index.php?display=true&module=attachments&page=attachments_content&docId=' + this.resId);
-    };
-    SignatureBookComponent.prototype.editAttachmentIframe = function (attachment) {
-        var resId;
-        if (attachment.res_id == 0) {
-            resId = attachment.res_id_version;
-        }
-        else if (attachment.res_id_version == 0) {
-            resId = attachment.res_id;
-        }
-        modifyAttachmentsForm('index.php?display=true&module=attachments&page=attachments_content&id=' + resId + '&relation=' + attachment.relation + '&docId=' + this.resId, '98%', 'auto');
-    };
-    SignatureBookComponent.prototype.delAttachment = function (attachment) {
-        var _this = this;
-        var r = confirm('Voulez-vous vraiment supprimer la pièce jointe ?');
-        if (r) {
-            var resId;
-            if (attachment.res_id == 0) {
-                resId = attachment.res_id_version;
-            }
-            else if (attachment.res_id_version == 0) {
-                resId = attachment.res_id;
-            }
-            this.http.get('index.php?display=true&module=attachments&page=del_attachment&id=' + resId + '&relation=' + attachment.relation + '&rest=true')
-                .subscribe(function () {
-                _this.refreshAttachments('del');
-            });
-        }
-    };
     SignatureBookComponent = __decorate([
         core_1.Component({
             templateUrl: 'js/angular/app/Views/signatureBook.html',
diff --git a/apps/maarch_entreprise/js/angular/app/signature-book.component.ts b/apps/maarch_entreprise/js/angular/app/signature-book.component.ts
index 6df458713aa98ccc4670edd7dd51af610199c4e1..44afb35694ff7f5189ef5d0900a10ff9d6b67442 100644
--- a/apps/maarch_entreprise/js/angular/app/signature-book.component.ts
+++ b/apps/maarch_entreprise/js/angular/app/signature-book.component.ts
@@ -32,7 +32,9 @@ export class SignatureBookComponent implements OnInit {
         currentAction           : {},
         consigne                : "",
         documents               : [],
-        attachments             : []
+        attachments             : [],
+        //histories               : [],
+        resList                 : []
     };
 
     rightSelectedThumbnail      : number    = 0;
@@ -46,13 +48,30 @@ export class SignatureBookComponent implements OnInit {
     showLeftPanel               : boolean   = true;
     showAttachmentEditionPanel  : boolean   = false;
 
+    leftContentWidth            : string    = "39%";
+    rightContentWidth           : string    = "39%";
+
+    notesViewerLink             : string    = "";
+    visaViewerLink              : string    = "";
+    histViewerLink              : string    = "";
+
 
     constructor(public http: Http, private route: ActivatedRoute, private router: Router, private zone:NgZone) {
         window['angularSignatureBookComponent'] = {
-            componentAfterAttach: (value: string) => this.processAfterAttach(value)
+            componentAfterAttach: (value: string) => this.processAfterAttach(value),
+            componentAfterAction: () => this.processAfterAction()
         };
     }
 
+    prepareSignatureBook() {
+        $j('#inner_content').remove();
+        $j('#header').remove();
+        $j('#viewBasketsTitle').remove();
+        $j('#homePageWelcomeTitle').remove();
+        $j('#footer').remove();
+        $j('#container').width("98%");
+    }
+
     ngOnInit(): void {
         this.prepareSignatureBook();
         this.route.params.subscribe(params => {
@@ -69,32 +88,59 @@ export class SignatureBookComponent implements OnInit {
                         .map(res => res.json())
                         .subscribe((data) => {
                             this.signatureBook = data;
-                            if (this.signatureBook.documents[0]) {
-                                this.leftViewerLink = this.signatureBook.documents[0].viewerLink;
-                            }
-                            if (this.signatureBook.attachments[0]) {
-                                this.rightViewerLink = this.signatureBook.attachments[0].viewerLink;
-                            }
+
                             this.headerTab              = 1;
                             this.leftSelectedThumbnail  = 0;
                             this.rightSelectedThumbnail = 0;
+                            this.leftViewerLink         = "";
+                            this.rightViewerLink        = "";
                             this.showLeftPanel          = true;
                             this.showResLeftPanel       = true;
                             this.showTopLeftPanel       = false;
                             this.showTopRightPanel      = false;
                             this.showAttachmentEditionPanel  = false;
+                            this.notesViewerLink = "index.php?display=true&module=notes&page=notes&identifier=" + this.resId + "&origin=document&coll_id=letterbox_coll&load&size=full";
+                            this.visaViewerLink = "index.php?display=true&page=show_visa_tab&module=visa&resId=" + this.resId + "&collId=letterbox_coll&visaStep=true";
+                            this.histViewerLink = "index.php?display=true&dir=indexing_searching&page=document_workflow_history&id=" + this.resId + "&coll_id=letterbox_coll&load&size=full";
+
+                            if (this.signatureBook.documents[0]) {
+                                this.leftViewerLink = this.signatureBook.documents[0].viewerLink;
+                            }
+                            if (this.signatureBook.attachments[0]) {
+                                this.rightViewerLink = this.signatureBook.attachments[0].viewerLink;
+                            }
                         });
                 });
         });
     }
 
-    prepareSignatureBook() {
-        $j('#inner_content').remove();
-        $j('#header').remove();
-        $j('#viewBasketsTitle').remove();
-        $j('#homePageWelcomeTitle').remove();
-        $j('#footer').remove();
-        $j('#container').width("98%");
+    ngOnDestroy() : void {
+        delete window['angularSignatureBookComponent'];
+    }
+
+    processAfterAttach(mode: string) {
+        this.zone.run(() => this.refreshAttachments(mode));
+    }
+
+    processAfterAction() {
+        var idToGo = -1;
+        var c = this.signatureBook.resList.length;
+
+        for (let i = 0; i < c; i++) {
+            if (this.signatureBook.resList[i].res_id == this.resId) {
+                if (this.signatureBook.resList[i + 1]) {
+                    idToGo = this.signatureBook.resList[i + 1].res_id;
+                } else if (i > 0) {
+                    idToGo = this.signatureBook.resList[i - 1].res_id;
+                }
+            }
+        }
+
+        if (idToGo >= 0) {
+            this.zone.run(() => this.changeLocation(idToGo));
+        } else {
+            this.zone.run(() => this.backToBasket());
+        }
     }
 
     changeSignatureBookLeftContent(id: number) {
@@ -125,8 +171,66 @@ export class SignatureBookComponent implements OnInit {
         } else if (panel == "LEFT") {
             this.showLeftPanel = !this.showLeftPanel;
             this.showResLeftPanel = false;
+            if (!this.showLeftPanel) {
+                this.rightContentWidth = "95%";
+            } else {
+                this.rightContentWidth = "47%";
+                this.leftContentWidth = "47%";
+            }
         } else if (panel == "RESLEFT") {
             this.showResLeftPanel = !this.showResLeftPanel;
+            if (!this.showResLeftPanel) {
+                this.rightContentWidth = "47%";
+                this.leftContentWidth = "47%";
+            } else {
+                this.rightContentWidth = "39%";
+                this.leftContentWidth = "39%";
+            }
+        }
+    }
+
+    refreshAttachments(mode: string) {
+        this.http.get(this.coreUrl + 'rest/' + 'signatureBook/' + this.resId + '/attachments')
+            .map(res => res.json())
+            .subscribe((data) => {
+                this.signatureBook.attachments = data;
+                if (mode == "add") {
+                    this.changeRightViewer(this.signatureBook.attachments.length - 1);
+                } else if (mode == "del") {
+                    this.changeRightViewer(0);
+                }
+            });
+    }
+
+    addAttachmentIframe() {
+        showAttachmentsForm('index.php?display=true&module=attachments&page=attachments_content&docId=' + this.resId);
+    }
+
+    editAttachmentIframe(attachment: any) {
+        var resId: number;
+        if (attachment.res_id == 0) {
+            resId = attachment.res_id_version;
+        } else if (attachment.res_id_version == 0) {
+            resId = attachment.res_id;
+        }
+
+        modifyAttachmentsForm('index.php?display=true&module=attachments&page=attachments_content&id=' + resId + '&relation=' + attachment.relation + '&docId=' + this.resId, '98%', 'auto');
+    }
+
+    delAttachment(attachment: any) {
+        let r = confirm('Voulez-vous vraiment supprimer la pièce jointe ?');
+        if (r) {
+            var resId: number;
+            if (attachment.res_id == 0) {
+                resId = attachment.res_id_version;
+            } else if (attachment.res_id_version == 0) {
+                resId = attachment.res_id;
+            }
+
+            this.http.get('index.php?display=true&module=attachments&page=del_attachment&id=' + resId + '&relation=' + attachment.relation + '&rest=true')
+                .subscribe(() => {
+                    this.refreshAttachments('del');
+                });
         }
     }
 
@@ -217,53 +321,4 @@ export class SignatureBookComponent implements OnInit {
             );
         }
     }
-
-    refreshAttachments(mode: string) {
-        this.http.get(this.coreUrl + 'rest/' + 'signatureBook/' + this.resId + '/attachments')
-            .map(res => res.json())
-            .subscribe((data) => {
-                this.signatureBook.attachments = data;
-                if (mode == "add") {
-                    this.changeRightViewer(this.signatureBook.attachments.length - 1);
-                } else if (mode == "del") {
-                    this.changeRightViewer(0);
-                }
-            });
-    }
-
-    processAfterAttach(mode: string) {
-        this.zone.run(() => this.refreshAttachments(mode));
-    }
-
-    addAttachmentIframe() {
-        showAttachmentsForm('index.php?display=true&module=attachments&page=attachments_content&docId=' + this.resId);
-    }
-
-    editAttachmentIframe(attachment: any) {
-        var resId: number;
-        if (attachment.res_id == 0) {
-            resId = attachment.res_id_version;
-        } else if (attachment.res_id_version == 0) {
-            resId = attachment.res_id;
-        }
-
-        modifyAttachmentsForm('index.php?display=true&module=attachments&page=attachments_content&id=' + resId + '&relation=' + attachment.relation + '&docId=' + this.resId, '98%', 'auto');
-    }
-
-    delAttachment(attachment: any) {
-        let r = confirm('Voulez-vous vraiment supprimer la pièce jointe ?');
-        if (r) {
-            var resId: number;
-            if (attachment.res_id == 0) {
-                resId = attachment.res_id_version;
-            } else if (attachment.res_id_version == 0) {
-                resId = attachment.res_id;
-            }
-
-            this.http.get('index.php?display=true&module=attachments&page=del_attachment&id=' + resId + '&relation=' + attachment.relation + '&rest=true')
-                .subscribe(() => {
-                    this.refreshAttachments('del');
-                });
-        }
-    }
 }
diff --git a/apps/maarch_entreprise/js/angular/main.bundle.min.js b/apps/maarch_entreprise/js/angular/main.bundle.min.js
index a312f7e08089fd9af77aa9df1ae7353c9251fc1c..b966ce627107641f39d344754941d50cbe11b713 100644
--- a/apps/maarch_entreprise/js/angular/main.bundle.min.js
+++ b/apps/maarch_entreprise/js/angular/main.bundle.min.js
@@ -1,33 +1,29 @@
-!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.main=t()}}(function(){var t;return function e(t,n,r){function i(s,a){if(!n[s]){if(!t[s]){var u="function"==typeof require&&require;if(!a&&u)return u(s,!0);if(o)return o(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var p=n[s]={exports:{}};t[s][0].call(p.exports,function(e){var n=t[s][1][e];return i(n?n:e)},p,p.exports,e,t,n,r)}return n[s].exports}for(var o="function"==typeof require&&require,s=0;s<r.length;s++)i(r[s]);return i}({1:[function(t,e,n){"use strict";var r=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},i=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},o=t("@angular/core"),s=function(){function t(){}return t=r([o.Component({selector:"my-app",template:"<router-outlet></router-outlet>"}),i("design:paramtypes",[])],t)}();n.AppComponent=s},{"@angular/core":7}],2:[function(t,e,n){"use strict";var r=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},i=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},o=t("@angular/core"),s=t("@angular/platform-browser"),a=t("@angular/router"),u=t("@angular/http"),c=t("./app.component"),p=t("./signature-book.component"),l=function(){function t(){}return t=r([o.NgModule({imports:[s.BrowserModule,a.RouterModule.forRoot([{path:":basketId/signatureBook/:resId",component:p.SignatureBookComponent},{path:"**",redirectTo:"",pathMatch:"full"}],{useHash:!0}),u.HttpModule],declarations:[c.AppComponent,p.SignatureBookComponent,p.SafeUrlPipe],bootstrap:[c.AppComponent]}),i("design:paramtypes",[])],t)}();n.AppModule=l},{"./app.component":1,"./signature-book.component":3,"@angular/core":7,"@angular/http":8,"@angular/platform-browser":10,"@angular/router":11}],3:[function(t,e,n){"use strict";var r=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},i=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},o=t("@angular/core"),s=t("@angular/http"),a=t("@angular/platform-browser"),u=t("@angular/router");t("rxjs/add/operator/map");var c=function(){function t(t){this.sanitizer=t}return t.prototype.transform=function(t){return this.sanitizer.bypassSecurityTrustResourceUrl(t)},t=r([o.Pipe({name:"safeUrl"}),i("design:paramtypes",[a.DomSanitizer])],t)}();n.SafeUrlPipe=c;var p=function(){function t(t,e,n,r){var i=this;this.http=t,this.route=e,this.router=n,this.zone=r,this.signatureBook={currentAction:{},consigne:"",documents:[],attachments:[]},this.rightSelectedThumbnail=0,this.leftSelectedThumbnail=0,this.rightViewerLink="",this.leftViewerLink="",this.headerTab=1,this.showTopRightPanel=!1,this.showTopLeftPanel=!1,this.showResLeftPanel=!0,this.showLeftPanel=!0,this.showAttachmentEditionPanel=!1,window.angularSignatureBookComponent={componentAfterAttach:function(t){return i.processAfterAttach(t)}}}return t.prototype.ngOnInit=function(){var t=this;this.prepareSignatureBook(),this.route.params.subscribe(function(e){t.resId=+e.resId,t.basketId=e.basketId,lockDocument(t.resId),setInterval(function(){lockDocument(t.resId)},5e4),t.http.get("index.php?display=true&page=initializeJsGlobalConfig").map(function(t){return t.json()}).subscribe(function(e){t.coreUrl=e.coreurl,t.http.get(t.coreUrl+"rest/"+t.basketId+"/signatureBook/"+t.resId).map(function(t){return t.json()}).subscribe(function(e){t.signatureBook=e,t.signatureBook.documents[0]&&(t.leftViewerLink=t.signatureBook.documents[0].viewerLink),t.signatureBook.attachments[0]&&(t.rightViewerLink=t.signatureBook.attachments[0].viewerLink),t.headerTab=1,t.leftSelectedThumbnail=0,t.rightSelectedThumbnail=0,t.showLeftPanel=!0,t.showResLeftPanel=!0,t.showTopLeftPanel=!1,t.showTopRightPanel=!1,t.showAttachmentEditionPanel=!1})})})},t.prototype.prepareSignatureBook=function(){$j("#inner_content").remove(),$j("#header").remove(),$j("#viewBasketsTitle").remove(),$j("#homePageWelcomeTitle").remove(),$j("#footer").remove(),$j("#container").width("98%")},t.prototype.changeSignatureBookLeftContent=function(t){this.headerTab=t,this.showTopLeftPanel=!1},t.prototype.changeRightViewer=function(t){0>t?this.showAttachmentEditionPanel=!0:(this.rightViewerLink=this.signatureBook.attachments[t].viewerLink,this.showAttachmentEditionPanel=!1),this.rightSelectedThumbnail=t},t.prototype.changeLeftViewer=function(t){this.leftViewerLink=this.signatureBook.documents[t].viewerLink,this.leftSelectedThumbnail=t},t.prototype.displayPanel=function(t){"TOPRIGHT"==t?this.showTopRightPanel=!this.showTopRightPanel:"TOPLEFT"==t?this.showTopLeftPanel=!this.showTopLeftPanel:"LEFT"==t?(this.showLeftPanel=!this.showLeftPanel,this.showResLeftPanel=!1):"RESLEFT"==t&&(this.showResLeftPanel=!this.showResLeftPanel)},t.prototype.prepareSignFile=function(t){0==t.res_id?this.signatureBookSignFile(t.res_id_version,1):0==t.res_id_version&&this.signatureBookSignFile(t.res_id,0)},t.prototype.signatureBookSignFile=function(t,e){var n=this,r="";0==e?r="index.php?display=true&module=visa&page=sign_file&collId=letterbox_coll&resIdMaster="+this.resId+"&id="+t:1==e?r="index.php?display=true&module=visa&page=sign_file&collId=letterbox_coll&isVersion&resIdMaster="+this.resId+"&id="+t:2==e&&(r="index.php?display=true&module=visa&page=sign_file&collId=letterbox_coll&isOutgoing&resIdMaster="+this.resId+"&id="+t),this.http.get(r).map(function(t){return t.json()}).subscribe(function(t){0==t.status?(n.rightViewerLink="index.php?display=true&module=visa&page=view_pdf_attachement&res_id_master="+n.resId+"&id="+t.new_id,n.signatureBook.attachments[n.rightSelectedThumbnail].viewerLink=n.rightViewerLink,n.signatureBook.attachments[n.rightSelectedThumbnail].status="SIGN"):alert(t.error)})},t.prototype.unsignFile=function(t){var e,n,r=this;0==t.res_id?(n=t.res_id_version,e="res_version_attachments"):0==t.res_id_version&&(n=t.res_id,e="res_attachments"),this.http.put(this.coreUrl+"rest/"+e+"/"+n+"/unsign",{},{}).map(function(t){return t.json()}).subscribe(function(t){"OK"==t.status?(r.rightViewerLink="index.php?display=true&module=visa&page=view_pdf_attachement&res_id_master="+r.resId+"&id="+n,r.signatureBook.attachments[r.rightSelectedThumbnail].viewerLink=r.rightViewerLink,r.signatureBook.attachments[r.rightSelectedThumbnail].status="A_TRA"):alert(t.error)})},t.prototype.backToBasket=function(){location.hash="",location.reload()},t.prototype.changeLocation=function(t){var e="/"+this.basketId+"/signatureBook/"+t;this.router.navigate([e])},t.prototype.validForm=function(){""!=$j("#signatureBookActions option:selected")[0].value&&(unlockDocument(this.resId),valid_action_form("empty","index.php?display=true&page=manage_action&module=core",this.signatureBook.currentAction.id,this.resId,"res_letterbox","null","letterbox_coll","page",!1,[$j("#signatureBookActions option:selected")[0].value]))},t.prototype.refreshAttachments=function(t){var e=this;this.http.get(this.coreUrl+"rest/signatureBook/"+this.resId+"/attachments").map(function(t){return t.json()}).subscribe(function(n){e.signatureBook.attachments=n,"add"==t?e.changeRightViewer(e.signatureBook.attachments.length-1):"del"==t&&e.changeRightViewer(0)})},t.prototype.processAfterAttach=function(t){var e=this;this.zone.run(function(){return e.refreshAttachments(t)})},t.prototype.addAttachmentIframe=function(){showAttachmentsForm("index.php?display=true&module=attachments&page=attachments_content&docId="+this.resId)},t.prototype.editAttachmentIframe=function(t){var e;0==t.res_id?e=t.res_id_version:0==t.res_id_version&&(e=t.res_id),modifyAttachmentsForm("index.php?display=true&module=attachments&page=attachments_content&id="+e+"&relation="+t.relation+"&docId="+this.resId,"98%","auto")},t.prototype.delAttachment=function(t){var e=this,n=confirm("Voulez-vous vraiment supprimer la pièce jointe ?");if(n){var r;0==t.res_id?r=t.res_id_version:0==t.res_id_version&&(r=t.res_id),this.http.get("index.php?display=true&module=attachments&page=del_attachment&id="+r+"&relation="+t.relation+"&rest=true").subscribe(function(){e.refreshAttachments("del")})}},t=r([o.Component({templateUrl:"js/angular/app/Views/signatureBook.html"}),i("design:paramtypes",[s.Http,u.ActivatedRoute,u.Router,o.NgZone])],t)}();n.SignatureBookComponent=p},{"@angular/core":7,"@angular/http":8,"@angular/platform-browser":10,"@angular/router":11,"rxjs/add/operator/map":22}],4:[function(t){"use strict";var e=t("@angular/platform-browser-dynamic"),n=t("@angular/core"),r=t("./app/app.module");n.enableProdMode(),e.platformBrowserDynamic().bootstrapModule(r.AppModule)},{"./app/app.module":2,"@angular/core":7,"@angular/platform-browser-dynamic":9}],5:[function(e,n,r){(function(i){!function(i,o){"object"==typeof r&&"undefined"!=typeof n?o(r,e("@angular/core")):"function"==typeof t&&t.amd?t(["exports","@angular/core"],o):o((i.ng=i.ng||{},i.ng.common=i.ng.common||{}),i.ng.core)}(this,function(t,e){"use strict";function n(t){return t.name||typeof t}function r(t){return null!=t}function o(t){return null==t}function s(t){if("string"==typeof t)return t;if(null==t)return""+t;if(t.overriddenName)return""+t.overriddenName;if(t.name)return""+t.name;var e=t.toString(),n=e.indexOf("\n");return-1===n?e:e.substring(0,n)}function a(t){return null!==t&&("function"==typeof t||"object"==typeof t)}function u(){if(!L)if(R.Symbol&&Symbol.iterator)L=Symbol.iterator;else for(var t=Object.getOwnPropertyNames(Map.prototype),e=0;e<t.length;++e){var n=t[e];"entries"!==n&&"size"!==n&&Map.prototype[n]===Map.prototype.entries&&(L=n)}return L}function c(t,e){return t&&e.startsWith(t)?e.substring(t.length):e}function p(t){return t.replace(/\/index.html$/,"")}function l(t,e,n){var r="="+t;if(e.indexOf(r)>-1)return r;if(r=n.getPluralCategory(t),e.indexOf(r)>-1)return r;if(e.indexOf("other")>-1)return"other";throw new Error('No plural message found for value "'+t+'"')}function h(t,e){"string"==typeof e&&(e=parseInt(e,10));var n=e,r=n.toString().replace(/^[^.]*\.?/,""),i=Math.floor(Math.abs(n)),o=r.length,s=parseInt(r,10),a=parseInt(n.toString().replace(/^[^.]*\.?|0+$/g,""),10)||0,u=t.split("-")[0].toLowerCase();switch(u){case"af":case"asa":case"az":case"bem":case"bez":case"bg":case"brx":case"ce":case"cgg":case"chr":case"ckb":case"ee":case"el":case"eo":case"es":case"eu":case"fo":case"fur":case"gsw":case"ha":case"haw":case"hu":case"jgo":case"jmc":case"ka":case"kk":case"kkj":case"kl":case"ks":case"ksb":case"ky":case"lb":case"lg":case"mas":case"mgo":case"ml":case"mn":case"nb":case"nd":case"ne":case"nn":case"nnh":case"nyn":case"om":case"or":case"os":case"ps":case"rm":case"rof":case"rwk":case"saq":case"seh":case"sn":case"so":case"sq":case"ta":case"te":case"teo":case"tk":case"tr":case"ug":case"uz":case"vo":case"vun":case"wae":case"xog":return 1===n?G.One:G.Other;case"agq":case"bas":case"cu":case"dav":case"dje":case"dua":case"dyo":case"ebu":case"ewo":case"guz":case"kam":case"khq":case"ki":case"kln":case"kok":case"ksf":case"lrc":case"lu":case"luo":case"luy":case"mer":case"mfe":case"mgh":case"mua":case"mzn":case"nmg":case"nus":case"qu":case"rn":case"rw":case"sbp":case"twq":case"vai":case"yav":case"yue":case"zgh":case"ak":case"ln":case"mg":case"pa":case"ti":return n===Math.floor(n)&&n>=0&&1>=n?G.One:G.Other;case"am":case"as":case"bn":case"fa":case"gu":case"hi":case"kn":case"mr":case"zu":return 0===i||1===n?G.One:G.Other;case"ar":return 0===n?G.Zero:1===n?G.One:2===n?G.Two:n%100===Math.floor(n%100)&&n%100>=3&&10>=n%100?G.Few:n%100===Math.floor(n%100)&&n%100>=11&&99>=n%100?G.Many:G.Other;case"ast":case"ca":case"de":case"en":case"et":case"fi":case"fy":case"gl":case"it":case"nl":case"sv":case"sw":case"ur":case"yi":return 1===i&&0===o?G.One:G.Other;case"be":return n%10===1&&n%100!==11?G.One:n%10===Math.floor(n%10)&&n%10>=2&&4>=n%10&&!(n%100>=12&&14>=n%100)?G.Few:n%10===0||n%10===Math.floor(n%10)&&n%10>=5&&9>=n%10||n%100===Math.floor(n%100)&&n%100>=11&&14>=n%100?G.Many:G.Other;case"br":return n%10===1&&n%100!==11&&n%100!==71&&n%100!==91?G.One:n%10===2&&n%100!==12&&n%100!==72&&n%100!==92?G.Two:n%10===Math.floor(n%10)&&(n%10>=3&&4>=n%10||n%10===9)&&!(n%100>=10&&19>=n%100||n%100>=70&&79>=n%100||n%100>=90&&99>=n%100)?G.Few:0!==n&&n%1e6===0?G.Many:G.Other;case"bs":case"hr":case"sr":return 0===o&&i%10===1&&i%100!==11||s%10===1&&s%100!==11?G.One:0===o&&i%10===Math.floor(i%10)&&i%10>=2&&4>=i%10&&!(i%100>=12&&14>=i%100)||s%10===Math.floor(s%10)&&s%10>=2&&4>=s%10&&!(s%100>=12&&14>=s%100)?G.Few:G.Other;case"cs":case"sk":return 1===i&&0===o?G.One:i===Math.floor(i)&&i>=2&&4>=i&&0===o?G.Few:0!==o?G.Many:G.Other;case"cy":return 0===n?G.Zero:1===n?G.One:2===n?G.Two:3===n?G.Few:6===n?G.Many:G.Other;case"da":return 1===n||0!==a&&(0===i||1===i)?G.One:G.Other;case"dsb":case"hsb":return 0===o&&i%100===1||s%100===1?G.One:0===o&&i%100===2||s%100===2?G.Two:0===o&&i%100===Math.floor(i%100)&&i%100>=3&&4>=i%100||s%100===Math.floor(s%100)&&s%100>=3&&4>=s%100?G.Few:G.Other;case"ff":case"fr":case"hy":case"kab":return 0===i||1===i?G.One:G.Other;case"fil":return 0===o&&(1===i||2===i||3===i)||0===o&&i%10!==4&&i%10!==6&&i%10!==9||0!==o&&s%10!==4&&s%10!==6&&s%10!==9?G.One:G.Other;case"ga":return 1===n?G.One:2===n?G.Two:n===Math.floor(n)&&n>=3&&6>=n?G.Few:n===Math.floor(n)&&n>=7&&10>=n?G.Many:G.Other;case"gd":return 1===n||11===n?G.One:2===n||12===n?G.Two:n===Math.floor(n)&&(n>=3&&10>=n||n>=13&&19>=n)?G.Few:G.Other;case"gv":return 0===o&&i%10===1?G.One:0===o&&i%10===2?G.Two:0!==o||i%100!==0&&i%100!==20&&i%100!==40&&i%100!==60&&i%100!==80?0!==o?G.Many:G.Other:G.Few;case"he":return 1===i&&0===o?G.One:2===i&&0===o?G.Two:0!==o||n>=0&&10>=n||n%10!==0?G.Other:G.Many;case"is":return 0===a&&i%10===1&&i%100!==11||0!==a?G.One:G.Other;case"ksh":return 0===n?G.Zero:1===n?G.One:G.Other;case"kw":case"naq":case"se":case"smn":return 1===n?G.One:2===n?G.Two:G.Other;case"lag":return 0===n?G.Zero:0!==i&&1!==i||0===n?G.Other:G.One;case"lt":return n%10!==1||n%100>=11&&19>=n%100?n%10===Math.floor(n%10)&&n%10>=2&&9>=n%10&&!(n%100>=11&&19>=n%100)?G.Few:0!==s?G.Many:G.Other:G.One;case"lv":case"prg":return n%10===0||n%100===Math.floor(n%100)&&n%100>=11&&19>=n%100||2===o&&s%100===Math.floor(s%100)&&s%100>=11&&19>=s%100?G.Zero:n%10===1&&n%100!==11||2===o&&s%10===1&&s%100!==11||2!==o&&s%10===1?G.One:G.Other;case"mk":return 0===o&&i%10===1||s%10===1?G.One:G.Other;case"mt":return 1===n?G.One:0===n||n%100===Math.floor(n%100)&&n%100>=2&&10>=n%100?G.Few:n%100===Math.floor(n%100)&&n%100>=11&&19>=n%100?G.Many:G.Other;case"pl":return 1===i&&0===o?G.One:0===o&&i%10===Math.floor(i%10)&&i%10>=2&&4>=i%10&&!(i%100>=12&&14>=i%100)?G.Few:0===o&&1!==i&&i%10===Math.floor(i%10)&&i%10>=0&&1>=i%10||0===o&&i%10===Math.floor(i%10)&&i%10>=5&&9>=i%10||0===o&&i%100===Math.floor(i%100)&&i%100>=12&&14>=i%100?G.Many:G.Other;case"pt":return n===Math.floor(n)&&n>=0&&2>=n&&2!==n?G.One:G.Other;case"ro":return 1===i&&0===o?G.One:0!==o||0===n||1!==n&&n%100===Math.floor(n%100)&&n%100>=1&&19>=n%100?G.Few:G.Other;case"ru":case"uk":return 0===o&&i%10===1&&i%100!==11?G.One:0===o&&i%10===Math.floor(i%10)&&i%10>=2&&4>=i%10&&!(i%100>=12&&14>=i%100)?G.Few:0===o&&i%10===0||0===o&&i%10===Math.floor(i%10)&&i%10>=5&&9>=i%10||0===o&&i%100===Math.floor(i%100)&&i%100>=11&&14>=i%100?G.Many:G.Other;case"shi":return 0===i||1===n?G.One:n===Math.floor(n)&&n>=2&&10>=n?G.Few:G.Other;case"si":return 0===n||1===n||0===i&&1===s?G.One:G.Other;case"sl":return 0===o&&i%100===1?G.One:0===o&&i%100===2?G.Two:0===o&&i%100===Math.floor(i%100)&&i%100>=3&&4>=i%100||0!==o?G.Few:G.Other;case"tzm":return n===Math.floor(n)&&n>=0&&1>=n||n===Math.floor(n)&&n>=11&&99>=n?G.One:G.Other;default:return G.Other}}function f(t){return a(t)?Array.isArray(t)||!(t instanceof Map)&&u()in t:!1}function d(t){return function(e,n){var r=t(e,n);return 1==r.length?"0"+r:r}}function y(t){return function(e,n){return t(e,n).split(" ")[1]}}function m(t){return function(e,n){return t(e,n).split(" ")[0]}}function v(t,e,n){return new Intl.DateTimeFormat(e,n).format(t).replace(/[\u200e\u200f]/g,"")}function g(t){var e={hour:"2-digit",hour12:!1,timeZoneName:t};return function(t,n){var r=v(t,n,e);return r?r.substring(3):""}}function _(t,e){return t.hour12=e,t}function b(t,e){var n={};return n[t]=2===e?"2-digit":"numeric",n}function w(t,e){var n={};return n[t]=4>e?e>1?"short":"narrow":"long",n}function E(t){return(e=Object).assign.apply(e,[{}].concat(t));var e}function S(t){return function(e,n){return v(e,n,t)}}function C(t,e,n){var r=wt[t];if(r)return r(e,n);var i=t,o=St.get(i);if(!o){o=[];var s=void 0;for(bt.exec(t);t;)s=bt.exec(t),s?(o=o.concat(s.slice(1)),t=o.pop()):(o.push(t),t=null);St.set(i,o)}return o.reduce(function(t,r){var i=Et[r];return t+(i?i(e,n):x(r))},"")}function x(t){return"''"===t?"'":t.replace(/(^'|'$)/g,"").replace(/''/g,"'")}function T(t){return null==t||""===t}function P(t){return t instanceof Date&&!isNaN(t.valueOf())}function O(t){var e=new Date(0),n=0,r=0,i=t[8]?e.setUTCFullYear:e.setFullYear,o=t[8]?e.setUTCHours:e.setHours;t[9]&&(n=A(t[9]+t[10]),r=A(t[9]+t[11])),i.call(e,A(t[1]),A(t[2])-1,A(t[3]));var s=A(t[4]||"0")-n,a=A(t[5]||"0")-r,u=A(t[6]||"0"),c=Math.round(1e3*parseFloat("0."+(t[7]||0)));return o.call(e,s,a,u,c),e}function A(t){return parseInt(t,10)}function M(t,e,n,r,i,o,s){if(void 0===o&&(o=null),void 0===s&&(s=!1),null==n)return null;if(n="string"==typeof n&&j.isNumeric(n)?+n:n,"number"!=typeof n)throw new ht(t,n);var a,u,c;if(r!==gt.Currency&&(a=1,u=0,c=3),i){var p=i.match(kt);if(null===p)throw new Error(i+" is not a valid digit info for number pipes");null!=p[1]&&(a=j.parseIntAutoRadix(p[1])),null!=p[3]&&(u=j.parseIntAutoRadix(p[3])),null!=p[5]&&(c=j.parseIntAutoRadix(p[5]))}return _t.format(n,e,r,{minimumIntegerDigits:a,minimumFractionDigits:u,maximumFractionDigits:c,currency:o,currencyAsSymbol:s})}var R,k=function(){function t(){}return t.prototype.getBaseHrefFromDOM=function(){},t.prototype.onPopState=function(){},t.prototype.onHashChange=function(){},Object.defineProperty(t.prototype,"pathname",{get:function(){return null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"search",{get:function(){return null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hash",{get:function(){return null},enumerable:!0,configurable:!0}),t.prototype.replaceState=function(){},t.prototype.pushState=function(){},t.prototype.forward=function(){},t.prototype.back=function(){},t}(),N=function(){function t(){}return t.prototype.path=function(){},t.prototype.prepareExternalUrl=function(){},t.prototype.pushState=function(){},t.prototype.replaceState=function(){},t.prototype.forward=function(){},t.prototype.back=function(){},t.prototype.onPopState=function(){},t.prototype.getBaseHref=function(){},t}(),I=new e.OpaqueToken("appBaseHref");R="undefined"==typeof window?"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:i:window;var D=R;D.assert=function(){};var j=function(){function t(){}return t.parseIntAutoRadix=function(t){var e=parseInt(t);if(isNaN(e))throw new Error("Invalid integer literal when parsing "+t);return e},t.isNumeric=function(t){return!isNaN(t-parseFloat(t))},t}(),L=null,V=function(){function t(n){var r=this;this._subject=new e.EventEmitter,this._platformStrategy=n;var i=this._platformStrategy.getBaseHref();this._baseHref=t.stripTrailingSlash(p(i)),this._platformStrategy.onPopState(function(t){r._subject.emit({url:r.path(!0),pop:!0,type:t.type})})}return t.prototype.path=function(t){return void 0===t&&(t=!1),this.normalize(this._platformStrategy.path(t))},t.prototype.isCurrentPathEqualTo=function(e,n){return void 0===n&&(n=""),this.path()==this.normalize(e+t.normalizeQueryParams(n))},t.prototype.normalize=function(e){return t.stripTrailingSlash(c(this._baseHref,p(e)))},t.prototype.prepareExternalUrl=function(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)},t.prototype.go=function(t,e){void 0===e&&(e=""),this._platformStrategy.pushState(null,"",t,e)},t.prototype.replaceState=function(t,e){void 0===e&&(e=""),this._platformStrategy.replaceState(null,"",t,e)},t.prototype.forward=function(){this._platformStrategy.forward()},t.prototype.back=function(){this._platformStrategy.back()},t.prototype.subscribe=function(t,e,n){return void 0===e&&(e=null),void 0===n&&(n=null),this._subject.subscribe({next:t,error:e,complete:n})},t.normalizeQueryParams=function(t){return t&&"?"!==t[0]?"?"+t:t},t.joinWithSlash=function(t,e){if(0==t.length)return e;if(0==e.length)return t;var n=0;return t.endsWith("/")&&n++,e.startsWith("/")&&n++,2==n?t+e.substring(1):1==n?t+e:t+"/"+e},t.stripTrailingSlash=function(t){return t.replace(/\/$/,"")},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[{type:N}]},t}(),F=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},U=function(t){function n(e,n){t.call(this),this._platformLocation=e,this._baseHref="",r(n)&&(this._baseHref=n)}return F(n,t),n.prototype.onPopState=function(t){this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t)},n.prototype.getBaseHref=function(){return this._baseHref},n.prototype.path=function(t){void 0===t&&(t=!1);var e=this._platformLocation.hash;return r(e)||(e="#"),e.length>0?e.substring(1):e},n.prototype.prepareExternalUrl=function(t){var e=V.joinWithSlash(this._baseHref,t);return e.length>0?"#"+e:e},n.prototype.pushState=function(t,e,n,r){var i=this.prepareExternalUrl(n+V.normalizeQueryParams(r));0==i.length&&(i=this._platformLocation.pathname),this._platformLocation.pushState(t,e,i)},n.prototype.replaceState=function(t,e,n,r){var i=this.prepareExternalUrl(n+V.normalizeQueryParams(r));0==i.length&&(i=this._platformLocation.pathname),this._platformLocation.replaceState(t,e,i)},n.prototype.forward=function(){this._platformLocation.forward()},n.prototype.back=function(){this._platformLocation.back()},n.decorators=[{type:e.Injectable}],n.ctorParameters=function(){return[{type:k},{type:void 0,decorators:[{type:e.Optional},{type:e.Inject,args:[I]}]}]},n}(N),B=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},H=function(t){function n(e,n){if(t.call(this),this._platformLocation=e,o(n)&&(n=this._platformLocation.getBaseHrefFromDOM()),o(n))throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=n}return B(n,t),n.prototype.onPopState=function(t){this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t)},n.prototype.getBaseHref=function(){return this._baseHref},n.prototype.prepareExternalUrl=function(t){return V.joinWithSlash(this._baseHref,t)},n.prototype.path=function(t){void 0===t&&(t=!1);var e=this._platformLocation.pathname+V.normalizeQueryParams(this._platformLocation.search),n=this._platformLocation.hash;return n&&t?""+e+n:e},n.prototype.pushState=function(t,e,n,r){var i=this.prepareExternalUrl(n+V.normalizeQueryParams(r));this._platformLocation.pushState(t,e,i)},n.prototype.replaceState=function(t,e,n,r){var i=this.prepareExternalUrl(n+V.normalizeQueryParams(r));this._platformLocation.replaceState(t,e,i)},n.prototype.forward=function(){this._platformLocation.forward()},n.prototype.back=function(){this._platformLocation.back()},n.decorators=[{type:e.Injectable}],n.ctorParameters=function(){return[{type:k},{type:void 0,decorators:[{type:e.Optional},{type:e.Inject,args:[I]}]}]},n}(N),q=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},z=function(){function t(){}return t.prototype.getPluralCategory=function(){},t}(),W=function(t){function n(e){t.call(this),this._locale=e}return q(n,t),n.prototype.getPluralCategory=function(t){var e=h(this._locale,t);switch(e){case G.Zero:return"zero";case G.One:return"one";case G.Two:return"two";case G.Few:return"few";case G.Many:return"many";default:return"other"}},n.decorators=[{type:e.Injectable}],n.ctorParameters=function(){return[{type:void 0,decorators:[{type:e.Inject,args:[e.LOCALE_ID]}]}]},n}(z),G={};G.Zero=0,G.One=1,G.Two=2,G.Few=3,G.Many=4,G.Other=5,G[G.Zero]="Zero",G[G.One]="One",G[G.Two]="Two",G[G.Few]="Few",G[G.Many]="Many",G[G.Other]="Other";var K=function(){function t(t,e,n,r){this._iterableDiffers=t,this._keyValueDiffers=e,this._ngEl=n,this._renderer=r,this._initialClasses=[]}return Object.defineProperty(t.prototype,"klass",{set:function(t){this._applyInitialClasses(!0),this._initialClasses="string"==typeof t?t.split(/\s+/):[],this._applyInitialClasses(!1),this._applyClasses(this._rawClass,!1)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClass",{set:function(t){this._cleanupClasses(this._rawClass),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof t?t.split(/\s+/):t,this._rawClass&&(f(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create(null):this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create(null))},enumerable:!0,configurable:!0}),t.prototype.ngDoCheck=function(){if(this._iterableDiffer){var t=this._iterableDiffer.diff(this._rawClass);t&&this._applyIterableChanges(t)}else if(this._keyValueDiffer){var t=this._keyValueDiffer.diff(this._rawClass);t&&this._applyKeyValueChanges(t)}},t.prototype._cleanupClasses=function(t){this._applyClasses(t,!0),this._applyInitialClasses(!1)},t.prototype._applyKeyValueChanges=function(t){var e=this;t.forEachAddedItem(function(t){return e._toggleClass(t.key,t.currentValue)}),t.forEachChangedItem(function(t){return e._toggleClass(t.key,t.currentValue)}),t.forEachRemovedItem(function(t){t.previousValue&&e._toggleClass(t.key,!1)})},t.prototype._applyIterableChanges=function(t){var e=this;t.forEachAddedItem(function(t){if("string"!=typeof t.item)throw new Error("NgClass can only toggle CSS classes expressed as strings, got "+s(t.item));e._toggleClass(t.item,!0)}),t.forEachRemovedItem(function(t){return e._toggleClass(t.item,!1)})},t.prototype._applyInitialClasses=function(t){var e=this;this._initialClasses.forEach(function(n){return e._toggleClass(n,!t)})},t.prototype._applyClasses=function(t,e){var n=this;t&&(Array.isArray(t)||t instanceof Set?t.forEach(function(t){return n._toggleClass(t,!e)}):Object.keys(t).forEach(function(r){null!=t[r]&&n._toggleClass(r,!e)}))},t.prototype._toggleClass=function(t,e){var n=this;t=t.trim(),t&&t.split(/\s+/g).forEach(function(t){n._renderer.setElementClass(n._ngEl.nativeElement,t,e)})},t.decorators=[{type:e.Directive,args:[{selector:"[ngClass]"}]}],t.ctorParameters=function(){return[{type:e.IterableDiffers},{type:e.KeyValueDiffers},{type:e.ElementRef},{type:e.Renderer}]},t.propDecorators={klass:[{type:e.Input,args:["class"]}],ngClass:[{type:e.Input}]},t}(),X=function(){function t(t,e,n){this.$implicit=t,this.index=e,this.count=n}return Object.defineProperty(t.prototype,"first",{get:function(){return 0===this.index},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"last",{get:function(){return this.index===this.count-1},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"even",{get:function(){return this.index%2===0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"odd",{get:function(){return!this.even},enumerable:!0,configurable:!0}),t}(),Q=function(){function t(t,e,n,r){this._viewContainer=t,this._template=e,this._differs=n,this._cdr=r,this._differ=null}return Object.defineProperty(t.prototype,"ngForTrackBy",{get:function(){return this._trackByFn},set:function(t){e.isDevMode()&&null!=t&&"function"!=typeof t&&console&&console.warn&&console.warn("trackBy must be a function, but received "+JSON.stringify(t)+". See https://angular.io/docs/ts/latest/api/common/index/NgFor-directive.html#!#change-propagation for more information."),this._trackByFn=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngForTemplate",{set:function(t){t&&(this._template=t)},enumerable:!0,configurable:!0}),t.prototype.ngOnChanges=function(t){if("ngForOf"in t){var e=t.ngForOf.currentValue;if(!this._differ&&e)try{this._differ=this._differs.find(e).create(this._cdr,this.ngForTrackBy)}catch(r){throw new Error("Cannot find a differ supporting object '"+e+"' of type '"+n(e)+"'. NgFor only supports binding to Iterables such as Arrays.")}}},t.prototype.ngDoCheck=function(){if(this._differ){var t=this._differ.diff(this.ngForOf);t&&this._applyChanges(t)}},t.prototype._applyChanges=function(t){var e=this,n=[];t.forEachOperation(function(t,r,i){if(null==t.previousIndex){var o=e._viewContainer.createEmbeddedView(e._template,new X(null,null,null),i),s=new Y(t,o);n.push(s)}else if(null==i)e._viewContainer.remove(r);else{var o=e._viewContainer.get(r);e._viewContainer.move(o,i);var s=new Y(t,o);n.push(s)}});for(var r=0;r<n.length;r++)this._perViewChange(n[r].view,n[r].record);for(var r=0,i=this._viewContainer.length;i>r;r++){var o=this._viewContainer.get(r);o.context.index=r,o.context.count=i}t.forEachIdentityChange(function(t){var n=e._viewContainer.get(t.currentIndex);n.context.$implicit=t.item})},t.prototype._perViewChange=function(t,e){t.context.$implicit=e.item},t.decorators=[{type:e.Directive,args:[{selector:"[ngFor][ngForOf]"}]}],t.ctorParameters=function(){return[{type:e.ViewContainerRef},{type:e.TemplateRef},{type:e.IterableDiffers},{type:e.ChangeDetectorRef}]},t.propDecorators={ngForOf:[{type:e.Input}],ngForTrackBy:[{type:e.Input}],ngForTemplate:[{type:e.Input}]},t}(),Y=function(){function t(t,e){this.record=t,this.view=e}return t}(),$=function(){function t(t,e){this._viewContainer=t,this._template=e,this._hasView=!1}return Object.defineProperty(t.prototype,"ngIf",{set:function(t){t&&!this._hasView?(this._hasView=!0,this._viewContainer.createEmbeddedView(this._template)):!t&&this._hasView&&(this._hasView=!1,this._viewContainer.clear())},enumerable:!0,configurable:!0}),t.decorators=[{type:e.Directive,args:[{selector:"[ngIf]"}]}],t.ctorParameters=function(){return[{type:e.ViewContainerRef},{type:e.TemplateRef}]},t.propDecorators={ngIf:[{type:e.Input}]},t}(),Z=function(){function t(t,e){this._viewContainerRef=t,this._templateRef=e,this._created=!1}return t.prototype.create=function(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)},t.prototype.destroy=function(){this._created=!1,this._viewContainerRef.clear()},t.prototype.enforceState=function(t){t&&!this._created?this.create():!t&&this._created&&this.destroy()},t}(),J=function(){function t(){this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}return Object.defineProperty(t.prototype,"ngSwitch",{set:function(t){this._ngSwitch=t,0===this._caseCount&&this._updateDefaultCases(!0);
-
-},enumerable:!0,configurable:!0}),t.prototype._addCase=function(){return this._caseCount++},t.prototype._addDefault=function(t){this._defaultViews||(this._defaultViews=[]),this._defaultViews.push(t)},t.prototype._matchCase=function(t){var e=t==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||e,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),e},t.prototype._updateDefaultCases=function(t){if(this._defaultViews&&t!==this._defaultUsed){this._defaultUsed=t;for(var e=0;e<this._defaultViews.length;e++){var n=this._defaultViews[e];n.enforceState(t)}}},t.decorators=[{type:e.Directive,args:[{selector:"[ngSwitch]"}]}],t.ctorParameters=function(){return[]},t.propDecorators={ngSwitch:[{type:e.Input}]},t}(),tt=function(){function t(t,e,n){this.ngSwitch=n,n._addCase(),this._view=new Z(t,e)}return t.prototype.ngDoCheck=function(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))},t.decorators=[{type:e.Directive,args:[{selector:"[ngSwitchCase]"}]}],t.ctorParameters=function(){return[{type:e.ViewContainerRef},{type:e.TemplateRef},{type:J,decorators:[{type:e.Host}]}]},t.propDecorators={ngSwitchCase:[{type:e.Input}]},t}(),et=function(){function t(t,e,n){n._addDefault(new Z(t,e))}return t.decorators=[{type:e.Directive,args:[{selector:"[ngSwitchDefault]"}]}],t.ctorParameters=function(){return[{type:e.ViewContainerRef},{type:e.TemplateRef},{type:J,decorators:[{type:e.Host}]}]},t}(),nt=function(){function t(t){this._localization=t,this._caseViews={}}return Object.defineProperty(t.prototype,"ngPlural",{set:function(t){this._switchValue=t,this._updateView()},enumerable:!0,configurable:!0}),t.prototype.addCase=function(t,e){this._caseViews[t]=e},t.prototype._updateView=function(){this._clearViews();var t=Object.keys(this._caseViews),e=l(this._switchValue,t,this._localization);this._activateView(this._caseViews[e])},t.prototype._clearViews=function(){this._activeView&&this._activeView.destroy()},t.prototype._activateView=function(t){t&&(this._activeView=t,this._activeView.create())},t.decorators=[{type:e.Directive,args:[{selector:"[ngPlural]"}]}],t.ctorParameters=function(){return[{type:z}]},t.propDecorators={ngPlural:[{type:e.Input}]},t}(),rt=function(){function t(t,e,n,r){this.value=t;var i=!isNaN(Number(t));r.addCase(i?"="+t:t,new Z(n,e))}return t.decorators=[{type:e.Directive,args:[{selector:"[ngPluralCase]"}]}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:e.Attribute,args:["ngPluralCase"]}]},{type:e.TemplateRef},{type:e.ViewContainerRef},{type:nt,decorators:[{type:e.Host}]}]},t}(),it=function(){function t(t,e,n){this._differs=t,this._ngEl=e,this._renderer=n}return Object.defineProperty(t.prototype,"ngStyle",{set:function(t){this._ngStyle=t,!this._differ&&t&&(this._differ=this._differs.find(t).create(null))},enumerable:!0,configurable:!0}),t.prototype.ngDoCheck=function(){if(this._differ){var t=this._differ.diff(this._ngStyle);t&&this._applyChanges(t)}},t.prototype._applyChanges=function(t){var e=this;t.forEachRemovedItem(function(t){return e._setStyle(t.key,null)}),t.forEachAddedItem(function(t){return e._setStyle(t.key,t.currentValue)}),t.forEachChangedItem(function(t){return e._setStyle(t.key,t.currentValue)})},t.prototype._setStyle=function(t,e){var n=t.split("."),r=n[0],i=n[1];e=e&&i?""+e+i:e,this._renderer.setElementStyle(this._ngEl.nativeElement,r,e)},t.decorators=[{type:e.Directive,args:[{selector:"[ngStyle]"}]}],t.ctorParameters=function(){return[{type:e.KeyValueDiffers},{type:e.ElementRef},{type:e.Renderer}]},t.propDecorators={ngStyle:[{type:e.Input}]},t}(),ot=function(){function t(t){this._viewContainerRef=t}return Object.defineProperty(t.prototype,"ngOutletContext",{set:function(t){this._context=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngTemplateOutlet",{set:function(t){this._templateRef=t},enumerable:!0,configurable:!0}),t.prototype.ngOnChanges=function(){this._viewRef&&this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._viewRef)),this._templateRef&&(this._viewRef=this._viewContainerRef.createEmbeddedView(this._templateRef,this._context))},t.decorators=[{type:e.Directive,args:[{selector:"[ngTemplateOutlet]"}]}],t.ctorParameters=function(){return[{type:e.ViewContainerRef}]},t.propDecorators={ngOutletContext:[{type:e.Input}],ngTemplateOutlet:[{type:e.Input}]},t}(),st=[K,Q,$,ot,it,J,tt,et,nt,rt],at=e.__core_private__.isPromise,ut=e.__core_private__.isObservable,ct=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},pt=function(t){function e(e){t.call(this,e);var n=new Error(e);this._nativeError=n}return ct(e,t),Object.defineProperty(e.prototype,"message",{get:function(){return this._nativeError.message},set:function(t){this._nativeError.message=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"name",{get:function(){return this._nativeError.name},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"stack",{get:function(){return this._nativeError.stack},set:function(t){this._nativeError.stack=t},enumerable:!0,configurable:!0}),e.prototype.toString=function(){return this._nativeError.toString()},e}(Error),lt=(function(t){function e(e,n){t.call(this,e+" caused by: "+(n instanceof Error?n.message:n)),this.originalError=n}return ct(e,t),Object.defineProperty(e.prototype,"stack",{get:function(){return(this.originalError instanceof Error?this.originalError:this._nativeError).stack},enumerable:!0,configurable:!0}),e}(pt),this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),ht=function(t){function e(e,n){t.call(this,"Invalid argument '"+n+"' for pipe '"+s(e)+"'")}return lt(e,t),e}(pt),ft=function(){function t(){}return t.prototype.createSubscription=function(t,e){return t.subscribe({next:e,error:function(t){throw t}})},t.prototype.dispose=function(t){t.unsubscribe()},t.prototype.onDestroy=function(t){t.unsubscribe()},t}(),dt=function(){function t(){}return t.prototype.createSubscription=function(t,e){return t.then(e,function(t){throw t})},t.prototype.dispose=function(){},t.prototype.onDestroy=function(){},t}(),yt=new dt,mt=new ft,vt=function(){function t(t){this._ref=t,this._latestValue=null,this._latestReturnedValue=null,this._subscription=null,this._obj=null,this._strategy=null}return t.prototype.ngOnDestroy=function(){this._subscription&&this._dispose()},t.prototype.transform=function(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue===this._latestReturnedValue?this._latestReturnedValue:(this._latestReturnedValue=this._latestValue,e.WrappedValue.wrap(this._latestValue)):(t&&this._subscribe(t),this._latestReturnedValue=this._latestValue,this._latestValue)},t.prototype._subscribe=function(t){var e=this;this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,function(n){return e._updateLatestValue(t,n)})},t.prototype._selectStrategy=function(e){if(at(e))return yt;if(ut(e))return mt;throw new ht(t,e)},t.prototype._dispose=function(){this._strategy.dispose(this._subscription),this._latestValue=null,this._latestReturnedValue=null,this._subscription=null,this._obj=null},t.prototype._updateLatestValue=function(t,e){t===this._obj&&(this._latestValue=e,this._ref.markForCheck())},t.decorators=[{type:e.Pipe,args:[{name:"async",pure:!1}]}],t.ctorParameters=function(){return[{type:e.ChangeDetectorRef}]},t}(),gt={};gt.Decimal=0,gt.Percent=1,gt.Currency=2,gt[gt.Decimal]="Decimal",gt[gt.Percent]="Percent",gt[gt.Currency]="Currency";var _t=function(){function t(){}return t.format=function(t,e,n,r){var i=void 0===r?{}:r,o=i.minimumIntegerDigits,s=i.minimumFractionDigits,a=i.maximumFractionDigits,u=i.currency,c=i.currencyAsSymbol,p=void 0===c?!1:c,l={minimumIntegerDigits:o,minimumFractionDigits:s,maximumFractionDigits:a,style:gt[n].toLowerCase()};return n==gt.Currency&&(l.currency=u,l.currencyDisplay=p?"symbol":"code"),new Intl.NumberFormat(e,l).format(t)},t}(),bt=/((?:[^yMLdHhmsazZEwGjJ']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|L+|d+|H+|h+|J+|j+|m+|s+|a|z|Z|G+|w+))(.*)/,wt={yMMMdjms:S(E([b("year",1),w("month",3),b("day",1),b("hour",1),b("minute",1),b("second",1)])),yMdjm:S(E([b("year",1),b("month",1),b("day",1),b("hour",1),b("minute",1)])),yMMMMEEEEd:S(E([b("year",1),w("month",4),w("weekday",4),b("day",1)])),yMMMMd:S(E([b("year",1),w("month",4),b("day",1)])),yMMMd:S(E([b("year",1),w("month",3),b("day",1)])),yMd:S(E([b("year",1),b("month",1),b("day",1)])),jms:S(E([b("hour",1),b("second",1),b("minute",1)])),jm:S(E([b("hour",1),b("minute",1)]))},Et={yyyy:S(b("year",4)),yy:S(b("year",2)),y:S(b("year",1)),MMMM:S(w("month",4)),MMM:S(w("month",3)),MM:S(b("month",2)),M:S(b("month",1)),LLLL:S(w("month",4)),L:S(w("month",1)),dd:S(b("day",2)),d:S(b("day",1)),HH:d(m(S(_(b("hour",2),!1)))),H:m(S(_(b("hour",1),!1))),hh:d(m(S(_(b("hour",2),!0)))),h:m(S(_(b("hour",1),!0))),jj:S(b("hour",2)),j:S(b("hour",1)),mm:d(S(b("minute",2))),m:S(b("minute",1)),ss:d(S(b("second",2))),s:S(b("second",1)),sss:S(b("second",3)),EEEE:S(w("weekday",4)),EEE:S(w("weekday",3)),EE:S(w("weekday",2)),E:S(w("weekday",1)),a:y(S(_(b("hour",1),!0))),Z:g("short"),z:g("long"),ww:S({}),w:S({}),G:S(w("era",1)),GG:S(w("era",2)),GGG:S(w("era",3)),GGGG:S(w("era",4))},St=new Map,Ct=function(){function t(){}return t.format=function(t,e,n){return C(n,t,e)},t}(),xt=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,Tt=function(){function t(t){this._locale=t}return t.prototype.transform=function(e,n){void 0===n&&(n="mediumDate");var r;if(T(e)||e!==e)return null;if("string"==typeof e&&(e=e.trim()),P(e))r=e;else if(j.isNumeric(e))r=new Date(parseFloat(e));else if("string"==typeof e&&/^(\d{4}-\d{1,2}-\d{1,2})$/.test(e)){var i=e.split("-").map(function(t){return parseInt(t,10)}),o=i[0],s=i[1],a=i[2];r=new Date(o,s-1,a)}else r=new Date(e);if(!P(r)){var u=void 0;if("string"!=typeof e||!(u=e.match(xt)))throw new ht(t,e);r=O(u)}return Ct.format(r,this._locale,t._ALIASES[n]||n)},t._ALIASES={medium:"yMMMdjms","short":"yMdjm",fullDate:"yMMMMEEEEd",longDate:"yMMMMd",mediumDate:"yMMMd",shortDate:"yMd",mediumTime:"jms",shortTime:"jm"},t.decorators=[{type:e.Pipe,args:[{name:"date",pure:!0}]}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:e.Inject,args:[e.LOCALE_ID]}]}]},t}(),Pt=/#/g,Ot=function(){function t(t){this._localization=t}return t.prototype.transform=function(e,n){if(null==e)return"";if("object"!=typeof n||null===n)throw new ht(t,n);var r=l(e,Object.keys(n),this._localization);return n[r].replace(Pt,e.toString())},t.decorators=[{type:e.Pipe,args:[{name:"i18nPlural",pure:!0}]}],t.ctorParameters=function(){return[{type:z}]},t}(),At=function(){function t(){}return t.prototype.transform=function(e,n){if(null==e)return"";if("object"!=typeof n||"string"!=typeof e)throw new ht(t,n);return n.hasOwnProperty(e)?n[e]:n.hasOwnProperty("other")?n.other:""},t.decorators=[{type:e.Pipe,args:[{name:"i18nSelect",pure:!0}]}],t.ctorParameters=function(){return[]},t}(),Mt=function(){function t(){}return t.prototype.transform=function(t){return JSON.stringify(t,null,2)},t.decorators=[{type:e.Pipe,args:[{name:"json",pure:!1}]}],t.ctorParameters=function(){return[]},t}(),Rt=function(){function t(){}return t.prototype.transform=function(e){if(o(e))return e;if("string"!=typeof e)throw new ht(t,e);return e.toLowerCase()},t.decorators=[{type:e.Pipe,args:[{name:"lowercase"}]}],t.ctorParameters=function(){return[]},t}(),kt=/^(\d+)?\.((\d+)(-(\d+))?)?$/,Nt=function(){function t(t){this._locale=t}return t.prototype.transform=function(e,n){return void 0===n&&(n=null),M(t,this._locale,e,gt.Decimal,n)},t.decorators=[{type:e.Pipe,args:[{name:"number"}]}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:e.Inject,args:[e.LOCALE_ID]}]}]},t}(),It=function(){function t(t){this._locale=t}return t.prototype.transform=function(e,n){return void 0===n&&(n=null),M(t,this._locale,e,gt.Percent,n)},t.decorators=[{type:e.Pipe,args:[{name:"percent"}]}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:e.Inject,args:[e.LOCALE_ID]}]}]},t}(),Dt=function(){function t(t){this._locale=t}return t.prototype.transform=function(e,n,r,i){return void 0===n&&(n="USD"),void 0===r&&(r=!1),void 0===i&&(i=null),M(t,this._locale,e,gt.Currency,i,n,r)},t.decorators=[{type:e.Pipe,args:[{name:"currency"}]}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:e.Inject,args:[e.LOCALE_ID]}]}]},t}(),jt=function(){function t(){}return t.prototype.transform=function(e,n,r){if(null==e)return e;if(!this.supports(e))throw new ht(t,e);return e.slice(n,r)},t.prototype.supports=function(t){return"string"==typeof t||Array.isArray(t)},t.decorators=[{type:e.Pipe,args:[{name:"slice",pure:!1}]}],t.ctorParameters=function(){return[]},t}(),Lt=function(){function t(){}return t.prototype.transform=function(e){if(o(e))return e;if("string"!=typeof e)throw new ht(t,e);return e.toUpperCase()},t.decorators=[{type:e.Pipe,args:[{name:"uppercase"}]}],t.ctorParameters=function(){return[]},t}(),Vt=[vt,Lt,Rt,Mt,jt,Nt,It,Dt,Tt,Ot,At],Ft=function(){function t(){}return t.decorators=[{type:e.NgModule,args:[{declarations:[st,Vt],exports:[st,Vt],providers:[{provide:z,useClass:W}]}]}],t.ctorParameters=function(){return[]},t}(),Ut=new e.Version("2.4.9");t.NgLocalization=z,t.CommonModule=Ft,t.NgClass=K,t.NgFor=Q,t.NgIf=$,t.NgPlural=nt,t.NgPluralCase=rt,t.NgStyle=it,t.NgSwitch=J,t.NgSwitchCase=tt,t.NgSwitchDefault=et,t.NgTemplateOutlet=ot,t.AsyncPipe=vt,t.DatePipe=Tt,t.I18nPluralPipe=Ot,t.I18nSelectPipe=At,t.JsonPipe=Mt,t.LowerCasePipe=Rt,t.CurrencyPipe=Dt,t.DecimalPipe=Nt,t.PercentPipe=It,t.SlicePipe=jt,t.UpperCasePipe=Lt,t.VERSION=Ut,t.Version=e.Version,t.PlatformLocation=k,t.LocationStrategy=N,t.APP_BASE_HREF=I,t.HashLocationStrategy=U,t.PathLocationStrategy=H,t.Location=V})}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"@angular/core":7}],6:[function(e,n,r){!function(i,o){"object"==typeof r&&"undefined"!=typeof n?o(r,e("@angular/core")):"function"==typeof t&&t.amd?t(["exports","@angular/core"],o):o((i.ng=i.ng||{},i.ng.compiler=i.ng.compiler||{}),i.ng.core)}(this,function(t,e){"use strict";function n(t,e,n){void 0===n&&(n=null);var r=[],i=t.visit?function(e){return t.visit(e,n)||e.visit(t,n)}:function(e){return e.visit(t,n)};return e.forEach(function(t){var e=i(t);e&&r.push(e)}),r}function r(t){return null!=t}function i(t){return null==t}function o(t){return"object"==typeof t&&null!==t&&Object.getPrototypeOf(t)===eo}function s(t){if("string"==typeof t)return t;if(null==t)return""+t;if(t.overriddenName)return""+t.overriddenName;if(t.name)return""+t.name;var e=t.toString(),n=e.indexOf("\n");return-1===n?e:e.substring(0,n)}function a(t){return null!==t&&("function"==typeof t||"object"==typeof t)}function u(t){return!a(t)}function c(t){return t.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function p(t){if(":"!=t[0])return[null,t];var e=t.indexOf(":",1);if(-1==e)throw new Error('Unsupported format "'+t+'" expecting ":namespace:name"');return[t.slice(1,e),t.slice(e+1)]}function l(t){return null===t?null:p(t)[0]}function h(t,e){return t?":"+t+":"+e:e}function f(t){return Qo[t.toLowerCase()]||Yo}function d(t){return t.replace(ss,function(){for(var t=[],e=0;e<arguments.length;e++)t[e-0]=arguments[e];return t[1].toUpperCase()})}function y(t,e){return v(t,":",e)}function m(t,e){return v(t,".",e)}function v(t,e,n){var r=t.indexOf(e);return-1==r?n:[t.slice(0,r).trim(),t.slice(r+1).trim()]}function g(t,e,n){return Array.isArray(t)?e.visitArray(t,n):o(t)?e.visitStringMap(t,n):null==t||u(t)?e.visitPrimitive(t,n):e.visitOther(t,n)}function _(t){return t.replace(/\W/g,"_")}function b(t){if(!t||!t.reference)return null;var e=t.reference;if(e instanceof Ji)return e.name;if(e.__anonymousType)return e.__anonymousType;var n=s(e);return n.indexOf("(")>=0?(n="anonymous_"+Ss++,e.__anonymousType=n):n=_(n),n}function w(t){var e=t.reference;return e instanceof Ji?e.filePath:Po.importUri(e)}function E(t){return r(t.value)?_(t.value):b(t.identifier)}function S(t){return r(t.identifier)?t.identifier.reference:t.value}function C(t,n){var r=Zo.parse(n.selector)[0].getMatchingElementTemplate();return Ps.create({isHost:!0,type:{reference:t,diDeps:[],lifecycleHooks:[]},template:new Ts({encapsulation:e.ViewEncapsulation.None,template:r,templateUrl:"",styles:[],styleUrls:[],ngContentSelectors:[],animations:[]}),changeDetection:e.ChangeDetectionStrategy.Default,inputs:[],outputs:[],host:{},isComponent:!0,selector:"*",providers:[],viewProviders:[],queries:[],viewQueries:[]})}function x(t){return t||[]}function T(t){return t>=Ns&&Vs>=t||t==Ra}function P(t){return t>=sa&&aa>=t}function O(t){return t>=ga&&Pa>=t||t>=ua&&ha>=t}function A(t){return t>=ga&&ba>=t||t>=ua&&pa>=t||P(t)}function M(){return function(t){return t}}function R(t,n){if(e.isDevMode()&&!i(n)){if(!Array.isArray(n))throw new Error("Expected '"+t+"' to be an array of strings.");for(var r=0;r<n.length;r+=1)if("string"!=typeof n[r])throw new Error("Expected '"+t+"' to be an array of strings.")}}function k(t,n){if(r(n)&&(!Array.isArray(n)||2!=n.length))throw new Error("Expected '"+t+"' to be an array, [start, end].");if(e.isDevMode()&&!i(n)){var o=n[0],s=n[1];Na.forEach(function(t){if(t.test(o)||t.test(s))throw new Error("['"+o+"', '"+s+"'] contains unusable interpolation symbol.")})}}function N(t,e){return new du(t,lu.Character,e,String.fromCharCode(e))}function I(t,e){return new du(t,lu.Identifier,0,e)}function D(t,e){return new du(t,lu.Keyword,0,e)}function j(t,e){return new du(t,lu.Operator,0,e)}function L(t,e){return new du(t,lu.String,0,e)}function V(t,e){return new du(t,lu.Number,e,"")}function F(t,e){return new du(t,lu.Error,0,e)}function U(t){return t>=ga&&Pa>=t||t>=ua&&ha>=t||t==va||t==Hs}function B(t){if(0==t.length)return!1;var e=new mu(t);if(!U(e.peek))return!1;for(e.advance();e.peek!==ks;){if(!H(e.peek))return!1;e.advance()}return!0}function H(t){return O(t)||P(t)||t==va||t==Hs}function q(t){return t==_a||t==ca}function z(t){return t==$s||t==Qs}function W(t){return t===Ws||t===Us||t===ka}function G(t){switch(t){case wa:return Is;case ba:return js;case Ea:return Ls;case Sa:return Ns;case xa:return Ds;default:return t}}function K(t){var e=c(t.start)+"([\\s\\S]*?)"+c(t.end);return new RegExp(e,"g")}function X(t,e,n){void 0===n&&(n=null);var r=[],i=t.visit?function(e){return t.visit(e,n)||e.visit(t,n)}:function(e){return e.visit(t,n)};return e.forEach(function(t){var e=i(t);e&&r.push(e)}),r}function Q(t,e,n,r,i){return void 0===r&&(r=!1),void 0===i&&(i=Da),new Hu(new xu(t,e),n,r,i).tokenize()}function Y(t){var e=t===ks?"EOF":String.fromCharCode(t);return'Unexpected character "'+e+'"'}function $(t){return'Unknown entity "'+t+'" - use the "&#<decimal>;" or  "&#x<hex>;" syntax'}function Z(t){return!T(t)||t===ks}function J(t){return T(t)||t===ia||t===Js||t===Ws||t===Us||t===ra}function tt(t){return(ga>t||t>Pa)&&(ua>t||t>ha)&&(sa>t||t>aa)}function et(t){return t==ea||t==ks||!A(t)}function nt(t){return t==ea||t==ks||!O(t)}function rt(t,e,n){var r=n?t.indexOf(n.start,e)==e:!1;return t.charCodeAt(e)==Oa&&!r}function it(t){return t===ra||O(t)}function ot(t,e){return st(t)==st(e)}function st(t){return t>=ga&&Pa>=t?t-ga+ua:t}function at(t){for(var e,n=[],r=0;r<t.length;r++){var i=t[r];e&&e.type==ju.TEXT&&i.type==ju.TEXT?(e.parts[0]+=i.parts[0],e.sourceSpan.end=i.sourceSpan.end):(e=i,n.push(e))}return n}function ut(t,e){return t.length>0&&t[t.length-1]===e}function ct(t){var e=new ic(rc,t);return function(t,n,r){return e.toI18nMessage(t,n,r)}}function pt(t){return t.split(oc)[1]}function lt(t,e,n,r){var i=new fc(n,r);return i.extract(t,e)}function ht(t,e,n,r,i){var o=new fc(r,i);return o.merge(t,e,n)}function ft(t){return t instanceof Iu&&t.value&&t.value.startsWith("i18n")}function dt(t){return t instanceof Iu&&t.value&&"/i18n"===t.value}function yt(t){return t.attrs.find(function(t){return t.name===uc})||null}function mt(t){if(!t)return["",""];var e=t.indexOf("|");return-1==e?["",t]:[t.slice(0,e),t.slice(e+1)]}function vt(){return yc}function gt(t){return wt(bt(t.nodes).join("")+("["+t.meaning+"]"))}function _t(t){var e=new wc,n=t.nodes.map(function(t){return t.visit(e,null)});return Ct(n.join(""),t.meaning)}function bt(t){return t.map(function(t){return t.visit(bc,null)})}function wt(t){var e=Pt(t),n=Dt(e,Ec.Big),r=8*e.length,i=new Array(80),o=[1732584193,4023233417,2562383102,271733878,3285377520],s=o[0],a=o[1],u=o[2],c=o[3],p=o[4];n[r>>5]|=128<<24-r%32,n[(r+64>>9<<4)+15]=r;for(var l=0;l<n.length;l+=16){for(var h=[s,a,u,c,p],f=h[0],d=h[1],y=h[2],m=h[3],v=h[4],g=0;80>g;g++){i[g]=16>g?n[l+g]:Nt(i[g-3]^i[g-8]^i[g-14]^i[g-16],1);var _=Et(g,a,u,c),b=_[0],w=_[1],E=[Nt(s,5),b,p,w,i[g]].reduce(At);S=[c,u,Nt(a,30),s,E],p=S[0],c=S[1],u=S[2],a=S[3],s=S[4]}C=[At(s,f),At(a,d),At(u,y),At(c,m),At(p,v)],s=C[0],a=C[1],u=C[2],c=C[3],p=C[4]}return Ut(Vt([s,a,u,c,p]));var S,C}function Et(t,e,n,r){return 20>t?[e&n|~e&r,1518500249]:40>t?[e^n^r,1859775393]:60>t?[e&n|e&r|n&r,2400959708]:[e^n^r,3395469782]}function St(t){var e=Pt(t),n=[xt(e,0),xt(e,102072)],r=n[0],i=n[1];return 0!=r||0!=i&&1!=i||(r=319790063^r,i=-1801410264^i),[r,i]}function Ct(t,e){var n=St(t),r=n[0],i=n[1];if(e){var o=St(e),s=o[0],a=o[1];u=Rt(It([r,i],1),[s,a]),r=u[0],i=u[1]}return Bt(Vt([2147483647&r,i]));var u}function xt(t,e){var n,r=[2654435769,2654435769],i=r[0],o=r[1],s=t.length;for(n=0;s>=n+12;n+=12)i=At(i,Lt(t,n,Ec.Little)),o=At(o,Lt(t,n+4,Ec.Little)),e=At(e,Lt(t,n+8,Ec.Little)),a=Tt([i,o,e]),i=a[0],o=a[1],e=a[2];return i=At(i,Lt(t,n,Ec.Little)),o=At(o,Lt(t,n+4,Ec.Little)),e=At(e,s),e=At(e,Lt(t,n+8,Ec.Little)<<8),Tt([i,o,e])[2];var a}function Tt(t){var e=t[0],n=t[1],r=t[2];return e=kt(e,n),e=kt(e,r),e^=r>>>13,n=kt(n,r),n=kt(n,e),n^=e<<8,r=kt(r,e),r=kt(r,n),r^=n>>>13,e=kt(e,n),e=kt(e,r),e^=r>>>12,n=kt(n,r),n=kt(n,e),n^=e<<16,r=kt(r,e),r=kt(r,n),r^=n>>>5,e=kt(e,n),e=kt(e,r),e^=r>>>3,n=kt(n,r),n=kt(n,e),n^=e<<10,r=kt(r,e),r=kt(r,n),r^=n>>>15,[e,n,r]}function Pt(t){for(var e="",n=0;n<t.length;n++){var r=Ot(t,n);127>=r?e+=String.fromCharCode(r):2047>=r?e+=String.fromCharCode(192|r>>>6,128|63&r):65535>=r?e+=String.fromCharCode(224|r>>>12,128|r>>>6&63,128|63&r):2097151>=r&&(e+=String.fromCharCode(240|r>>>18,128|r>>>12&63,128|r>>>6&63,128|63&r))}return e}function Ot(t,e){if(0>e||e>=t.length)throw new Error("index="+e+' is out of range in "'+t+'"');var n=t.charCodeAt(e);if(n>=55296&&57343>=n&&t.length>e+1){var r=jt(t,e+1);if(r>=56320&&57343>=r)return 1024*(n-55296)+r-56320+65536}return n}function At(t,e){return Mt(t,e)[1]}function Mt(t,e){var n=(65535&t)+(65535&e),r=(t>>>16)+(e>>>16)+(n>>>16);return[r>>>16,r<<16|65535&n]}function Rt(t,e){var n=t[0],r=t[1],i=e[0],o=e[1],s=Mt(r,o),a=s[0],u=s[1],c=At(At(n,i),a);return[c,u]}function kt(t,e){var n=(65535&t)-(65535&e),r=(t>>16)-(e>>16)+(n>>16);return r<<16|65535&n}function Nt(t,e){return t<<e|t>>>32-e}function It(t,e){var n=t[0],r=t[1],i=n<<e|r>>>32-e,o=r<<e|n>>>32-e;return[i,o]}function Dt(t,e){for(var n=Array(t.length+3>>>2),r=0;r<n.length;r++)n[r]=Lt(t,4*r,e);return n}function jt(t,e){return e>=t.length?0:255&t.charCodeAt(e)}function Lt(t,e,n){var r=0;if(n===Ec.Big)for(var i=0;4>i;i++)r+=jt(t,e+i)<<24-8*i;else for(var i=0;4>i;i++)r+=jt(t,e+i)<<8*i;return r}function Vt(t){return t.reduce(function(t,e){return t+Ft(e)},"")}function Ft(t){for(var e="",n=0;4>n;n++)e+=String.fromCharCode(t>>>8*(3-n)&255);return e}function Ut(t){for(var e="",n=0;n<t.length;n++){var r=jt(t,n);e+=(r>>>4).toString(16)+(15&r).toString(16)}return e.toLowerCase()}function Bt(t){for(var e="",n="1",r=t.length-1;r>=0;r--)e=Ht(e,qt(jt(t,r),n)),n=qt(256,n);return e.split("").reverse().join("")}function Ht(t,e){for(var n="",r=Math.max(t.length,e.length),i=0,o=0;r>i||o;i++){var s=o+ +(t[i]||0)+ +(e[i]||0);s>=10?(o=1,n+=s-10):(o=0,n+=s)}return n}function qt(t,e){for(var n="",r=e;0!==t;t>>>=1)1&t&&(n=Ht(n,r)),r=Ht(r,r);return n}function zt(t){return t.map(function(t){return t.visit(Tc)}).join("")}function Wt(t){return kc.reduce(function(t,e){return t.replace(e[0],e[1])},t)}function Gt(t){switch(t.toLowerCase()){case"br":return"lb";case"img":return"image";default:return"x-"+t}}function Kt(t){return _t(t)}function Xt(t,e,n){return void 0===e&&(e=null),void 0===n&&(n="src"),null==e?"@angular/"+t+"/index":"@angular/"+t+"/"+n+"/"+e}function Qt(t){return Po.resolveIdentifier(t.name,t.moduleUrl,t.runtime)}function Yt(t){var e=Po.resolveIdentifier(t.name,t.moduleUrl,t.runtime);return{reference:e}}function $t(t){return{identifier:t}}function Zt(t){return $t(Yt(t))}function Jt(t,e){var n=Po.resolveEnum(Qt(t),e);return{reference:n}}function te(t){var e=new Cp;return new Ep(X(e,t),e.isExpanded,e.errors)}function ee(t,e){var n=t.cases.map(function(t){-1!=wp.indexOf(t.value)||t.value.match(/^=\d+$/)||e.push(new Sp(t.valueSourceSpan,'Plural cases should be "=<number>" or one of '+wp.join(", ")));var n=te(t.expression);return e.push.apply(e,n.errors),new Nu("template",[new ku("ngPluralCase",""+t.value,t.valueSourceSpan)],n.nodes,t.sourceSpan,t.sourceSpan,t.sourceSpan)}),r=new ku("[ngPlural]",t.switchValue,t.switchValueSourceSpan);return new Nu("ng-container",[r],n,t.sourceSpan,t.sourceSpan,t.sourceSpan)}function ne(t,e){var n=t.cases.map(function(t){var n=te(t.expression);return e.push.apply(e,n.errors),"other"===t.value?new Nu("template",[new ku("ngSwitchDefault","",t.valueSourceSpan)],n.nodes,t.sourceSpan,t.sourceSpan,t.sourceSpan):new Nu("template",[new ku("ngSwitchCase",""+t.value,t.valueSourceSpan)],n.nodes,t.sourceSpan,t.sourceSpan,t.sourceSpan)}),r=new ku("[ngSwitch]",t.switchValue,t.switchValueSourceSpan);return new Nu("ng-container",[r],n,t.sourceSpan,t.sourceSpan,t.sourceSpan)}function re(t,e){var n=e.useExisting,r=e.useValue,i=e.deps;return{token:t.token,useClass:t.useClass,useExisting:n,useFactory:t.useFactory,useValue:r,deps:i,multi:t.multi}}function ie(t,e){var n=e.eager,r=e.providers;return new Qi(t.token,t.multiProvider,t.eager||n,r,t.providerType,t.lifecycleHooks,t.sourceSpan)}function oe(t,e,n){var r=new Map;t.forEach(function(t){var i={token:{identifier:t.type},useClass:t.type};se([i],t.isComponent?Yi.Component:Yi.Directive,!0,e,n,r)});var i=t.filter(function(t){return t.isComponent}).concat(t.filter(function(t){return!t.isComponent}));return i.forEach(function(t){se(t.providers,Yi.PublicService,!1,e,n,r),se(t.viewProviders,Yi.PrivateService,!1,e,n,r)}),r}function se(t,e,n,i,o,s){t.forEach(function(t){var a=s.get(S(t.token));if(r(a)&&!!a.multiProvider!=!!t.multi&&o.push(new Tp("Mixing multi and non multi provider is not possible for token "+E(a.token),i)),a)t.multi||(a.providers.length=0),a.providers.push(t);else{var u=t.token.identifier&&t.token.identifier.lifecycleHooks?t.token.identifier.lifecycleHooks:[];a=new Qi(t.token,t.multi,n||u.length>0,[t],e,u,i),s.set(S(t.token),a)}})}function ae(t){var e=new Map;return t.viewQueries&&t.viewQueries.forEach(function(t){return ce(e,t)}),e}function ue(t){var e=new Map;return t.forEach(function(t){t.queries&&t.queries.forEach(function(t){return ce(e,t)})}),e}function ce(t,e){e.selectors.forEach(function(n){var r=t.get(S(n));r||(r=[],t.set(S(n),r)),r.push(e)})}function pe(t){if(null==t||0===t.length||"/"==t[0])return!1;var e=t.match(Ip);return null===e||"package"==e[1]||"asset"==e[1]}function le(t,e,n){var r=[],i=n.replace(Np,"").replace(kp,function(){for(var n=[],i=0;i<arguments.length;i++)n[i-0]=arguments[i];var o=n[1]||n[2];return pe(o)?(r.push(t.resolve(e,o)),""):n[0]});return new Rp(i,r)}function he(t){return"@"==t[0]}function fe(t,n,r,i){var o=[];return Zo.parse(n).forEach(function(e){var n=e.element?[e.element]:t.allKnownElementNames(),s=new Set(e.notSelectors.filter(function(t){return t.isElementSelector()}).map(function(t){return t.element})),a=n.filter(function(t){return!s.has(t)});o.push.apply(o,a.map(function(e){return t.securityContext(e,r,i)}))}),0===o.length?[e.SecurityContext.NONE]:Array.from(new Set(o)).sort()}function de(t){var e=null,n=null,r=null,i=!1,o=null;t.attrs.forEach(function(t){var s=t.name.toLowerCase();s==Wp?e=t.value:s==Qp?n=t.value:s==Xp?r=t.value:t.name==Jp?i=!0:t.name==tl&&t.value.length>0&&(o=t.value)}),e=ye(e);var s=t.name.toLowerCase(),a=el.OTHER;return p(s)[1]==Gp?a=el.NG_CONTENT:s==$p?a=el.STYLE:s==Zp?a=el.SCRIPT:s==Kp&&r==Yp&&(a=el.STYLESHEET),new nl(a,e,n,i,o)}function ye(t){return null===t||0===t.length?"*":t}function me(t){return t.trim().split(/\s+/g)}function ve(t,e){var n=new Zo,r=p(t)[1];n.setElement(r);for(var i=0;i<e.length;i++){var o=e[i][0],s=p(o)[1],a=e[i][1];if(n.addAttribute(s,a),o.toLowerCase()==bl){var u=me(a);u.forEach(function(t){return n.addClassName(t)})}}return n}function ge(t){return t instanceof Au&&0==t.value.trim().length}function _e(t){var e=new Map;return t.forEach(function(t){e.get(t.type.reference)||e.set(t.type.reference,t)}),Array.from(e.values())}function be(t,e,n){var r=xe(t.styles,{},e,n,!1),i=new ql(r),o=t.stateNameExpr.split(/\s*,\s*/);return o.map(function(t){return new Fl(t,i)})}function we(t,e,n,r){var i=new Ql,o=[],s=t.stateChangeExpr.split(/\s*,\s*/);s.forEach(function(t){o.push.apply(o,Se(t,r))});var a=Ce(t.steps),u=Te(a,e,n,r),c=Re(u,0,i,e,r);0==r.length&&ke(c,i,r);var p=c instanceof Wl?c:new Kl([c]);return new Bl(o,p)}function Ee(t,e){switch(t){case":enter":return"void => *";case":leave":return"* => void";default:return e.push(new nh('the transition alias value "'+t+'" is not supported')),"* => *"}}function Se(t,e){var n=[];":"==t[0]&&(t=Ee(t,e));var i=t.match(/^(\*|[-\w]+)\s*(<?[=-]>)\s*(\*|[-\w]+)$/);if(!r(i)||i.length<4)return e.push(new nh("the provided "+t+" is not of a supported format")),n;var o=i[1],s=i[2],a=i[3];n.push(new Ul(o,a));var u=o==Do&&a==Do;return"<"!=s[0]||u||n.push(new Ul(a,o)),n}function Ce(t){return Array.isArray(t)?new ws(t):t}function xe(t,e,n,r,i){var o=t.offset;(o>1||0>o)&&r.push(new nh("Offset values for animations must be between 0 and 1"));var s=[];return t.styles.forEach(function(t){if("string"==typeof t)i?s.push.apply(s,Ae(t,e,r)):r.push(new nh("State based animations cannot contain references to other states"));else{var o=t,a={};Object.keys(o).forEach(function(t){var e=n.normalizeAnimationStyleProperty(t),i=n.normalizeAnimationStyleValue(e,t,o[t]),s=i.error;s&&r.push(new nh(s)),a[e]=i.value}),s.push(a)}}),s}function Te(t,e,n,r){var i=Oe(t,e,n,r);return t instanceof Es?new Es(i):new ws(i)}function Pe(t,e){if("object"==typeof e&&null!==e&&t.length>0){var n=t.length-1,r=t[n];if("object"==typeof r&&null!==r)return void(t[n]=ro.merge(r,e))}t.push(e)}function Oe(t,e,n,i){var o;if(!(t instanceof bs))return[t];o=t.steps;var s,a=[];return o.forEach(function(t){if(t instanceof gs)r(s)||(s=[]),xe(t,e,n,i,!0).forEach(function(t){Pe(s,t)});else{if(r(s)&&(a.push(new gs(0,s)),s=null),t instanceof _s){var o=t.styles;o instanceof gs?o.styles=xe(o,e,n,i,!0):o instanceof vs&&o.steps.forEach(function(t){t.styles=xe(t,e,n,i,!0)})}else if(t instanceof bs){var u=Oe(t,e,n,i);t=t instanceof Es?new Es(u):new ws(u)}a.push(t)}}),r(s)&&a.push(new gs(0,s)),a}function Ae(t,e,n){var i=[];if(":"!=t[0])n.push(new nh('Animation states via styles must be prefixed with a ":"'));else{var o=t.substring(1),s=e[o];r(s)?s.styles.forEach(function(t){"object"==typeof t&&null!==t&&i.push(t)}):n.push(new nh('Unable to apply styles due to missing a state: "'+o+'"'))}return i}function Me(t,e,n,i,o){var s=t.steps.length,a=0;t.steps.forEach(function(t){return a+=r(t.offset)?1:0}),a>0&&s>a&&(o.push(new nh("Not all style() entries contain an offset for the provided keyframe()")),a=s);var u=s-1,c=0==a?1/u:0,p=[],l=0,h=!1,f=0;t.steps.forEach(function(t){var e=t.offset,n={};t.styles.forEach(function(t){Object.keys(t).forEach(function(e){
-"offset"!=e&&(n[e]=t[e])})}),r(e)?h=h||f>e:e=l==u?th:c*l,p.push([e,n]),f=e,l++}),h&&p.sort(function(t,e){return t[0]<=e[0]?-1:1});var d=p[0];d[0]!=Jl&&p.splice(0,0,d=[Jl,{}]);var y=d[1];u=p.length-1;var m=p[u];m[0]!=th&&(p.push(m=[th,{}]),u++);for(var v=m[1],g=1;u>=g;g++){var _=p[g],b=_[1];Object.keys(b).forEach(function(t){r(y[t])||(y[t]=Vo)})}for(var w=function(t){var e=p[t],n=e[1];Object.keys(n).forEach(function(t){r(v[t])||(v[t]=n[t])})},g=u-1;g>=0;g--)w(g);return p.map(function(t){return new zl(t[0],new ql([t[1]]))})}function Re(t,e,n,i,o){var s,a=0,u=e;if(t instanceof bs){var c,p=0,l=[],h=t instanceof Es;if(t.steps.forEach(function(t){var s=h?u:e;if(t instanceof gs)return t.styles.forEach(function(t){var e=t;Object.keys(e).forEach(function(t){n.insertAtTime(t,s,e[t])})}),void(c=t.styles);var f=Re(t,s,n,i,o);if(r(c)){if(t instanceof bs){var d=new ql(c);l.push(new Hl(d,[],0,0,""))}else{var y=f;(v=y.startingStyles.styles).push.apply(v,c)}c=null}var m=f.playTime;e+=m,a+=m,p=Math.max(m,p),l.push(f);var v}),r(c)){var f=new ql(c);l.push(new Hl(f,[],0,0,""))}h?(s=new Gl(l),a=p,e=u+a):s=new Kl(l)}else if(t instanceof _s){var d=Ne(t.timings,o),y=t.styles,m=void 0;if(y instanceof vs)m=Me(y,e,n,i,o);else{var v=y,g=th,_=new ql(v.styles),b=new zl(g,_);m=[b]}s=new Hl(new ql([]),m,d.duration,d.delay,d.easing),a=d.duration+d.delay,e+=a,m.forEach(function(t){return t.styles.styles.forEach(function(t){return Object.keys(t).forEach(function(r){n.insertAtTime(r,e,t[r])})})})}else s=new Hl(null,[],0,0,"");return s.playTime=a,s.startTime=u,s}function ke(t,e,n){if(t instanceof Hl&&t.keyframes.length>0){var r=t.keyframes;if(1==r.length){var i=r[0],o=Ie(i,t.startTime,t.playTime,e,n);t.keyframes=[o,i]}}else t instanceof Wl&&t.steps.forEach(function(t){return ke(t,e,n)})}function Ne(t,e){var n,o=/^([\.\d]+)(m?s)(?:\s+([\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?/i,s=0,a=null;if("string"==typeof t){var u=t.match(o);if(null===u)return e.push(new nh('The provided timing value "'+t+'" is invalid.')),new oh(0,0,null);var c=parseFloat(u[1]),p=u[2];"s"==p&&(c*=eh),n=Math.floor(c);var l=u[3],h=u[4];if(r(l)){var f=parseFloat(l);r(h)&&"s"==h&&(f*=eh),s=Math.floor(f)}var d=u[5];i(d)||(a=d)}else n=t;return new oh(n,s,a)}function Ie(t,e,n,i,o){var s={},a=e+n;return t.styles.styles.forEach(function(t){Object.keys(t).forEach(function(n){var u=t[n];if("offset"!=n){var c,p,l,h=i.indexOfAtOrBeforeTime(n,e);r(h)?(c=i.getByIndex(n,h),l=c.value,p=i.getByIndex(n,h+1)):l=Vo,r(p)&&!p.matches(a,u)&&o.push(new nh('The animated CSS property "'+n+'" unexpectedly changes between steps "'+c.time+'ms" and "'+a+'ms" at "'+p.time+'ms"')),s[n]=l}})}),new zl(Jl,new ql([s]))}function De(){return new ph}function je(){return new ph(".")}function Le(t){var e=Fe(t);return e&&e[hh.Scheme]||""}function Ve(t,e,n,i,o,s,a){var u=[];return r(t)&&u.push(t+":"),r(n)&&(u.push("//"),r(e)&&u.push(e+"@"),u.push(n),r(i)&&u.push(":"+i)),r(o)&&u.push(o),r(s)&&u.push("?"+s),r(a)&&u.push("#"+a),u.join("")}function Fe(t){return t.match(lh)}function Ue(t){if("/"==t)return"/";for(var e="/"==t[0]?"/":"",n="/"===t[t.length-1]?"/":"",r=t.split("/"),i=[],o=0,s=0;s<r.length;s++){var a=r[s];switch(a){case"":case".":break;case"..":i.length>0?i.pop():o++;break;default:i.push(a)}}if(""==e){for(;o-->0;)i.unshift("..");0===i.length&&i.push(".")}return e+i.join("/")+n}function Be(t){var e=t[hh.Path];return e=i(e)?"":Ue(e),t[hh.Path]=e,Ve(t[hh.Scheme],t[hh.UserInfo],t[hh.Domain],t[hh.Port],e,t[hh.QueryData],t[hh.Fragment])}function He(t,e){var n=Fe(encodeURI(e)),o=Fe(t);if(r(n[hh.Scheme]))return Be(n);n[hh.Scheme]=o[hh.Scheme];for(var s=hh.Scheme;s<=hh.Port;s++)i(n[s])&&(n[s]=o[s]);if("/"==n[hh.Path][0])return Be(n);var a=o[hh.Path];i(a)&&(a="/");var u=a.lastIndexOf("/");return a=a.substring(0,u+1)+n[hh.Path],n[hh.Path]=a,Be(n)}function qe(t){return t instanceof e.Directive}function ze(t,e,n){var r=new xf(t,e);return n.visitExpression(r,null)}function We(t){var e=new Tf;return e.visitAllStatements(t,null),e.varNames}function Ge(t,e){return void 0===e&&(e=null),new Lh(t,e)}function Ke(t,e){return void 0===e&&(e=null),new Gh(t,null,e)}function Xe(t,e,n){return void 0===e&&(e=null),void 0===n&&(n=null),r(t)?Qe(Ke(t),e,n):null}function Qe(t,e,n){return void 0===e&&(e=null),void 0===n&&(n=null),r(t)?new xh(t,e,n):null}function Ye(t,e){return void 0===e&&(e=null),new ef(t,e)}function $e(t,e,n){return void 0===e&&(e=null),void 0===n&&(n=!1),new rf(t.map(function(t){return new nf(t[0],t[1],n)}),e)}function Ze(t){return new Xh(t)}function Je(t,e,n){return void 0===n&&(n=null),new $h(t,e,n)}function tn(t,e){return void 0===e&&(e=null),new Wh(t,e)}function en(t){var e=""+t.fields.length,n=rn(e);return t.fields.push(new mf(n.name,null,[cf.Private])),t.ctorStmts.push(of.prop(n.name).set(Ke(Yt(_p.UNINITIALIZED))).toStmt()),new Pf(n,e)}function nn(t,e,n,r){var i=Ke(Yt(_p.checkBinding)).callFn([n,e,t.currValExpr]);return t.forceUpdate&&(i=t.forceUpdate.or(i)),t.stmts.concat([new bf(i,r.concat([of.prop(e.name).set(t.currValExpr).toStmt()]))])}function rn(t){return of.prop("_expr_"+t)}function on(t){return r(t.value)?tn(t.value):Ke(t.identifier)}function sn(t){if(0===t.length)return Ke(Yt(_p.EMPTY_INLINE_ARRAY));var e=Math.log(t.length)/Math.log(2),n=Math.ceil(e),r=n<_p.inlineArrays.length?_p.inlineArrays[n]:_p.InlineArrayDynamic,i=Yt(r);return Ke(i).instantiate([tn(t.length)].concat(t))}function an(t,e,n,r){r.fields.push(new mf(n.name,null));var i=e<_p.pureProxies.length?_p.pureProxies[e]:null;if(!i)throw new Error("Unsupported number of argument for pure functions: "+e);r.ctorStmts.push(of.prop(n.name).set(Ke(Yt(i)).callFn([t])).toStmt())}function un(t,e){var n=Object.keys(t.runtime).find(function(n){return t.runtime[n]===e});if(!n)throw new Error("Unknown enum value "+e+" in "+t.name);return Ke(Jt(t,n))}function cn(t,e,n,r,i){var o=wn(i),s=[];e||(e=new If);var a=new Nf(t,e,n,Of,i,!1),u=r.visit(a,kf.Expression);if(!u)return null;if(a.temporaryCount)for(var c=0;c<a.temporaryCount;c++)s.push(fn(i,c));if(a.needsValueUnwrapper){var p=Of.callMethod("reset",[]).toStmt();s.push(p)}return s.push(o.set(u).toDeclStmt(null,[cf.Final])),a.needsValueUnwrapper?new Mf(s,o,Of.prop("hasWrappedValue")):new Mf(s,o,null)}function pn(t,e,n,r,i){e||(e=new If);var o=new Nf(t,e,n,null,i,!0),s=[];gn(r.visit(o,kf.Statement),s),dn(o.temporaryCount,i,s);var a=s.length-1,u=null;if(a>=0){var c=s[a],p=Sn(c);p&&(u=En(i),s[a]=u.set(p.cast(Oh).notIdentical(tn(!1))).toDeclStmt(null,[cf.Final]))}return new Rf(s,u)}function ln(t){var e=[],n=We(t);return n.has(Of.name)&&e.push(Of.set(Ke(Yt(_p.ValueUnwrapper)).instantiate([])).toDeclStmt(null,[cf.Final])),e}function hn(t,e){return"tmp_"+t+"_"+e}function fn(t,e){return new lf(hn(t,e),af)}function dn(t,e,n){for(var r=t-1;r>=0;r--)n.unshift(fn(e,r))}function yn(t,e){if(t!==kf.Statement)throw new Error("Expected a statement, but saw "+e)}function mn(t,e){if(t!==kf.Expression)throw new Error("Expected an expression, but saw "+e)}function vn(t,e){return t===kf.Statement?e.toStmt():e}function gn(t,e){Array.isArray(t)?t.forEach(function(t){return gn(t,e)}):e.push(t)}function _n(t,e){if(0===e.length)return Ke(Yt(_p.EMPTY_ARRAY));for(var n=of.prop("_arr_"+t.fields.length),r=[],i=[],o=0;o<e.length;o++){var s="p"+o;r.push(new Yh(s)),i.push(Ge(s))}return an(Je(r,[new df(Ye(i))],new Th(Oh)),e.length,n,t),n.callFn(e)}function bn(t,e){if(0===e.length)return Ke(Yt(_p.EMPTY_MAP));for(var n=of.prop("_map_"+t.fields.length),r=[],i=[],o=[],s=0;s<e.length;s++){var a="p"+s;r.push(new Yh(a)),i.push([e[s][0],Ge(a)]),o.push(e[s][1])}return an(Je(r,[new df($e(i))],new Ph(Oh)),e.length,n,t),n.callFn(o)}function wn(t){return Ge("currVal_"+t)}function En(t){return Ge("pd_"+t)}function Sn(t){return t instanceof ff?t.expr:t instanceof df?t.value:null}function Cn(t,e,n,i,o,s){var a=[],u=t.prop("renderer");switch(i=xn(t,e,i,s),e.type){case Zi.Property:o&&a.push(Ke(Yt(_p.setBindingDebugInfo)).callFn([u,n,tn(e.name),i]).toStmt()),a.push(u.callMethod("setElementProperty",[n,tn(e.name),i]).toStmt());break;case Zi.Attribute:i=i.isBlank().conditional(af,i.callMethod("toString",[])),a.push(u.callMethod("setElementAttribute",[n,tn(e.name),i]).toStmt());break;case Zi.Class:a.push(u.callMethod("setElementClass",[n,tn(e.name),i]).toStmt());break;case Zi.Style:var c=i.callMethod("toString",[]);r(e.unit)&&(c=c.plus(tn(e.unit))),i=i.isBlank().conditional(af,c),a.push(u.callMethod("setElementStyle",[n,tn(e.name),i]).toStmt());break;case Zi.Animation:throw new Error("Illegal state: Should not come here!")}return a}function xn(t,n,r,i){if(n.securityContext===e.SecurityContext.NONE)return r;if(n.needsRuntimeSecurityContext||(i=un(_p.SecurityContext,n.securityContext)),!i)throw new Error("internal error, no SecurityContext given "+n.name);var o=t.prop("viewUtils").prop("sanitizer"),s=[i,r];return o.callMethod("sanitize",s)}function Tn(t,e,n,r,i,o,s,a){var u=[],c=[],p=n.name,l=e.prop("componentType").prop("animations").key(tn(p)),h=tn(Lo),f=Ke(Yt(_p.UNINITIALIZED)),d=Ge("animationTransition_"+p);c.push(d.set(l.callFn([t,o,a.equals(f).conditional(h,a),s.equals(f).conditional(h,s)])).toDeclStmt()),u.push(d.set(l.callFn([t,o,a,h])).toDeclStmt());var y=[],m=r.find(function(t){return t.isAnimation&&t.name==p&&"start"==t.phase});m&&y.push(d.callMethod("onStart",[i.callMethod(Bh.Bind,[t,tn(Hi.calcFullName(p,null,"start"))])]).toStmt());var v=r.find(function(t){return t.isAnimation&&t.name==p&&"done"==t.phase});return v&&y.push(d.callMethod("onDone",[i.callMethod(Bh.Bind,[t,tn(Hi.calcFullName(p,null,"done"))])]).toStmt()),c.push.apply(c,y),u.push.apply(u,y),{updateStmts:c,detachStmts:u}}function Pn(t){var e=t.parentArgs||[],n=t.parent?[sf.callFn(e).toStmt()]:[],r=On(Array.isArray(t.builders)?t.builders:[t.builders]),i=new vf(null,t.ctorParams||[],n.concat(r.ctorStmts));return new _f(t.name,t.parent,r.fields,r.getters,i,r.methods,t.modifiers||[])}function On(t){return{fields:(e=[]).concat.apply(e,t.map(function(t){return t.fields||[]})),methods:(n=[]).concat.apply(n,t.map(function(t){return t.methods||[]})),getters:(r=[]).concat.apply(r,t.map(function(t){return t.getters||[]})),ctorStmts:(i=[]).concat.apply(i,t.map(function(t){return t.ctorStmts||[]}))};var e,n,r,i}function An(t){var e=Ge("changed"),n=[e.set(of.prop(Uf)).toDeclStmt(),of.prop(Uf).set(tn(!1)).toStmt()],r=[];if(t.genChanges){var i=[];t.ngOnChanges&&i.push(of.prop(Vf).callMethod("ngOnChanges",[of.prop(Ff)]).toStmt()),t.compilerConfig.logBindingUpdate&&i.push(Ke(Yt(_p.setBindingDebugInfoForChanges)).callFn([Wf.prop("renderer"),Kf,of.prop(Ff)]).toStmt()),i.push(Qf),r.push(new bf(e,i))}t.ngOnInit&&r.push(new bf(Wf.prop("numberOfChecks").identical(new Wh(0)),[of.prop(Vf).callMethod("ngOnInit",[]).toStmt()])),t.ngDoCheck&&r.push(of.prop(Vf).callMethod("ngDoCheck",[]).toStmt()),r.length>0&&n.push(new bf(Ze(qf),r)),n.push(new df(e)),t.methods.push(new vf("ngDoCheck",[new Yh(Wf.name,Xe(Yt(_p.AppView),[Oh])),new Yh(Kf.name,Oh),new Yh(qf.name,Ah)],n,Ah))}function Mn(t,e){var n=en(e),r=[of.prop(Uf).set(tn(!0)).toStmt(),of.prop(Vf).prop(t).set(Hf).toStmt()];e.genChanges&&r.push(of.prop(Ff).key(tn(t)).set(Ke(Yt(_p.SimpleChange)).instantiate([n.expression,Hf])).toStmt());var i=nn({currValExpr:Hf,forceUpdate:zf,stmts:[]},n.expression,qf,r);e.methods.push(new vf("check_"+t,[new Yh(Hf.name,Oh),new Yh(qf.name,Ah),new Yh(zf.name,Ah)],i))}function Rn(t,e,n){var r=[],i=[new Yh(Wf.name,Xe(Yt(_p.AppView),[Oh])),new Yh(Gf.name,Xe(Yt(_p.AppView),[Oh])),new Yh(Kf.name,Oh),new Yh(qf.name,Ah)];t.forEach(function(t){var o=en(n),s=cn(n,null,of.prop(Vf),t.value,o.bindingId);if(s){var a;t.needsRuntimeSecurityContext&&(a=Ge("secCtx_"+i.length),i.push(new Yh(a.name,Xe(Yt(_p.SecurityContext)))));var u;if(t.isAnimation){var c=Tn(Wf,Gf,t,e,of.prop(Bf).or(Ke(Yt(_p.noop))),Kf,s.currValExpr,o.expression),p=c.updateStmts,l=c.detachStmts;u=p,(h=n.detachStmts).push.apply(h,l)}else u=Cn(Wf,t,Kf,s.currValExpr,n.compilerConfig.logBindingUpdate,a);r.push.apply(r,nn(s,o.expression,qf,u));var h}}),n.methods.push(new vf("checkHost",i,r))}function kn(t,e){var n=Ge("result"),r=[n.set(tn(!0)).toDeclStmt(Ah)];t.forEach(function(t,i){var o=pn(e,null,of.prop(Vf),t.handler,"sub_"+i),s=o.stmts;o.preventDefault&&s.push(n.set(o.preventDefault.and(n)).toStmt()),r.push(new bf(Xf.equals(tn(t.fullName)),s))}),r.push(new df(n)),e.methods.push(new vf("handleEvent",[new Yh(Xf.name,Rh),new Yh(Af.event.name,Oh)],r,Ah))}function Nn(t,e){var n=[new Yh(Wf.name,Xe(Yt(_p.AppView),[Oh])),new Yh(Bf,Oh)],r=[of.prop(Bf).set(Ge(Bf)).toStmt()];Object.keys(t.outputs).forEach(function(i,o){var s=t.outputs[i],a="emit"+o;n.push(new Yh(a,Ah));var u="subscription"+o;e.fields.push(new mf(u,Oh)),r.push(new bf(Ge(a),[of.prop(u).set(of.prop(Vf).prop(i).callMethod(Bh.SubscribeObservable,[Ge(Bf).callMethod(Bh.Bind,[Wf,tn(s)])])).toStmt()])),e.destroyStmts.push(of.prop(u).and(of.prop(u).callMethod("unsubscribe",[])).toStmt())}),e.methods.push(new vf("subscribe",n,r))}function In(t,e,n){var r=[],i=new qp(e,Da,n,[],r),o=w(t.type),s=o?"in Directive "+b(t.type)+" in "+o:"in Directive "+b(t.type),a=new xu("",s),u=new Tu(new Cu(a,null,null,null),new Cu(a,null,null,null)),c=i.createDirectiveHostPropertyAsts(t.toSummary(),u),p=i.createDirectiveHostEventAsts(t.toSummary(),u);return new Zf(c,p,r)}function Dn(t){var e=t.filter(function(t){return t.level===Pu.WARNING}),n=t.filter(function(t){return t.level===Pu.FATAL});if(e.length>0&&this._console.warn("Directive parse warnings:\n"+e.join("\n")),n.length>0)throw new Error("Directive parse errors:\n"+n.join("\n"))}function jn(t,e){return Po.hasLifecycleHook(e,Ln(t))}function Ln(t){switch(t){case ao.OnInit:return"ngOnInit";case ao.OnDestroy:return"ngOnDestroy";case ao.DoCheck:return"ngDoCheck";case ao.OnChanges:return"ngOnChanges";case ao.AfterContentInit:return"ngAfterContentInit";case ao.AfterContentChecked:return"ngAfterContentChecked";case ao.AfterViewInit:return"ngAfterViewInit";case ao.AfterViewChecked:return"ngAfterViewChecked"}}function Vn(t){return t instanceof e.NgModule}function Fn(t){return t instanceof e.Pipe}function Un(t,n){if(void 0===n&&(n=[]),t)for(var r=0;r<t.length;r++){var i=e.resolveForwardRef(t[r]);Array.isArray(i)?Un(i,n):n.push(i)}return n}function Bn(t){return t?Array.from(new Set(t)):[]}function Hn(t){return Bn(Un(t))}function qn(t){return t instanceof Ji||t instanceof e.Type}function zn(t,e,n){if(e instanceof Ji)return e.filePath;var r=n.moduleId;if("string"==typeof r){var i=Le(r);return i?r:"package:"+r+os}if(null!==r&&void 0!==r)throw new cs('moduleId should be a string in "'+Gn(e)+"\". See https://goo.gl/wIDDiL for more information.\nIf you're using Webpack you should inline the template and the styles, see https://goo.gl/X2J8zc.");return t.importUri(e)}function Wn(t,e){g(t,new dd,e)}function Gn(t){return t instanceof Ji?t.name+" in "+t.filePath:s(t)}function Kn(t,e){return void 0===e&&(e=null),g(t,new md,e)}function Xn(t,e,n){if(void 0===n&&(n=!0),i(t))return null;var r=t.replace(xd,function(){for(var t=[],n=0;n<arguments.length;n++)t[n-0]=arguments[n];return"$"==t[0]?e?"\\$":"$":"\n"==t[0]?"\\n":"\r"==t[0]?"\\r":"\\"+t[0]}),o=n||!Td.test(r);return o?"'"+r+"'":r}function Qn(t){for(var e="",n=0;t>n;n++)e+="  ";return e}function Yn(t){var e=new Dd(Nd),n=Md.createRoot([]),r=Array.isArray(t)?t:[t];return r.forEach(function(t){if(t instanceof pf)t.visitStatement(e,n);else if(t instanceof Dh)t.visitExpression(e,n);else{if(!(t instanceof Eh))throw new Error("Don't know how to print debug info for "+t);t.visitType(e,n)}}),n.toSource()}function $n(t,e){for(var n=0,r=e;n<r.length;n++){var i=r[n];jd[i.toLowerCase()]=t}}function Zn(t){switch(t){case"width":case"height":case"minWidth":case"minHeight":case"maxWidth":case"maxHeight":case"left":case"top":case"bottom":case"right":case"fontSize":case"outlineWidth":case"outlineOffset":case"paddingTop":case"paddingLeft":case"paddingBottom":case"paddingRight":case"marginTop":case"marginLeft":case"marginBottom":case"marginRight":case"borderRadius":case"borderWidth":case"borderTopWidth":case"borderLeftWidth":case"borderRightWidth":case"borderBottomWidth":case"textIndent":return!0;default:return!1}}function Jn(t){return t.replace(ly,"")}function tr(t){var e=t.match(hy);return e?e[0]:""}function er(t,e){var n=nr(t),r=0;return n.escapedString.replace(fy,function(){for(var t=[],i=0;i<arguments.length;i++)t[i-0]=arguments[i];var o=t[2],s="",a=t[4],u="";a&&a.startsWith("{"+vy)&&(s=n.blocks[r++],a=a.substring(vy.length+1),u="{");var c=e(new gy(o,s));return""+t[1]+c.selector+t[3]+u+c.content+a})}function nr(t){for(var e=t.split(dy),n=[],r=[],i=0,o=[],s=0;s<e.length;s++){var a=e[s];a==my&&i--,i>0?o.push(a):(o.length>0&&(r.push(o.join("")),n.push(vy),o=[]),n.push(a)),a==yy&&i++}return o.length>0&&(r.push(o.join("")),n.push(vy)),new _y(n.join(""),r)}function rr(t){var e="styles";return t&&(e+="_"+b(t.type)),e}function ir(t,e,n){if(e===n)return t;for(var r=of,i=e;i!==n&&i.declarationElement.view;)i=i.declarationElement.view,r=r.prop("parentView");if(i!==n)throw new Error("Internal error: Could not calculate a property in a parent view: "+t);return t.visitExpression(new Ny(r,n),null)}function or(t,e,n){var r;r=t.viewType===go.HOST?of:of.prop("parentView");var i=[on(e),of.prop("parentIndex")];return n&&i.push(af),r.callMethod("injectorGet",i)}function sr(t,e){return"View_"+b(t.type)+e}function ar(t){return"handleEvent_"+t}function ur(t){return io.flatten(t.values.map(function(t){return t instanceof Iy?cr(t.view.declarationElement.viewContainer,t.view,ur(t)):t}))}function cr(t,e,n){var r=n.map(function(t){return ze(of.name,Ge("nestedView"),t)});return t.callMethod("mapNestedViews",[Ge(e.className),Je([new Yh("nestedView",e.classType)],[new df(Ye(r))],Oh)])}function pr(t,e){e.fields.push(new mf(t,Xe(Yt(_p.QueryList),[Oh])));var n=of.prop(t);return e.createMethod.addStmt(of.prop(t).set(Ke(Yt(_p.QueryList),[Oh]).instantiate([])).toStmt()),n}function lr(t,e){e.meta.selectors.forEach(function(n){var r=t.get(S(n));r||(r=[],t.set(S(n),r)),r.push(e)})}function hr(t,e,n,r){var i;return i=e>0?tn(t).lowerEquals(By.requestNodeIndex).and(By.requestNodeIndex.lowerEquals(tn(t+e))):tn(t).identical(By.requestNodeIndex),new bf(By.token.identical(on(n.token)).and(i),[new df(r)])}function fr(t,e,n,r,i){var o,s,a=i.view;if(n?(o=Ye(e),s=new Th(Oh)):(o=e[0],s=e[0].type),s||(s=Oh),r)a.fields.push(new mf(t,s)),a.createMethod.addStmt(of.prop(t).set(o).toStmt());else{var u="_"+t;a.fields.push(new mf(u,s));var c=new Ry(a);c.resetDebugInfo(i.nodeIndex,i.sourceAst),c.addStmt(new bf(of.prop(u).isBlank(),[of.prop(u).set(o).toStmt()])),c.addStmt(new df(of.prop(u))),a.getters.push(new gf(t,c.finish(),s))}return of.prop(t)}function dr(t,e){for(var n=null,r=t.pipeMetas.length-1;r>=0;r--){var i=t.pipeMetas[r];if(i.name==e){n=i;break}}if(!n)throw new Error("Illegal state: Could not find pipe "+e+" although the parser should have detected this error!");return n}function yr(t,e){return e>0?go.EMBEDDED:t.isHost?go.HOST:go.COMPONENT}function mr(t,e,n,r){var i=vr(t,e);return i.size?(r&&gr(i,n),_r(i,e,n),br(t,e,n),!0):!1}function vr(t,e){var n=new Map;return t.forEach(function(t){n.set(t.fullName,t)}),e.forEach(function(t){t.hostEvents.forEach(function(t){n.set(t.fullName,t)})}),n}function gr(t,e){var n=[];if(t.forEach(function(t){t.phase||n.push(tn(t.name),tn(t.target))}),n.length){var r=Ge("disposable_"+e.view.disposables.length);e.view.disposables.push(r),e.view.createMethod.addStmt(r.set(Ke(Yt(_p.subscribeToRenderElement)).callFn([of,e.renderNode,sn(n),wr(e)])).toDeclStmt(kh,[cf.Private]))}}function _r(t,e,n){var r=Array.from(t.keys());e.forEach(function(t){var e=n.directiveWrapperInstance.get(t.directive.type.reference);n.view.createMethod.addStmts(Jf.subscribe(t.directive,t.hostProperties,r,e,of,wr(n)))})}function br(t,e,n){var r=e.some(function(t){return t.hostEvents.some(function(){return t.directive.isComponent})}),i=r?n.compViewExpr:of,o=new Ry(n.view);o.resetDebugInfo(n.nodeIndex,n.sourceAst),o.push(i.callMethod("markPathToRootAsCheckOnce",[]).toStmt());var s=Ge("eventName"),a=Ge("result");o.push(a.set(tn(!0)).toDeclStmt(Ah)),e.forEach(function(t){var e=n.directiveWrapperInstance.get(t.directive.type.reference);t.hostEvents.length>0&&o.push(a.set(Jf.handleEvent(t.hostEvents,e,s,Af.event).and(a)).toStmt())}),t.forEach(function(t,e){var r=pn(n.view,n.view,n.view.componentContext,t.handler,"sub_"+e),i=r.stmts;r.preventDefault&&i.push(a.set(r.preventDefault.and(a)).toStmt()),o.push(new bf(s.equals(tn(t.fullName)),i))}),o.push(new df(a)),n.view.methods.push(new vf(ar(n.nodeIndex),[new Yh(s.name,Rh),new Yh(Af.event.name,Oh)],o.finish(),Ah))}function wr(t){var e=ar(t.nodeIndex);return of.callMethod("eventHandler",[of.prop(e)])}function Er(t,e,n){var r=n.view,i=t.type.lifecycleHooks,o=r.afterContentLifecycleCallbacksMethod;o.resetDebugInfo(n.nodeIndex,n.sourceAst),-1!==i.indexOf(ao.AfterContentInit)&&o.addStmt(new bf(Jy,[e.callMethod("ngAfterContentInit",[]).toStmt()])),-1!==i.indexOf(ao.AfterContentChecked)&&o.addStmt(e.callMethod("ngAfterContentChecked",[]).toStmt())}function Sr(t,e,n){var r=n.view,i=t.type.lifecycleHooks,o=r.afterViewLifecycleCallbacksMethod;o.resetDebugInfo(n.nodeIndex,n.sourceAst),-1!==i.indexOf(ao.AfterViewInit)&&o.addStmt(new bf(Jy,[e.callMethod("ngAfterViewInit",[]).toStmt()])),-1!==i.indexOf(ao.AfterViewChecked)&&o.addStmt(e.callMethod("ngAfterViewChecked",[]).toStmt())}function Cr(t,e,n){n.view.destroyMethod.addStmts(Jf.ngOnDestroy(t.directive,e)),n.view.detachMethod.addStmts(Jf.ngOnDetach(t.hostProperties,e,of,n.compViewExpr||of,n.renderNode))}function xr(t,e,n){var r=n.view.destroyMethod;r.resetDebugInfo(n.nodeIndex,n.sourceAst),t.providerType!==Yi.Directive&&t.providerType!==Yi.Component&&-1!==t.lifecycleHooks.indexOf(ao.OnDestroy)&&r.addStmt(e.callMethod("ngOnDestroy",[]).toStmt())}function Tr(t,e,n){var r=n.destroyMethod;-1!==t.type.lifecycleHooks.indexOf(ao.OnDestroy)&&r.addStmt(e.callMethod("ngOnDestroy",[]).toStmt())}function Pr(t,e,n){var r=en(n),i=cn(n,n,n.componentContext,t.value,r.bindingId);return i?(n.detectChangesRenderPropertiesMethod.resetDebugInfo(e.nodeIndex,t),void n.detectChangesRenderPropertiesMethod.addStmts(nn(i,r.expression,Hy.throwOnChange,[of.prop("renderer").callMethod("setText",[e.renderNode,i.currValExpr]).toStmt()]))):null}function Or(t,e,n,r){var i=r.view,o=r.renderNode;t.forEach(function(t){var s=en(i);i.detectChangesRenderPropertiesMethod.resetDebugInfo(r.nodeIndex,t);var a=cn(i,i,r.view.componentContext,t.value,s.bindingId);if(a){var u=[],c=i.detectChangesRenderPropertiesMethod;switch(t.type){case Zi.Property:case Zi.Attribute:case Zi.Class:case Zi.Style:u.push.apply(u,Cn(of,t,o,a.currValExpr,i.genConfig.logBindingUpdate));break;case Zi.Animation:c=i.animationBindingsMethod;var p=Tn(of,of,t,e,(n?of.prop(ar(r.nodeIndex)):Ke(Yt(_p.noop))).callMethod(Bh.Bind,[of]),r.renderNode,a.currValExpr,s.expression),l=p.updateStmts,h=p.detachStmts;u.push.apply(u,l),i.detachMethod.addStmts(h)}c.addStmts(nn(a,s.expression,Hy.throwOnChange,u))}})}function Ar(t,e,n,r,i){var o=t.hostProperties.filter(function(t){return t.needsRuntimeSecurityContext}).map(function(t){var e;switch(t.type){case Zi.Property:e=i.securityContext(r,t.name,!1);break;case Zi.Attribute:e=i.securityContext(r,t.name,!0);break;default:throw new Error("Illegal state: Only property / attribute bindings can have an unknown security context! Binding "+t.name)}return un(_p.SecurityContext,e)});n.view.detectChangesRenderPropertiesMethod.addStmts(Jf.checkHost(t.hostProperties,e,of,n.compViewExpr||of,n.renderNode,Hy.throwOnChange,o))}function Mr(t,e,n,r){var i=r.view,o=i.detectChangesInInputsMethod;o.resetDebugInfo(r.nodeIndex,r.sourceAst),t.inputs.forEach(function(t,s){var a=r.nodeIndex+"_"+n+"_"+s;o.resetDebugInfo(r.nodeIndex,t);var u=cn(i,i,i.componentContext,t.value,a);u&&(o.addStmts(u.stmts),o.addStmt(e.callMethod("check_"+t.directiveName,[u.currValExpr,Hy.throwOnChange,u.forceUpdate||tn(!1)]).toStmt()))});var s=t.directive.isComponent&&!oo(t.directive.changeDetection),a=Jf.ngDoCheck(e,of,r.renderNode,Hy.throwOnChange),u=s?new bf(a,[r.compViewExpr.callMethod("markAsCheckOnce",[]).toStmt()]):a.toStmt();o.addStmt(u)}function Rr(t){var e=[];t.getProviderTokens().forEach(function(n){var r=t.getQueriesFor(n);e.push.apply(e,r.map(function(t){return new tm(t,n)}))}),Object.keys(t.referenceTokens).forEach(function(n){var r={value:n};e.push.apply(e,t.getQueriesFor(r).map(function(t){return new tm(t,r)}))}),e.forEach(function(e){var n;if(e.read.identifier)n=t.instances.get(S(e.read));else{var r=t.referenceTokens[e.read.value];n=r?t.instances.get(S(r)):t.elementRef}n&&e.query.addValue(n,t.view)})}function kr(t,e,r){var i=new em(t,r);n(i,e),t.pipes.forEach(function(t){Tr(t.meta,t.instance,t.view)})}function Nr(t,e,r){var i=new um(t,r),o=t.declarationElement.isNull()?t.declarationElement:t.declarationElement.parent;return n(i,e,o),(t.viewType===go.EMBEDDED||t.viewType===go.HOST)&&(t.lastRenderNode=i.getOrCreateLastRenderNode()),i.nestedViewCount}function Ir(t,e){t.nodes.forEach(function(t){t instanceof Xy&&(t.finish(),t.hasEmbeddedView&&Ir(t.embeddedView,e))}),t.finish(),Br(t,e)}function Dr(t){for(var e=t.view;Lr(t.parent,e);)t=t.parent;return t}function jr(t){for(var e=t.view;Lr(t,e);)t=t.parent;return t}function Lr(t,e){return!t.isNull()&&t.sourceAst.name===om&&t.view===e}function Vr(t,e){var n={};Object.keys(t).forEach(function(e){n[e]=t[e]}),e.forEach(function(t){Object.keys(t.hostAttributes).forEach(function(e){var i=t.hostAttributes[e],o=n[e];n[e]=r(o)?Ur(e,o,i):i})});var i=[];return Object.keys(n).sort().forEach(function(t){i.push(t,n[t])}),i}function Fr(t){var e={};return t.forEach(function(t){e[t.name]=t.value}),e}function Ur(t,e,n){return t==rm||t==im?e+" "+n:n}function Br(t,e){var n=af;t.genConfig.genDebugInfo&&(n=Ge("nodeDebugInfos_"+b(t.component.type)+t.viewIndex),e.push(n.set(Ye(t.nodes.map(Hr),new Th(Xe(Yt(_p.StaticNodeDebugInfo)),[wh.Const]))).toDeclStmt(null,[cf.Final])));var r=Ge("renderType_"+b(t.component.type));if(0===t.viewIndex){var i=void 0;i=t.component.template.templateUrl==w(t.component.type)?w(t.component.type)+" class "+b(t.component.type)+" - inline template":t.component.template.templateUrl,e.push(r.set(Ke(Yt(_p.createRenderComponentType)).callFn([tn(t.genConfig.genDebugInfo?i:""),tn(t.component.template.ngContentSelectors.length),Ly.fromValue(t.component.template.encapsulation),t.styles,$e(t.animations.map(function(t){return[t.name,t.fnExp]}),null,!0)])).toDeclStmt(Xe(Yt(_p.RenderComponentType))))}var o=qr(t,r,n);e.push(o)}function Hr(t){var e=t instanceof Xy?t:null,n=[],i=af,o=[];return r(e)&&(n=e.getProviderTokens().map(function(t){return on(t)}),r(e.component)&&(i=on($t(e.component.type))),Object.keys(e.referenceTokens).forEach(function(t){var n=e.referenceTokens[t];o.push([t,r(n)?on(n):af])})),Ke(Yt(_p.StaticNodeDebugInfo)).instantiate([Ye(n,new Th(Oh,[wh.Const])),i,$e(o,new Ph(Oh,[wh.Const]))],Xe(Yt(_p.StaticNodeDebugInfo),null,[wh.Const]))}function qr(t,e,n){var r=[new Yh(Fy.viewUtils.name,Xe(Yt(_p.ViewUtils))),new Yh(Fy.parentView.name,Xe(Yt(_p.AppView),[Oh])),new Yh(Fy.parentIndex.name,Mh),new Yh(Fy.parentElement.name,Oh)],i=[Ge(t.className),e,jy.fromValue(t.viewType),Fy.viewUtils,Fy.parentView,Fy.parentIndex,Fy.parentElement,Vy.fromValue(Qr(t))];t.genConfig.genDebugInfo&&i.push(n),t.viewType===go.EMBEDDED&&(r.push(new Yh("declaredViewContainer",Xe(Yt(_p.ViewContainer)))),i.push(Ge("declaredViewContainer")));var o=[new vf("createInternal",[new Yh(am.name,Rh)],Wr(t),Xe(Yt(_p.ComponentRef),[Oh])),new vf("injectorGetInternal",[new Yh(By.token.name,Oh),new Yh(By.requestNodeIndex.name,Mh),new Yh(By.notFoundResult.name,Oh)],Kr(t.injectorGetMethod.finish(),By.notFoundResult),Oh),new vf("detectChangesInternal",[new Yh(Hy.throwOnChange.name,Ah)],Gr(t)),new vf("dirtyParentQueriesInternal",[],t.dirtyParentQueriesMethod.finish()),new vf("destroyInternal",[],zr(t)),new vf("detachInternal",[],t.detachMethod.finish()),Yr(t),$r(t),Jr(t)].filter(function(t){return t.body.length>0}),s=t.genConfig.genDebugInfo?_p.DebugAppView:_p.AppView,a=Pn({name:t.className,parent:Ke(Yt(s),[Xr(t)]),parentArgs:i,ctorParams:r,builders:[{methods:o},t]});return a}function zr(t){var e=[];return t.viewContainers.forEach(function(t){e.push(t.callMethod("destroyNestedViews",[]).toStmt())}),t.viewChildren.forEach(function(t){e.push(t.callMethod("destroy",[]).toStmt())}),e.push.apply(e,t.destroyMethod.finish()),e}function Wr(t){var e=af,n=[];t.viewType===go.COMPONENT&&(e=Uy.renderer.callMethod("createViewRoot",[of.prop("parentElement")]),n=[sm.set(e).toDeclStmt(Xe(t.genConfig.renderTypes.renderNode),[cf.Final])]);var r;if(t.viewType===go.HOST){var i=t.nodes[0];r=Ke(Yt(_p.ComponentRef_),[Oh]).instantiate([tn(i.nodeIndex),of,i.renderNode,i.getComponent()])}else r=af;var o=Uy.renderer.cast(Oh).prop("directRenderer").conditional(af,Ye(t.nodes.map(function(t){return t.renderNode})));return n.concat(t.createMethod.finish(),[of.callMethod("init",[t.lastRenderNode,o,t.disposables.length?Ye(t.disposables):af]).toStmt(),new df(r)])}function Gr(t){var e=[];if(t.animationBindingsMethod.isEmpty()&&t.detectChangesInInputsMethod.isEmpty()&&t.updateContentQueriesMethod.isEmpty()&&t.afterContentLifecycleCallbacksMethod.isEmpty()&&t.detectChangesRenderPropertiesMethod.isEmpty()&&t.updateViewQueriesMethod.isEmpty()&&t.afterViewLifecycleCallbacksMethod.isEmpty()&&0===t.viewContainers.length&&0===t.viewChildren.length)return e;e.push.apply(e,t.animationBindingsMethod.finish()),e.push.apply(e,t.detectChangesInInputsMethod.finish()),t.viewContainers.forEach(function(t){e.push(t.callMethod("detectChangesInNestedViews",[Hy.throwOnChange]).toStmt())});var n=t.updateContentQueriesMethod.finish().concat(t.afterContentLifecycleCallbacksMethod.finish());n.length>0&&e.push(new bf(Ze(Hy.throwOnChange),n)),e.push.apply(e,t.detectChangesRenderPropertiesMethod.finish()),t.viewChildren.forEach(function(t){e.push(t.callMethod("internalDetectChanges",[Hy.throwOnChange]).toStmt())});var r=t.updateViewQueriesMethod.finish().concat(t.afterViewLifecycleCallbacksMethod.finish());r.length>0&&e.push(new bf(Ze(Hy.throwOnChange),r));var i=[],o=We(e);return o.has(Hy.changed.name)&&i.push(Hy.changed.set(tn(!0)).toDeclStmt(Ah)),o.has(Hy.changes.name)&&i.push(Hy.changes.set(af).toDeclStmt(new Ph(Xe(Yt(_p.SimpleChange))))),i.push.apply(i,ln(e)),i.concat(e)}function Kr(t,e){return t.length>0?t.concat([new df(e)]):t}function Xr(t){return t.viewType===go.COMPONENT?Xe(t.component.type):Oh}function Qr(t){var e;return e=t.viewType===go.COMPONENT?oo(t.component.changeDetection)?so.CheckAlways:so.CheckOnce:so.CheckAlways}function Yr(t){var e=Ge("cb"),n=Ge("ctx"),r=Zr(t.rootNodes,e,n);return new vf("visitRootNodesInternal",[new Yh(e.name,Oh),new Yh(n.name,Oh)],r)}function $r(t){var e=Ge("nodeIndex"),n=Ge("ngContentIndex"),r=Ge("cb"),i=Ge("ctx"),o=[];return t.nodes.forEach(function(t){t instanceof Xy&&t.component&&t.contentNodesByNgContentIndex.forEach(function(s,a){o.push(new bf(e.equals(tn(t.nodeIndex)).and(n.equals(tn(a))),Zr(s,r,i)))})}),new vf("visitProjectableNodesInternal",[new Yh(e.name,Mh),new Yh(n.name,Mh),new Yh(r.name,Oh),new Yh(i.name,Oh)],o)}function Zr(t,e,n){var r=[];return t.forEach(function(t){switch(t.type){case Yy.Node:r.push(e.callFn([t.expr,n]).toStmt());break;case Yy.ViewContainer:r.push(e.callFn([t.expr.prop("nativeElement"),n]).toStmt()),r.push(t.expr.callMethod("visitNestedViewRootNodes",[e,n]).toStmt());break;case Yy.NgContent:r.push(of.callMethod("visitProjectedNodes",[tn(t.ngContentIndex),e,n]).toStmt())}}),r}function Jr(t){var e=Ge("nodeIndex"),n=[];return t.nodes.forEach(function(t){t instanceof Xy&&t.embeddedView&&n.push(new bf(e.equals(tn(t.nodeIndex)),[new df(t.embeddedView.classExpr.instantiate([Uy.viewUtils,of,tn(t.nodeIndex),t.renderNode,t.viewContainer]))]))}),n.length>0&&n.push(new df(af)),new vf("createEmbeddedViewInternal",[new Yh(e.name,Mh)],n,Xe(Yt(_p.AppView),[Oh]))}function ti(t,e){var n=tn(Lo);switch(e){case Lo:return t.equals(n);case Do:return tn(!0);
-
-default:return t.equals(tn(e))}}function ei(t){if(t instanceof Hl&&t.duration>0&&2==t.keyframes.length){var e=ni(t.keyframes[0])[0],n=ni(t.keyframes[1])[0];return 0===Object.keys(e).length&&0===Object.keys(n).length}return!1}function ni(t){return t.styles.styles}function ri(t,e,n,r,i){var o=new jm(t);r.forEach(function(t){return o.addOrMergeSummary({symbol:t.symbol,metadata:t.metadata})});for(var s=0;s<o.symbols.length;s++){var a=o.symbols[s];if(!t.isSourceFile(a.filePath)){var u=e.resolveSummary(a);if(!u){var c=n.resolveSymbol(a);c&&(u={symbol:c.symbol,metadata:c.metadata})}u&&o.addOrMergeSummary(u)}}return i.forEach(function(n){if(o.addOrMergeSummary({symbol:n.type.reference,metadata:{__symbolic:"class"},type:n}),n.summaryKind===Cs.NgModule){var r=n;r.exportedDirectives.concat(r.exportedPipes).forEach(function(n){var r=n.reference;t.isSourceFile(r.filePath)||o.addOrMergeSummary(e.resolveSummary(r))})}}),o.serialize()}function ii(t,e){var n=new Lm(t);return n.deserialize(e)}function oi(t){var e=t.replace(Dm,"");return e+".ngsummary.json"}function si(t,e){return e.dependencies.forEach(function(e){if(e instanceof qy){var n=e;n.placeholder.reference=t.getStaticSymbol(ui(w(n.comp)),e.name)}else if(e instanceof zy){var r=e;r.placeholder.reference=t.getStaticSymbol(ui(w(r.comp)),ci(r.comp))}else if(e instanceof Wy){var i=e;i.placeholder.reference=t.getStaticSymbol(ui(w(i.dir)),i.name)}}),e.statements}function ai(t,e,n){return e.dependencies.forEach(function(e){e.valuePlaceholder.reference=t.getStaticSymbol(pi(e.moduleUrl,e.isShimmed,n),e.name)}),e.statements}function ui(t){var e=hi(t);return e[0]+".ngfactory"+e[1]}function ci(t){return b(t)+"NgFactory"}function pi(t,e,n){return""+t+(e?".shim":"")+".ngstyle"+n}function li(t){if(!t.isComponent)throw new Error("Could not compile '"+b(t.type)+"' because it is not a component.")}function hi(t){if(t.endsWith(".d.ts"))return[t.slice(0,-5),".ts"];var e=t.lastIndexOf(".");return-1!==e?[t.substring(0,e),t.substring(e)]:[t,""]}function fi(t,e,n){var r=vi(t,e,n),i=r.ngModules,o=r.symbolsMissingModule;return yi(t,i,o,n)}function di(t,e,n){var r=fi(t,e,n);if(r.symbolsMissingModule&&r.symbolsMissingModule.length){var i=r.symbolsMissingModule.map(function(t){return"Cannot determine the module for class "+t.name+" in "+t.filePath+"!"});throw new Error(i.join("\n"))}return r}function yi(t,e,n,r){var i=new Map;e.forEach(function(t){return i.set(t.type.reference,t)});var o=new Map,s=new Map,a=new Map,u=new Map,c=new Map,p=new Set;t.forEach(function(t){var e=t.filePath;p.add(e),r.isInjectable(t)&&c.set(e,(c.get(e)||[]).concat(t))}),e.forEach(function(t){var e=t.type.reference.filePath;p.add(e),s.set(e,(s.get(e)||[]).concat(t.type.reference)),t.declaredDirectives.forEach(function(e){var n=e.reference.filePath;p.add(n),a.set(n,(a.get(n)||[]).concat(e.reference)),o.set(e.reference,t)}),t.declaredPipes.forEach(function(e){var n=e.reference.filePath;p.add(n),u.set(n,(u.get(n)||[]).concat(e.reference)),o.set(e.reference,t)})});var l=[];return p.forEach(function(t){var e=a.get(t)||[],n=u.get(t)||[],r=s.get(t)||[],i=c.get(t)||[];l.push({srcUrl:t,directives:e,pipes:n,ngModules:r,injectables:i})}),{ngModuleByPipeOrDirective:o,files:l,ngModules:e,symbolsMissingModule:n}}function mi(t,e,n){var r=[];return e.filter(function(t){return n.isSourceFile(t)}).forEach(function(e){t.getSymbolsOf(e).forEach(function(e){var n=t.resolveSymbol(e),i=n.metadata;i&&"error"!=i.__symbolic&&r.push(n.symbol)})}),r}function vi(t,e,n){var r=new Map,i=[],o=new Set,s=function(t){if(r.has(t)||!e.isSourceFile(t.filePath))return!1;var i=n.getNgModuleMetadata(t,!1);return i&&(r.set(i.type.reference,i),i.declaredDirectives.forEach(function(t){return o.add(t.reference)}),i.declaredPipes.forEach(function(t){return o.add(t.reference)}),i.transitiveModule.modules.forEach(function(t){return s(t.reference)})),!!i};t.forEach(function(t){s(t)||!n.isDirective(t)&&!n.isPipe(t)||i.push(t)});var a=i.filter(function(t){return!o.has(t)});return{ngModules:Array.from(r.values()),symbolsMissingModule:a}}function gi(t){return"object"==typeof t&&t.name&&t.filePath}function _i(t){switch(t.message){case"Reference to non-exported class":if(t.context&&t.context.className)return"Reference to a non-exported class "+t.context.className+". Consider exporting the class";break;case"Variable not initialized":return"Only initialized variables and constants can be referenced because the value of this variable is needed by the template compiler";case"Destructuring not supported":return"Referencing an exported destructured variable or constant is not supported by the template compiler. Consider simplifying this to avoid destructuring";case"Could not resolve type":if(t.context&&t.context.typeName)return"Could not resolve type "+t.context.typeName;break;case"Function call not supported":var e=t.context&&t.context.name?"Calling function '"+t.context.name+"', f":"F";return e+"unction calls are not supported. Consider replacing the function or lambda with a reference to an exported function";case"Reference to a local symbol":if(t.context&&t.context.name)return"Reference to a local (non-exported) symbol '"+t.context.name+"'. Consider exporting the symbol"}return t.message}function bi(t){return"Error encountered resolving symbol values statically. "+_i(t)}function wi(t,e){if(!t)return{};var n={};return Object.keys(t).forEach(function(r){var i=e(t[r],r);Si(i)||(Hm.test(r)?Object.defineProperty(n,r,{enumerable:!1,configurable:!0,value:i}):n[r]=i)}),n}function Ei(t){return null===t||"function"!=typeof t&&"object"!=typeof t}function Si(t){return t&&"ignore"==t.__symbolic}function Ci(t,e,n,r){var i=new Error(t);return i.fileName=e,i.line=n,i.column=r,i}function xi(t,n){var r=n.translations||"",i=je(),o=new to,s=new Ym(t,o),a=new Qm(t,o,s),u=new qm(a);Fm.install(u);var c=new dp(new lp,r,n.i18nFormat),p=new kl({genDebugInfo:n.debug===!0,defaultEncapsulation:e.ViewEncapsulation.Emulated,logBindingUpdate:!1,useJit:!1}),l=new yh({get:function(e){return t.loadResource(e)}},i,c,p),h=new wu(new fu),f=new Gd,d=new To,y=new xl(h,f,c,d,[]),m=new fd(new nd(u),new _h(u),new od(u),s,f,l,u),v=new Vm(t,m,y,new Oy(i),new hm(p,f),new Yf(p,h,f,d),new wd,new Id(t),s,n.locale,n.i18nFormat,new ih(f),a);return{compiler:v,reflector:u}}function Ti(t,e){var n=t.concat([new df(Ge(e))]),i=new $m(null,null,null,new Map),o=new Jm,s=o.visitAllStatements(n,i);return r(s)?s.value:null}function Pi(t,e,n,i,o){for(var s=i.createChildWihtLocalVars(),a=0;a<t.length;a++)s.vars.set(t[a],e[a]);var u=o.visitAllStatements(n,s);return r(u)?u.value:null}function Oi(t,e,n){var r={};t.getters.forEach(function(i){r[i.name]={configurable:!1,get:function(){var r=new $m(e,this,t.name,e.vars);return Pi([],[],i.body,r,n)}}}),t.methods.forEach(function(i){var o=i.params.map(function(t){return t.name});r[i.name]={writable:!1,configurable:!1,value:function(){for(var r=[],s=0;s<arguments.length;s++)r[s-0]=arguments[s];var a=new $m(e,this,t.name,e.vars);return Pi(o,r,i.body,a,n)}}});var i=t.constructorMethod.params.map(function(t){return t.name}),o=function(){for(var r=this,o=[],s=0;s<arguments.length;s++)o[s-0]=arguments[s];var a=new $m(e,this,t.name,e.vars);t.fields.forEach(function(t){r[t.name]=void 0}),Pi(i,o,t.constructorMethod.body,a,n)},s=t.parent?t.parent.visitExpression(n,e):Object;return o.prototype=Object.create(s.prototype,r),o}function Ai(t,e,n,r){return function(){for(var i=[],o=0;o<arguments.length;o++)i[o-0]=arguments[o];return Pi(t,i,e,n,r)}}function Mi(t,e,n,r){var i=n+"\nreturn "+e+"\n//# sourceURL="+t,o=[],s=[];for(var a in r)o.push(a),s.push(r[a]);return(new(Function.bind.apply(Function,[void 0].concat(o.concat(i))))).apply(void 0,s)}function Ri(t,e,n){var r=new ov,i=Md.createRoot([n]);return r.visitAllStatements(e,i),Mi(t,n,i.toSource(),r.getArgs())}function ki(t){if(!t.isComponent)throw new Error("Could not compile '"+b(t.type)+"' because it is not a component.")}function Ni(){Po.reflectionCapabilities=new Ao}function Ii(t){return{useDebug:Di(t.map(function(t){return t.useDebug})),useJit:Di(t.map(function(t){return t.useJit})),defaultEncapsulation:Di(t.map(function(t){return t.defaultEncapsulation})),providers:ji(t.map(function(t){return t.providers}))}}function Di(t){for(var e=t.length-1;e>=0;e--)if(void 0!==t[e])return t[e];return void 0}function ji(t){var e=[];return t.forEach(function(t){return t&&e.push.apply(e,t)}),e}var Li=new e.Version("2.4.9"),Vi=function(){function t(t,e,n){this.value=t,this.ngContentIndex=e,this.sourceSpan=n}return t.prototype.visit=function(t,e){return t.visitText(this,e)},t}(),Fi=function(){function t(t,e,n){this.value=t,this.ngContentIndex=e,this.sourceSpan=n}return t.prototype.visit=function(t,e){return t.visitBoundText(this,e)},t}(),Ui=function(){function t(t,e,n){this.name=t,this.value=e,this.sourceSpan=n}return t.prototype.visit=function(t,e){return t.visitAttr(this,e)},t}(),Bi=function(){function t(t,e,n,r,i,o,s){this.name=t,this.type=e,this.securityContext=n,this.needsRuntimeSecurityContext=r,this.value=i,this.unit=o,this.sourceSpan=s}return t.prototype.visit=function(t,e){return t.visitElementProperty(this,e)},Object.defineProperty(t.prototype,"isAnimation",{get:function(){return this.type===Zi.Animation},enumerable:!0,configurable:!0}),t}(),Hi=function(){function t(t,e,n,r,i){this.name=t,this.target=e,this.phase=n,this.handler=r,this.sourceSpan=i}return t.calcFullName=function(t,e,n){return e?e+":"+t:n?"@"+t+"."+n:t},t.prototype.visit=function(t,e){return t.visitEvent(this,e)},Object.defineProperty(t.prototype,"fullName",{get:function(){return t.calcFullName(this.name,this.target,this.phase)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isAnimation",{get:function(){return!!this.phase},enumerable:!0,configurable:!0}),t}(),qi=function(){function t(t,e,n){this.name=t,this.value=e,this.sourceSpan=n}return t.prototype.visit=function(t,e){return t.visitReference(this,e)},t}(),zi=function(){function t(t,e,n){this.name=t,this.value=e,this.sourceSpan=n}return t.prototype.visit=function(t,e){return t.visitVariable(this,e)},t}(),Wi=function(){function t(t,e,n,r,i,o,s,a,u,c,p,l){this.name=t,this.attrs=e,this.inputs=n,this.outputs=r,this.references=i,this.directives=o,this.providers=s,this.hasViewContainer=a,this.children=u,this.ngContentIndex=c,this.sourceSpan=p,this.endSourceSpan=l}return t.prototype.visit=function(t,e){return t.visitElement(this,e)},t}(),Gi=function(){function t(t,e,n,r,i,o,s,a,u,c){this.attrs=t,this.outputs=e,this.references=n,this.variables=r,this.directives=i,this.providers=o,this.hasViewContainer=s,this.children=a,this.ngContentIndex=u,this.sourceSpan=c}return t.prototype.visit=function(t,e){return t.visitEmbeddedTemplate(this,e)},t}(),Ki=function(){function t(t,e,n,r){this.directiveName=t,this.templateName=e,this.value=n,this.sourceSpan=r}return t.prototype.visit=function(t,e){return t.visitDirectiveProperty(this,e)},t}(),Xi=function(){function t(t,e,n,r,i){this.directive=t,this.inputs=e,this.hostProperties=n,this.hostEvents=r,this.sourceSpan=i}return t.prototype.visit=function(t,e){return t.visitDirective(this,e)},t}(),Qi=function(){function t(t,e,n,r,i,o,s){this.token=t,this.multiProvider=e,this.eager=n,this.providers=r,this.providerType=i,this.lifecycleHooks=o,this.sourceSpan=s}return t.prototype.visit=function(){return null},t}(),Yi={};Yi.PublicService=0,Yi.PrivateService=1,Yi.Component=2,Yi.Directive=3,Yi.Builtin=4,Yi[Yi.PublicService]="PublicService",Yi[Yi.PrivateService]="PrivateService",Yi[Yi.Component]="Component",Yi[Yi.Directive]="Directive",Yi[Yi.Builtin]="Builtin";var $i=function(){function t(t,e,n){this.index=t,this.ngContentIndex=e,this.sourceSpan=n}return t.prototype.visit=function(t,e){return t.visitNgContent(this,e)},t}(),Zi={};Zi.Property=0,Zi.Attribute=1,Zi.Class=2,Zi.Style=3,Zi.Animation=4,Zi[Zi.Property]="Property",Zi[Zi.Attribute]="Attribute",Zi[Zi.Class]="Class",Zi[Zi.Style]="Style",Zi[Zi.Animation]="Animation";var Ji=function(){function t(t,e,n){this.filePath=t,this.name=e,this.members=n}return t}(),to=function(){function t(){this.cache=new Map}return t.prototype.get=function(t,e,n){n=n||[];var r=n.length?"."+n.join("."):"",i='"'+t+'".'+e+r,o=this.cache.get(i);return o||(o=new Ji(t,e,n),this.cache.set(i,o)),o},t}(),eo=Object.getPrototypeOf({}),no=function(){function t(){}return t.parseIntAutoRadix=function(t){var e=parseInt(t);if(isNaN(e))throw new Error("Invalid integer literal when parsing "+t);return e},t.isNumeric=function(t){return!isNaN(t-parseFloat(t))},t}(),ro=function(){function t(){}return t.merge=function(t,e){for(var n={},r=0,i=Object.keys(t);r<i.length;r++){var o=i[r];n[o]=t[o]}for(var s=0,a=Object.keys(e);s<a.length;s++){var o=a[s];n[o]=e[o]}return n},t.equals=function(t,e){var n=Object.keys(t),r=Object.keys(e);if(n.length!=r.length)return!1;for(var i=0;i<n.length;i++){var o=n[i];if(t[o]!==e[o])return!1}return!0},t}(),io=function(){function t(){}return t.findLast=function(t,e){for(var n=t.length-1;n>=0;n--)if(e(t[n]))return t[n];return null},t.removeAll=function(t,e){for(var n=0;n<e.length;++n){var r=t.indexOf(e[n]);r>-1&&t.splice(r,1)}},t.remove=function(t,e){var n=t.indexOf(e);return n>-1?(t.splice(n,1),!0):!1},t.equals=function(t,e){if(t.length!=e.length)return!1;for(var n=0;n<t.length;++n)if(t[n]!==e[n])return!1;return!0},t.flatten=function(e){return e.reduce(function(e,n){var r=Array.isArray(n)?t.flatten(n):n;return e.concat(r)},[])},t}(),oo=e.__core_private__.isDefaultChangeDetectionStrategy,so=e.__core_private__.ChangeDetectorStatus,ao=e.__core_private__.LifecycleHooks,uo=e.__core_private__.LIFECYCLE_HOOKS_VALUES,co=e.__core_private__.ReflectorReader,po=e.__core_private__.ViewContainer,lo=e.__core_private__.CodegenComponentFactoryResolver,ho=e.__core_private__.ComponentRef_,fo=e.__core_private__.AppView,yo=e.__core_private__.DebugAppView,mo=e.__core_private__.NgModuleInjector,vo=e.__core_private__.registerModuleFactory,go=e.__core_private__.ViewType,_o=e.__core_private__.view_utils,bo=e.__core_private__.DebugContext,wo=e.__core_private__.StaticNodeDebugInfo,Eo=e.__core_private__.devModeEqual,So=e.__core_private__.UNINITIALIZED,Co=e.__core_private__.ValueUnwrapper,xo=e.__core_private__.TemplateRef_,To=e.__core_private__.Console,Po=e.__core_private__.reflector,Oo=e.__core_private__.Reflector,Ao=e.__core_private__.ReflectionCapabilities,Mo=e.__core_private__.NoOpAnimationPlayer,Ro=e.__core_private__.AnimationSequencePlayer,ko=e.__core_private__.AnimationGroupPlayer,No=e.__core_private__.AnimationKeyframe,Io=e.__core_private__.AnimationStyles,Do=e.__core_private__.ANY_STATE,jo=e.__core_private__.DEFAULT_STATE,Lo=e.__core_private__.EMPTY_STATE,Vo=e.__core_private__.FILL_STYLE_FLAG,Fo=e.__core_private__.prepareFinalAnimationStyles,Uo=e.__core_private__.balanceAnimationKeyframes,Bo=e.__core_private__.clearStyles,Ho=e.__core_private__.collectAndResolveStyles,qo=e.__core_private__.renderStyles,zo=e.__core_private__.ComponentStillLoadingError,Wo=e.__core_private__.AnimationTransition,Go={};Go.RAW_TEXT=0,Go.ESCAPABLE_RAW_TEXT=1,Go.PARSABLE_DATA=2,Go[Go.RAW_TEXT]="RAW_TEXT",Go[Go.ESCAPABLE_RAW_TEXT]="ESCAPABLE_RAW_TEXT",Go[Go.PARSABLE_DATA]="PARSABLE_DATA";var Ko={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",alefsym:"ℵ",Alpha:"Α",alpha:"α",amp:"&",and:"∧",ang:"∠",apos:"'",Aring:"Å",aring:"å",asymp:"≈",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",bdquo:"„",Beta:"Β",beta:"β",brvbar:"¦",bull:"•",cap:"∩",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",Chi:"Χ",chi:"χ",circ:"ˆ",clubs:"♣",cong:"≅",copy:"©",crarr:"↵",cup:"∪",curren:"¤",dagger:"†",Dagger:"‡",darr:"↓",dArr:"⇓",deg:"°",Delta:"Δ",delta:"δ",diams:"♦",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",empty:"∅",emsp:" ",ensp:" ",Epsilon:"Ε",epsilon:"ε",equiv:"≡",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",exist:"∃",fnof:"ƒ",forall:"∀",frac12:"½",frac14:"¼",frac34:"¾",frasl:"⁄",Gamma:"Γ",gamma:"γ",ge:"≥",gt:">",harr:"↔",hArr:"⇔",hearts:"♥",hellip:"…",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",image:"ℑ",infin:"∞","int":"∫",Iota:"Ι",iota:"ι",iquest:"¿",isin:"∈",Iuml:"Ï",iuml:"ï",Kappa:"Κ",kappa:"κ",Lambda:"Λ",lambda:"λ",lang:"⟨",laquo:"«",larr:"←",lArr:"⇐",lceil:"⌈",ldquo:"“",le:"≤",lfloor:"⌊",lowast:"∗",loz:"◊",lrm:"‎",lsaquo:"‹",lsquo:"‘",lt:"<",macr:"¯",mdash:"—",micro:"µ",middot:"·",minus:"−",Mu:"Μ",mu:"μ",nabla:"∇",nbsp:" ",ndash:"–",ne:"≠",ni:"∋",not:"¬",notin:"∉",nsub:"⊄",Ntilde:"Ñ",ntilde:"ñ",Nu:"Ν",nu:"ν",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",OElig:"Œ",oelig:"œ",Ograve:"Ò",ograve:"ò",oline:"‾",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",oplus:"⊕",or:"∨",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",otimes:"⊗",Ouml:"Ö",ouml:"ö",para:"¶",permil:"‰",perp:"⊥",Phi:"Φ",phi:"φ",Pi:"Π",pi:"π",piv:"ϖ",plusmn:"±",pound:"£",prime:"′",Prime:"″",prod:"∏",prop:"∝",Psi:"Ψ",psi:"ψ",quot:'"',radic:"√",rang:"⟩",raquo:"»",rarr:"→",rArr:"⇒",rceil:"⌉",rdquo:"”",real:"ℜ",reg:"®",rfloor:"⌋",Rho:"Ρ",rho:"ρ",rlm:"‏",rsaquo:"›",rsquo:"’",sbquo:"‚",Scaron:"Š",scaron:"š",sdot:"⋅",sect:"§",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sim:"∼",spades:"♠",sub:"⊂",sube:"⊆",sum:"∑",sup:"⊃",sup1:"¹",sup2:"²",sup3:"³",supe:"⊇",szlig:"ß",Tau:"Τ",tau:"τ",there4:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thinsp:" ",THORN:"Þ",thorn:"þ",tilde:"˜",times:"×",trade:"™",Uacute:"Ú",uacute:"ú",uarr:"↑",uArr:"⇑",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",Uuml:"Ü",uuml:"ü",weierp:"℘",Xi:"Ξ",xi:"ξ",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ",Yuml:"Ÿ",Zeta:"Ζ",zeta:"ζ",zwj:"‍",zwnj:"‌"},Xo=function(){function t(t){var e=this,n=void 0===t?{}:t,r=n.closedByChildren,i=n.requiredParents,o=n.implicitNamespacePrefix,s=n.contentType,a=void 0===s?Go.PARSABLE_DATA:s,u=n.closedByParent,c=void 0===u?!1:u,p=n.isVoid,l=void 0===p?!1:p,h=n.ignoreFirstLf,f=void 0===h?!1:h;this.closedByChildren={},this.closedByParent=!1,this.canSelfClose=!1,r&&r.length>0&&r.forEach(function(t){return e.closedByChildren[t]=!0}),this.isVoid=l,this.closedByParent=c||l,i&&i.length>0&&(this.requiredParents={},this.parentToAdd=i[0],i.forEach(function(t){return e.requiredParents[t]=!0})),this.implicitNamespacePrefix=o,this.contentType=a,this.ignoreFirstLf=f}return t.prototype.requireExtraParent=function(t){if(!this.requiredParents)return!1;if(!t)return!0;var e=t.toLowerCase();return 1!=this.requiredParents[e]&&"template"!=e},t.prototype.isClosedByChild=function(t){return this.isVoid||t.toLowerCase()in this.closedByChildren},t}(),Qo={base:new Xo({isVoid:!0}),meta:new Xo({isVoid:!0}),area:new Xo({isVoid:!0}),embed:new Xo({isVoid:!0}),link:new Xo({isVoid:!0}),img:new Xo({isVoid:!0}),input:new Xo({isVoid:!0}),param:new Xo({isVoid:!0}),hr:new Xo({isVoid:!0}),br:new Xo({isVoid:!0}),source:new Xo({isVoid:!0}),track:new Xo({isVoid:!0}),wbr:new Xo({isVoid:!0}),p:new Xo({closedByChildren:["address","article","aside","blockquote","div","dl","fieldset","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","main","nav","ol","p","pre","section","table","ul"],closedByParent:!0}),thead:new Xo({closedByChildren:["tbody","tfoot"]}),tbody:new Xo({closedByChildren:["tbody","tfoot"],closedByParent:!0}),tfoot:new Xo({closedByChildren:["tbody"],closedByParent:!0}),tr:new Xo({closedByChildren:["tr"],requiredParents:["tbody","tfoot","thead"],closedByParent:!0}),td:new Xo({closedByChildren:["td","th"],closedByParent:!0}),th:new Xo({closedByChildren:["td","th"],closedByParent:!0}),col:new Xo({requiredParents:["colgroup"],isVoid:!0}),svg:new Xo({implicitNamespacePrefix:"svg"}),math:new Xo({implicitNamespacePrefix:"math"}),li:new Xo({closedByChildren:["li"],closedByParent:!0}),dt:new Xo({closedByChildren:["dt","dd"]}),dd:new Xo({closedByChildren:["dt","dd"],closedByParent:!0}),rb:new Xo({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rt:new Xo({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rtc:new Xo({closedByChildren:["rb","rtc","rp"],closedByParent:!0}),rp:new Xo({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),optgroup:new Xo({closedByChildren:["optgroup"],closedByParent:!0}),option:new Xo({closedByChildren:["option","optgroup"],closedByParent:!0}),pre:new Xo({ignoreFirstLf:!0}),listing:new Xo({ignoreFirstLf:!0}),style:new Xo({contentType:Go.RAW_TEXT}),script:new Xo({contentType:Go.RAW_TEXT}),title:new Xo({contentType:Go.ESCAPABLE_RAW_TEXT}),textarea:new Xo({contentType:Go.ESCAPABLE_RAW_TEXT,ignoreFirstLf:!0})},Yo=new Xo,$o=new RegExp("(\\:not\\()|([-\\w]+)|(?:\\.([-\\w]+))|(?:\\[([-.\\w*]+)(?:=([^\\]]*))?\\])|(\\))|(\\s*,\\s*)","g"),Zo=function(){function t(){this.element=null,this.classNames=[],this.attrs=[],this.notSelectors=[]}return t.parse=function(e){var n,r=[],i=function(t,e){e.notSelectors.length>0&&!e.element&&0==e.classNames.length&&0==e.attrs.length&&(e.element="*"),t.push(e)},o=new t,s=o,a=!1;for($o.lastIndex=0;n=$o.exec(e);){if(n[1]){if(a)throw new Error("Nesting :not is not allowed in a selector");a=!0,s=new t,o.notSelectors.push(s)}if(n[2]&&s.setElement(n[2]),n[3]&&s.addClassName(n[3]),n[4]&&s.addAttribute(n[4],n[5]),n[6]&&(a=!1,s=o),n[7]){if(a)throw new Error("Multiple selectors in :not are not supported");i(r,o),o=s=new t}}return i(r,o),r},t.prototype.isElementSelector=function(){return this.hasElementSelector()&&0==this.classNames.length&&0==this.attrs.length&&0===this.notSelectors.length},t.prototype.hasElementSelector=function(){return!!this.element},t.prototype.setElement=function(t){void 0===t&&(t=null),this.element=t},t.prototype.getMatchingElementTemplate=function(){for(var t=this.element||"div",e=this.classNames.length>0?' class="'+this.classNames.join(" ")+'"':"",n="",r=0;r<this.attrs.length;r+=2){var i=this.attrs[r],o=""!==this.attrs[r+1]?'="'+this.attrs[r+1]+'"':"";n+=" "+i+o}return f(t).isVoid?"<"+t+e+n+"/>":"<"+t+e+n+"></"+t+">"},t.prototype.addAttribute=function(t,e){void 0===e&&(e=""),this.attrs.push(t,e&&e.toLowerCase()||"")},t.prototype.addClassName=function(t){this.classNames.push(t.toLowerCase())},t.prototype.toString=function(){var t=this.element||"";if(this.classNames&&this.classNames.forEach(function(e){return t+="."+e}),this.attrs)for(var e=0;e<this.attrs.length;e+=2){var n=this.attrs[e],r=this.attrs[e+1];t+="["+n+(r?"="+r:"")+"]"}return this.notSelectors.forEach(function(e){return t+=":not("+e+")"}),t},t}(),Jo=function(){function t(){this._elementMap=new Map,this._elementPartialMap=new Map,this._classMap=new Map,this._classPartialMap=new Map,this._attrValueMap=new Map,this._attrValuePartialMap=new Map,this._listContexts=[]}return t.createNotMatcher=function(e){var n=new t;return n.addSelectables(e,null),n},t.prototype.addSelectables=function(t,e){var n=null;t.length>1&&(n=new ts(t),this._listContexts.push(n));for(var r=0;r<t.length;r++)this._addSelectable(t[r],e,n)},t.prototype._addSelectable=function(t,e,n){var r=this,i=t.element,o=t.classNames,s=t.attrs,a=new es(t,e,n);if(i){var u=0===s.length&&0===o.length;u?this._addTerminal(r._elementMap,i,a):r=this._addPartial(r._elementPartialMap,i)}if(o)for(var c=0;c<o.length;c++){var u=0===s.length&&c===o.length-1,p=o[c];u?this._addTerminal(r._classMap,p,a):r=this._addPartial(r._classPartialMap,p)}if(s)for(var c=0;c<s.length;c+=2){var u=c===s.length-2,l=s[c],h=s[c+1];if(u){var f=r._attrValueMap,d=f.get(l);d||(d=new Map,f.set(l,d)),this._addTerminal(d,h,a)}else{var y=r._attrValuePartialMap,m=y.get(l);m||(m=new Map,y.set(l,m)),r=this._addPartial(m,h)}}},t.prototype._addTerminal=function(t,e,n){var r=t.get(e);r||(r=[],t.set(e,r)),r.push(n)},t.prototype._addPartial=function(e,n){var r=e.get(n);return r||(r=new t,e.set(n,r)),r},t.prototype.match=function(t,e){for(var n=!1,r=t.element,i=t.classNames,o=t.attrs,s=0;s<this._listContexts.length;s++)this._listContexts[s].alreadyMatched=!1;if(n=this._matchTerminal(this._elementMap,r,t,e)||n,n=this._matchPartial(this._elementPartialMap,r,t,e)||n,i)for(var s=0;s<i.length;s++){var a=i[s];n=this._matchTerminal(this._classMap,a,t,e)||n,n=this._matchPartial(this._classPartialMap,a,t,e)||n}if(o)for(var s=0;s<o.length;s+=2){var u=o[s],c=o[s+1],p=this._attrValueMap.get(u);c&&(n=this._matchTerminal(p,"",t,e)||n),n=this._matchTerminal(p,c,t,e)||n;var l=this._attrValuePartialMap.get(u);c&&(n=this._matchPartial(l,"",t,e)||n),n=this._matchPartial(l,c,t,e)||n}return n},t.prototype._matchTerminal=function(t,e,n,r){if(!t||"string"!=typeof e)return!1;var i=t.get(e)||[],o=t.get("*");if(o&&(i=i.concat(o)),0===i.length)return!1;for(var s,a=!1,u=0;u<i.length;u++)s=i[u],a=s.finalize(n,r)||a;return a},t.prototype._matchPartial=function(t,e,n,r){if(!t||"string"!=typeof e)return!1;var i=t.get(e);return i?i.match(n,r):!1},t}(),ts=function(){function t(t){this.selectors=t,this.alreadyMatched=!1}return t}(),es=function(){function t(t,e,n){this.selector=t,this.cbContext=e,this.listContext=n,this.notSelectors=t.notSelectors}return t.prototype.finalize=function(t,e){var n=!0;if(this.notSelectors.length>0&&(!this.listContext||!this.listContext.alreadyMatched)){var r=Jo.createNotMatcher(this.notSelectors);n=!r.match(t,null)}return!n||!e||this.listContext&&this.listContext.alreadyMatched||(this.listContext&&(this.listContext.alreadyMatched=!0),e(this.selector,this.cbContext)),n},t}(),ns=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},rs=function(t){function e(e){t.call(this,e);var n=new Error(e);this._nativeError=n}return ns(e,t),Object.defineProperty(e.prototype,"message",{get:function(){return this._nativeError.message},set:function(t){this._nativeError.message=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"name",{get:function(){return this._nativeError.name},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"stack",{get:function(){return this._nativeError.stack},set:function(t){this._nativeError.stack=t},enumerable:!0,configurable:!0}),e.prototype.toString=function(){return this._nativeError.toString()},e}(Error),is=(function(t){function e(e,n){t.call(this,e+" caused by: "+(n instanceof Error?n.message:n)),this.originalError=n}return ns(e,t),Object.defineProperty(e.prototype,"stack",{get:function(){return(this.originalError instanceof Error?this.originalError:this._nativeError).stack},enumerable:!0,configurable:!0}),e}(rs),this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),os="",ss=/-+([a-z0-9])/g,as=function(){function t(){}return t.prototype.visitArray=function(t,e){var n=this;return t.map(function(t){return g(t,n,e)})},t.prototype.visitStringMap=function(t,e){var n=this,r={};return Object.keys(t).forEach(function(i){r[i]=g(t[i],n,e)}),r},t.prototype.visitPrimitive=function(t){return t},t.prototype.visitOther=function(t){return t},t}(),us=function(){function t(t,e){void 0===e&&(e=null),this.syncResult=t,this.asyncResult=e,e||(this.asyncResult=Promise.resolve(t))}return t}(),cs=function(t){function e(){t.apply(this,arguments)}return is(e,t),e}(rs),ps=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},ls=/^(?:(?:\[([^\]]+)\])|(?:\(([^\)]+)\)))|(\@[-\w]+)$/,hs=function(){function t(t,e){void 0===t&&(t=null),void 0===e&&(e=null),this.name=t,this.definitions=e}return t}(),fs=function(){function t(){}return t}(),ds=function(t){function e(e,n){t.call(this),this.stateNameExpr=e,this.styles=n}return ps(e,t),e}(fs),ys=function(t){function e(e,n){t.call(this),this.stateChangeExpr=e,this.steps=n}return ps(e,t),e}(fs),ms=function(){function t(){}return t}(),vs=function(t){function e(e){void 0===e&&(e=[]),t.call(this),this.steps=e}return ps(e,t),e}(ms),gs=function(t){function e(e,n){void 0===n&&(n=null),t.call(this),this.offset=e,this.styles=n}return ps(e,t),e}(ms),_s=function(t){function e(e,n){void 0===e&&(e=0),void 0===n&&(n=null),t.call(this),this.timings=e,this.styles=n}return ps(e,t),e}(ms),bs=function(t){function e(e){void 0===e&&(e=null),t.call(this),this.steps=e}return ps(e,t),e}(ms),ws=function(t){function e(e){void 0===e&&(e=null),t.call(this,e)}return ps(e,t),e}(bs),Es=function(t){function e(e){void 0===e&&(e=null),t.call(this,e)}return ps(e,t),e}(bs),Ss=0,Cs={};Cs.Pipe=0,Cs.Directive=1,Cs.NgModule=2,Cs.Injectable=3,Cs[Cs.Pipe]="Pipe",Cs[Cs.Directive]="Directive",Cs[Cs.NgModule]="NgModule",Cs[Cs.Injectable]="Injectable";var xs=function(){function t(t){var e=void 0===t?{}:t,n=e.moduleUrl,r=e.styles,i=e.styleUrls;this.moduleUrl=n,this.styles=x(r),this.styleUrls=x(i)}return t}(),Ts=function(){function t(t){var e=void 0===t?{}:t,n=e.encapsulation,r=e.template,i=e.templateUrl,o=e.styles,s=e.styleUrls,a=e.externalStylesheets,u=e.animations,c=e.ngContentSelectors,p=e.interpolation;if(this.encapsulation=n,this.template=r,this.templateUrl=i,this.styles=x(o),this.styleUrls=x(s),this.externalStylesheets=x(a),this.animations=u?io.flatten(u):[],this.ngContentSelectors=c||[],p&&2!=p.length)throw new Error("'interpolation' should have a start and an end symbol.");this.interpolation=p}return t.prototype.toSummary=function(){return{animations:this.animations.map(function(t){return t.name}),ngContentSelectors:this.ngContentSelectors,encapsulation:this.encapsulation}},t}(),Ps=function(){function t(t){var e=void 0===t?{}:t,n=e.isHost,r=e.type,i=e.isComponent,o=e.selector,s=e.exportAs,a=e.changeDetection,u=e.inputs,c=e.outputs,p=e.hostListeners,l=e.hostProperties,h=e.hostAttributes,f=e.providers,d=e.viewProviders,y=e.queries,m=e.viewQueries,v=e.entryComponents,g=e.template;this.isHost=!!n,this.type=r,this.isComponent=i,this.selector=o,this.exportAs=s,this.changeDetection=a,this.inputs=u,this.outputs=c,this.hostListeners=p,this.hostProperties=l,this.hostAttributes=h,this.providers=x(f),this.viewProviders=x(d),this.queries=x(y),this.viewQueries=x(m),this.entryComponents=x(v),this.template=g}return t.create=function(e){var n=void 0===e?{}:e,i=n.isHost,o=n.type,s=n.isComponent,a=n.selector,u=n.exportAs,c=n.changeDetection,p=n.inputs,l=n.outputs,h=n.host,f=n.providers,d=n.viewProviders,m=n.queries,v=n.viewQueries,g=n.entryComponents,_=n.template,b={},w={},E={};r(h)&&Object.keys(h).forEach(function(t){var e=h[t],n=t.match(ls);null===n?E[t]=e:r(n[1])?w[n[1]]=e:r(n[2])&&(b[n[2]]=e)});var S={};r(p)&&p.forEach(function(t){var e=y(t,[t,t]);S[e[0]]=e[1]});var C={};return r(l)&&l.forEach(function(t){var e=y(t,[t,t]);C[e[0]]=e[1]}),new t({isHost:i,type:o,isComponent:!!s,selector:a,exportAs:u,changeDetection:c,inputs:S,outputs:C,hostListeners:b,hostProperties:w,hostAttributes:E,providers:f,viewProviders:d,queries:m,viewQueries:v,entryComponents:g,template:_})},t.prototype.toSummary=function(){return{summaryKind:Cs.Directive,type:this.type,isComponent:this.isComponent,selector:this.selector,exportAs:this.exportAs,inputs:this.inputs,outputs:this.outputs,hostListeners:this.hostListeners,hostProperties:this.hostProperties,hostAttributes:this.hostAttributes,providers:this.providers,viewProviders:this.viewProviders,queries:this.queries,entryComponents:this.entryComponents,changeDetection:this.changeDetection,template:this.template&&this.template.toSummary()}},t}(),Os=function(){function t(t){var e=void 0===t?{}:t,n=e.type,r=e.name,i=e.pure;this.type=n,this.name=r,this.pure=!!i}return t.prototype.toSummary=function(){return{summaryKind:Cs.Pipe,type:this.type,name:this.name,pure:this.pure}},t}(),As=function(){function t(t){var e=void 0===t?{}:t,n=e.type,r=e.providers,i=e.declaredDirectives,o=e.exportedDirectives,s=e.declaredPipes,a=e.exportedPipes,u=e.entryComponents,c=e.bootstrapComponents,p=e.importedModules,l=e.exportedModules,h=e.schemas,f=e.transitiveModule,d=e.id;this.type=n,this.declaredDirectives=x(i),this.exportedDirectives=x(o),this.declaredPipes=x(s),this.exportedPipes=x(a),this.providers=x(r),this.entryComponents=x(u),this.bootstrapComponents=x(c),
-this.importedModules=x(p),this.exportedModules=x(l),this.schemas=x(h),this.id=d,this.transitiveModule=f}return t.prototype.toSummary=function(){return{summaryKind:Cs.NgModule,type:this.type,entryComponents:this.transitiveModule.entryComponents,providers:this.transitiveModule.providers,modules:this.transitiveModule.modules,exportedDirectives:this.transitiveModule.exportedDirectives,exportedPipes:this.transitiveModule.exportedPipes}},t}(),Ms=function(){function t(){this.directivesSet=new Set,this.directives=[],this.exportedDirectivesSet=new Set,this.exportedDirectives=[],this.pipesSet=new Set,this.pipes=[],this.exportedPipesSet=new Set,this.exportedPipes=[],this.modulesSet=new Set,this.modules=[],this.entryComponentsSet=new Set,this.entryComponents=[],this.providers=[]}return t.prototype.addProvider=function(t,e){this.providers.push({provider:t,module:e})},t.prototype.addDirective=function(t){this.directivesSet.has(t.reference)||(this.directivesSet.add(t.reference),this.directives.push(t))},t.prototype.addExportedDirective=function(t){this.exportedDirectivesSet.has(t.reference)||(this.exportedDirectivesSet.add(t.reference),this.exportedDirectives.push(t))},t.prototype.addPipe=function(t){this.pipesSet.has(t.reference)||(this.pipesSet.add(t.reference),this.pipes.push(t))},t.prototype.addExportedPipe=function(t){this.exportedPipesSet.has(t.reference)||(this.exportedPipesSet.add(t.reference),this.exportedPipes.push(t))},t.prototype.addModule=function(t){this.modulesSet.has(t.reference)||(this.modulesSet.add(t.reference),this.modules.push(t))},t.prototype.addEntryComponent=function(t){this.entryComponentsSet.has(t.reference)||(this.entryComponentsSet.add(t.reference),this.entryComponents.push(t))},t}(),Rs=function(){function t(t,e){var n=e.useClass,r=e.useValue,i=e.useExisting,o=e.useFactory,s=e.deps,a=e.multi;this.token=t,this.useClass=n,this.useValue=r,this.useExisting=i,this.useFactory=o,this.dependencies=s,this.multi=!!a}return t}(),ks=0,Ns=9,Is=10,Ds=11,js=12,Ls=13,Vs=32,Fs=33,Us=34,Bs=35,Hs=36,qs=37,zs=38,Ws=39,Gs=40,Ks=41,Xs=42,Qs=43,Ys=44,$s=45,Zs=46,Js=47,ta=58,ea=59,na=60,ra=61,ia=62,oa=63,sa=48,aa=57,ua=65,ca=69,pa=70,la=88,ha=90,fa=91,da=92,ya=93,ma=94,va=95,ga=97,_a=101,ba=102,wa=110,Ea=114,Sa=116,Ca=117,xa=118,Ta=120,Pa=122,Oa=123,Aa=124,Ma=125,Ra=160,ka=96,Na=[/^\s*$/,/[<>]/,/^[{}]$/,/&(#|[a-z])/i,/^\/\//],Ia=function(){function t(t,e){this.start=t,this.end=e}return t.fromArray=function(e){return e?(k("interpolation",e),new t(e[0],e[1])):Da},t}(),Da=new Ia("{{","}}"),ja=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},La=function(){function t(t,e,n,r){this.input=e,this.errLocation=n,this.ctxLocation=r,this.message="Parser Error: "+t+" "+n+" ["+e+"] in "+r}return t}(),Va=function(){function t(t,e){this.start=t,this.end=e}return t}(),Fa=function(){function t(t){this.span=t}return t.prototype.visit=function(t,e){return void 0===e&&(e=null),null},t.prototype.toString=function(){return"AST"},t}(),Ua=function(t){function e(e,n,r,i){t.call(this,e),this.prefix=n,this.uninterpretedExpression=r,this.location=i}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitQuote(this,e)},e.prototype.toString=function(){return"Quote"},e}(Fa),Ba=function(t){function e(){t.apply(this,arguments)}return ja(e,t),e.prototype.visit=function(t,e){void 0===e&&(e=null)},e}(Fa),Ha=function(t){function e(){t.apply(this,arguments)}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitImplicitReceiver(this,e)},e}(Fa),qa=function(t){function e(e,n){t.call(this,e),this.expressions=n}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitChain(this,e)},e}(Fa),za=function(t){function e(e,n,r,i){t.call(this,e),this.condition=n,this.trueExp=r,this.falseExp=i}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitConditional(this,e)},e}(Fa),Wa=function(t){function e(e,n,r){t.call(this,e),this.receiver=n,this.name=r}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitPropertyRead(this,e)},e}(Fa),Ga=function(t){function e(e,n,r,i){t.call(this,e),this.receiver=n,this.name=r,this.value=i}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitPropertyWrite(this,e)},e}(Fa),Ka=function(t){function e(e,n,r){t.call(this,e),this.receiver=n,this.name=r}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitSafePropertyRead(this,e)},e}(Fa),Xa=function(t){function e(e,n,r){t.call(this,e),this.obj=n,this.key=r}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitKeyedRead(this,e)},e}(Fa),Qa=function(t){function e(e,n,r,i){t.call(this,e),this.obj=n,this.key=r,this.value=i}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitKeyedWrite(this,e)},e}(Fa),Ya=function(t){function e(e,n,r,i){t.call(this,e),this.exp=n,this.name=r,this.args=i}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitPipe(this,e)},e}(Fa),$a=function(t){function e(e,n){t.call(this,e),this.value=n}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitLiteralPrimitive(this,e)},e}(Fa),Za=function(t){function e(e,n){t.call(this,e),this.expressions=n}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitLiteralArray(this,e)},e}(Fa),Ja=function(t){function e(e,n,r){t.call(this,e),this.keys=n,this.values=r}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitLiteralMap(this,e)},e}(Fa),tu=function(t){function e(e,n,r){t.call(this,e),this.strings=n,this.expressions=r}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitInterpolation(this,e)},e}(Fa),eu=function(t){function e(e,n,r,i){t.call(this,e),this.operation=n,this.left=r,this.right=i}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitBinary(this,e)},e}(Fa),nu=function(t){function e(e,n){t.call(this,e),this.expression=n}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitPrefixNot(this,e)},e}(Fa),ru=function(t){function e(e,n,r,i){t.call(this,e),this.receiver=n,this.name=r,this.args=i}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitMethodCall(this,e)},e}(Fa),iu=function(t){function e(e,n,r,i){t.call(this,e),this.receiver=n,this.name=r,this.args=i}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitSafeMethodCall(this,e)},e}(Fa),ou=function(t){function e(e,n,r){t.call(this,e),this.target=n,this.args=r}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitFunctionCall(this,e)},e}(Fa),su=function(t){function e(e,n,r,o){t.call(this,new Va(0,i(n)?0:n.length)),this.ast=e,this.source=n,this.location=r,this.errors=o}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),this.ast.visit(t,e)},e.prototype.toString=function(){return this.source+" in "+this.location},e}(Fa),au=function(){function t(t,e,n,r,i){this.span=t,this.key=e,this.keyIsVar=n,this.name=r,this.expression=i}return t}(),uu=function(){function t(){}return t.prototype.visitBinary=function(t){return t.left.visit(this),t.right.visit(this),null},t.prototype.visitChain=function(t,e){return this.visitAll(t.expressions,e)},t.prototype.visitConditional=function(t){return t.condition.visit(this),t.trueExp.visit(this),t.falseExp.visit(this),null},t.prototype.visitPipe=function(t,e){return t.exp.visit(this),this.visitAll(t.args,e),null},t.prototype.visitFunctionCall=function(t,e){return t.target.visit(this),this.visitAll(t.args,e),null},t.prototype.visitImplicitReceiver=function(){return null},t.prototype.visitInterpolation=function(t,e){return this.visitAll(t.expressions,e)},t.prototype.visitKeyedRead=function(t){return t.obj.visit(this),t.key.visit(this),null},t.prototype.visitKeyedWrite=function(t){return t.obj.visit(this),t.key.visit(this),t.value.visit(this),null},t.prototype.visitLiteralArray=function(t,e){return this.visitAll(t.expressions,e)},t.prototype.visitLiteralMap=function(t,e){return this.visitAll(t.values,e)},t.prototype.visitLiteralPrimitive=function(){return null},t.prototype.visitMethodCall=function(t,e){return t.receiver.visit(this),this.visitAll(t.args,e)},t.prototype.visitPrefixNot=function(t){return t.expression.visit(this),null},t.prototype.visitPropertyRead=function(t){return t.receiver.visit(this),null},t.prototype.visitPropertyWrite=function(t){return t.receiver.visit(this),t.value.visit(this),null},t.prototype.visitSafePropertyRead=function(t){return t.receiver.visit(this),null},t.prototype.visitSafeMethodCall=function(t,e){return t.receiver.visit(this),this.visitAll(t.args,e)},t.prototype.visitAll=function(t,e){var n=this;return t.forEach(function(t){return t.visit(n,e)}),null},t.prototype.visitQuote=function(){return null},t}(),cu=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},pu=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},lu={};lu.Character=0,lu.Identifier=1,lu.Keyword=2,lu.String=3,lu.Operator=4,lu.Number=5,lu.Error=6,lu[lu.Character]="Character",lu[lu.Identifier]="Identifier",lu[lu.Keyword]="Keyword",lu[lu.String]="String",lu[lu.Operator]="Operator",lu[lu.Number]="Number",lu[lu.Error]="Error";var hu=["var","let","null","undefined","true","false","if","else","this"],fu=function(){function t(){}return t.prototype.tokenize=function(t){for(var e=new mu(t),n=[],r=e.scanToken();null!=r;)n.push(r),r=e.scanToken();return n},t=cu([M(),pu("design:paramtypes",[])],t)}(),du=function(){function t(t,e,n,r){this.index=t,this.type=e,this.numValue=n,this.strValue=r}return t.prototype.isCharacter=function(t){return this.type==lu.Character&&this.numValue==t},t.prototype.isNumber=function(){return this.type==lu.Number},t.prototype.isString=function(){return this.type==lu.String},t.prototype.isOperator=function(t){return this.type==lu.Operator&&this.strValue==t},t.prototype.isIdentifier=function(){return this.type==lu.Identifier},t.prototype.isKeyword=function(){return this.type==lu.Keyword},t.prototype.isKeywordLet=function(){return this.type==lu.Keyword&&"let"==this.strValue},t.prototype.isKeywordNull=function(){return this.type==lu.Keyword&&"null"==this.strValue},t.prototype.isKeywordUndefined=function(){return this.type==lu.Keyword&&"undefined"==this.strValue},t.prototype.isKeywordTrue=function(){return this.type==lu.Keyword&&"true"==this.strValue},t.prototype.isKeywordFalse=function(){return this.type==lu.Keyword&&"false"==this.strValue},t.prototype.isKeywordThis=function(){return this.type==lu.Keyword&&"this"==this.strValue},t.prototype.isError=function(){return this.type==lu.Error},t.prototype.toNumber=function(){return this.type==lu.Number?this.numValue:-1},t.prototype.toString=function(){switch(this.type){case lu.Character:case lu.Identifier:case lu.Keyword:case lu.Operator:case lu.String:case lu.Error:return this.strValue;case lu.Number:return this.numValue.toString();default:return null}},t}(),yu=new du(-1,lu.Character,0,""),mu=function(){function t(t){this.input=t,this.peek=0,this.index=-1,this.length=t.length,this.advance()}return t.prototype.advance=function(){this.peek=++this.index>=this.length?ks:this.input.charCodeAt(this.index)},t.prototype.scanToken=function(){for(var t=this.input,e=this.length,n=this.peek,r=this.index;Vs>=n;){if(++r>=e){n=ks;break}n=t.charCodeAt(r)}if(this.peek=n,this.index=r,r>=e)return null;if(U(n))return this.scanIdentifier();if(P(n))return this.scanNumber(r);var i=r;switch(n){case Zs:return this.advance(),P(this.peek)?this.scanNumber(i):N(i,Zs);case Gs:case Ks:case Oa:case Ma:case fa:case ya:case Ys:case ta:case ea:return this.scanCharacter(i,n);case Ws:case Us:return this.scanString();case Bs:case Qs:case $s:case Xs:case Js:case qs:case ma:return this.scanOperator(i,String.fromCharCode(n));case oa:return this.scanComplexOperator(i,"?",Zs,".");case na:case ia:return this.scanComplexOperator(i,String.fromCharCode(n),ra,"=");case Fs:case ra:return this.scanComplexOperator(i,String.fromCharCode(n),ra,"=",ra,"=");case zs:return this.scanComplexOperator(i,"&",zs,"&");case Aa:return this.scanComplexOperator(i,"|",Aa,"|");case Ra:for(;T(this.peek);)this.advance();return this.scanToken()}return this.advance(),this.error("Unexpected character ["+String.fromCharCode(n)+"]",0)},t.prototype.scanCharacter=function(t,e){return this.advance(),N(t,e)},t.prototype.scanOperator=function(t,e){return this.advance(),j(t,e)},t.prototype.scanComplexOperator=function(t,e,n,r,i,o){this.advance();var s=e;return this.peek==n&&(this.advance(),s+=r),null!=i&&this.peek==i&&(this.advance(),s+=o),j(t,s)},t.prototype.scanIdentifier=function(){var t=this.index;for(this.advance();H(this.peek);)this.advance();var e=this.input.substring(t,this.index);return hu.indexOf(e)>-1?D(t,e):I(t,e)},t.prototype.scanNumber=function(t){var e=this.index===t;for(this.advance();;){if(P(this.peek));else if(this.peek==Zs)e=!1;else{if(!q(this.peek))break;if(this.advance(),z(this.peek)&&this.advance(),!P(this.peek))return this.error("Invalid exponent",-1);e=!1}this.advance()}var n=this.input.substring(t,this.index),r=e?no.parseIntAutoRadix(n):parseFloat(n);return V(t,r)},t.prototype.scanString=function(){var t=this.index,e=this.peek;this.advance();for(var n="",r=this.index,i=this.input;this.peek!=e;)if(this.peek==da){n+=i.substring(r,this.index),this.advance();var o=void 0;if(this.peek==Ca){var s=i.substring(this.index+1,this.index+5);if(!/^[0-9a-f]+$/i.test(s))return this.error("Invalid unicode escape [\\u"+s+"]",0);o=parseInt(s,16);for(var a=0;5>a;a++)this.advance()}else o=G(this.peek),this.advance();n+=String.fromCharCode(o),r=this.index}else{if(this.peek==ks)return this.error("Unterminated quote",0);this.advance()}var u=i.substring(r,this.index);return this.advance(),L(t,n+u)},t.prototype.error=function(t,e){var n=this.index+e;return F(n,"Lexer Error: "+t+" at column "+n+" in expression ["+this.input+"]")},t}(),vu=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},gu=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},_u=function(){function t(t,e,n){this.strings=t,this.expressions=e,this.offsets=n}return t}(),bu=function(){function t(t,e,n){this.templateBindings=t,this.warnings=e,this.errors=n}return t}(),wu=function(){function t(t){this._lexer=t,this.errors=[]}return t.prototype.parseAction=function(t,e,n){void 0===n&&(n=Da),this._checkNoInterpolation(t,e,n);var r=this._stripComments(t),i=this._lexer.tokenize(this._stripComments(t)),o=new Eu(t,e,i,r.length,!0,this.errors,t.length-r.length).parseChain();return new su(o,t,e,this.errors)},t.prototype.parseBinding=function(t,e,n){void 0===n&&(n=Da);var r=this._parseBindingAst(t,e,n);return new su(r,t,e,this.errors)},t.prototype.parseSimpleBinding=function(t,e,n){void 0===n&&(n=Da);var r=this._parseBindingAst(t,e,n),i=Su.check(r);return i.length>0&&this._reportError("Host binding expression cannot contain "+i.join(" "),t,e),new su(r,t,e,this.errors)},t.prototype._reportError=function(t,e,n,r){this.errors.push(new La(t,e,n,r))},t.prototype._parseBindingAst=function(t,e,n){var i=this._parseQuote(t,e);if(r(i))return i;this._checkNoInterpolation(t,e,n);var o=this._stripComments(t),s=this._lexer.tokenize(o);return new Eu(t,e,s,o.length,!1,this.errors,t.length-o.length).parseChain()},t.prototype._parseQuote=function(t,e){if(i(t))return null;var n=t.indexOf(":");if(-1==n)return null;var r=t.substring(0,n).trim();if(!B(r))return null;var o=t.substring(n+1);return new Ua(new Va(0,t.length),r,o,e)},t.prototype.parseTemplateBindings=function(t,e,n){var r=this._lexer.tokenize(e);if(t){var i=this._lexer.tokenize(t).map(function(t){return t.index=0,t});r.unshift.apply(r,i)}return new Eu(e,n,r,e.length,!1,this.errors,0).parseTemplateBindings()},t.prototype.parseInterpolation=function(t,e,n){void 0===n&&(n=Da);var r=this.splitInterpolation(t,e,n);if(null==r)return null;for(var o=[],s=0;s<r.expressions.length;++s){var a=r.expressions[s],u=this._stripComments(a),c=this._lexer.tokenize(this._stripComments(r.expressions[s])),p=new Eu(t,e,c,u.length,!1,this.errors,r.offsets[s]+(a.length-u.length)).parseChain();o.push(p)}return new su(new tu(new Va(0,i(t)?0:t.length),r.strings,o),t,e,this.errors)},t.prototype.splitInterpolation=function(t,e,n){void 0===n&&(n=Da);var r=K(n),i=t.split(r);if(i.length<=1)return null;for(var o=[],s=[],a=[],u=0,c=0;c<i.length;c++){var p=i[c];c%2===0?(o.push(p),u+=p.length):p.trim().length>0?(u+=n.start.length,s.push(p),a.push(u),u+=p.length+n.end.length):(this._reportError("Blank expressions are not allowed in interpolated strings",t,"at column "+this._findInterpolationErrorColumn(i,c,n)+" in",e),s.push("$implict"),a.push(u))}return new _u(o,s,a)},t.prototype.wrapLiteralPrimitive=function(t,e){return new su(new $a(new Va(0,i(t)?0:t.length),t),t,e,this.errors)},t.prototype._stripComments=function(t){var e=this._commentStart(t);return r(e)?t.substring(0,e).trim():t},t.prototype._commentStart=function(t){for(var e=null,n=0;n<t.length-1;n++){var r=t.charCodeAt(n),o=t.charCodeAt(n+1);if(r===Js&&o==Js&&i(e))return n;e===r?e=null:i(e)&&W(r)&&(e=r)}return null},t.prototype._checkNoInterpolation=function(t,e,n){var r=K(n),i=t.split(r);i.length>1&&this._reportError("Got interpolation ("+n.start+n.end+") where expression was expected",t,"at column "+this._findInterpolationErrorColumn(i,1,n)+" in",e)},t.prototype._findInterpolationErrorColumn=function(t,e,n){for(var r="",i=0;e>i;i++)r+=i%2===0?t[i]:""+n.start+t[i]+n.end;return r.length},t=vu([M(),gu("design:paramtypes",[fu])],t)}(),Eu=function(){function t(t,e,n,r,i,o,s){this.input=t,this.location=e,this.tokens=n,this.inputLength=r,this.parseAction=i,this.errors=o,this.offset=s,this.rparensExpected=0,this.rbracketsExpected=0,this.rbracesExpected=0,this.index=0}return t.prototype.peek=function(t){var e=this.index+t;return e<this.tokens.length?this.tokens[e]:yu},Object.defineProperty(t.prototype,"next",{get:function(){return this.peek(0)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"inputIndex",{get:function(){return this.index<this.tokens.length?this.next.index+this.offset:this.inputLength+this.offset},enumerable:!0,configurable:!0}),t.prototype.span=function(t){return new Va(t,this.inputIndex)},t.prototype.advance=function(){this.index++},t.prototype.optionalCharacter=function(t){return this.next.isCharacter(t)?(this.advance(),!0):!1},t.prototype.peekKeywordLet=function(){return this.next.isKeywordLet()},t.prototype.expectCharacter=function(t){this.optionalCharacter(t)||this.error("Missing expected "+String.fromCharCode(t))},t.prototype.optionalOperator=function(t){return this.next.isOperator(t)?(this.advance(),!0):!1},t.prototype.expectOperator=function(t){this.optionalOperator(t)||this.error("Missing expected operator "+t)},t.prototype.expectIdentifierOrKeyword=function(){var t=this.next;return t.isIdentifier()||t.isKeyword()?(this.advance(),t.toString()):(this.error("Unexpected token "+t+", expected identifier or keyword"),"")},t.prototype.expectIdentifierOrKeywordOrString=function(){var t=this.next;return t.isIdentifier()||t.isKeyword()||t.isString()?(this.advance(),t.toString()):(this.error("Unexpected token "+t+", expected identifier, keyword, or string"),"")},t.prototype.parseChain=function(){for(var t=[],e=this.inputIndex;this.index<this.tokens.length;){var n=this.parsePipe();if(t.push(n),this.optionalCharacter(ea))for(this.parseAction||this.error("Binding expression cannot contain chained expression");this.optionalCharacter(ea););else this.index<this.tokens.length&&this.error("Unexpected token '"+this.next+"'")}return 0==t.length?new Ba(this.span(e)):1==t.length?t[0]:new qa(this.span(e),t)},t.prototype.parsePipe=function(){var t=this.parseExpression();if(this.optionalOperator("|")){this.parseAction&&this.error("Cannot have a pipe in an action expression");do{for(var e=this.expectIdentifierOrKeyword(),n=[];this.optionalCharacter(ta);)n.push(this.parseExpression());t=new Ya(this.span(t.span.start),t,e,n)}while(this.optionalOperator("|"))}return t},t.prototype.parseExpression=function(){return this.parseConditional()},t.prototype.parseConditional=function(){var t=this.inputIndex,e=this.parseLogicalOr();if(this.optionalOperator("?")){var n=this.parsePipe(),r=void 0;if(this.optionalCharacter(ta))r=this.parsePipe();else{var i=this.inputIndex,o=this.input.substring(t,i);this.error("Conditional expression "+o+" requires all 3 expressions"),r=new Ba(this.span(t))}return new za(this.span(t),e,n,r)}return e},t.prototype.parseLogicalOr=function(){for(var t=this.parseLogicalAnd();this.optionalOperator("||");){var e=this.parseLogicalAnd();t=new eu(this.span(t.span.start),"||",t,e)}return t},t.prototype.parseLogicalAnd=function(){for(var t=this.parseEquality();this.optionalOperator("&&");){var e=this.parseEquality();t=new eu(this.span(t.span.start),"&&",t,e)}return t},t.prototype.parseEquality=function(){for(var t=this.parseRelational();this.next.type==lu.Operator;){var e=this.next.strValue;switch(e){case"==":case"===":case"!=":case"!==":this.advance();var n=this.parseRelational();t=new eu(this.span(t.span.start),e,t,n);continue}break}return t},t.prototype.parseRelational=function(){for(var t=this.parseAdditive();this.next.type==lu.Operator;){var e=this.next.strValue;switch(e){case"<":case">":case"<=":case">=":this.advance();var n=this.parseAdditive();t=new eu(this.span(t.span.start),e,t,n);continue}break}return t},t.prototype.parseAdditive=function(){for(var t=this.parseMultiplicative();this.next.type==lu.Operator;){var e=this.next.strValue;switch(e){case"+":case"-":this.advance();var n=this.parseMultiplicative();t=new eu(this.span(t.span.start),e,t,n);continue}break}return t},t.prototype.parseMultiplicative=function(){for(var t=this.parsePrefix();this.next.type==lu.Operator;){var e=this.next.strValue;switch(e){case"*":case"%":case"/":this.advance();var n=this.parsePrefix();t=new eu(this.span(t.span.start),e,t,n);continue}break}return t},t.prototype.parsePrefix=function(){if(this.next.type==lu.Operator){var t=this.inputIndex,e=this.next.strValue,n=void 0;switch(e){case"+":return this.advance(),this.parsePrefix();case"-":return this.advance(),n=this.parsePrefix(),new eu(this.span(t),e,new $a(new Va(t,t),0),n);case"!":return this.advance(),n=this.parsePrefix(),new nu(this.span(t),n)}}return this.parseCallChain()},t.prototype.parseCallChain=function(){for(var t=this.parsePrimary();;)if(this.optionalCharacter(Zs))t=this.parseAccessMemberOrMethodCall(t,!1);else if(this.optionalOperator("?."))t=this.parseAccessMemberOrMethodCall(t,!0);else if(this.optionalCharacter(fa)){this.rbracketsExpected++;var e=this.parsePipe();if(this.rbracketsExpected--,this.expectCharacter(ya),this.optionalOperator("=")){var n=this.parseConditional();t=new Qa(this.span(t.span.start),t,e,n)}else t=new Xa(this.span(t.span.start),t,e)}else{if(!this.optionalCharacter(Gs))return t;this.rparensExpected++;var r=this.parseCallArguments();this.rparensExpected--,this.expectCharacter(Ks),t=new ou(this.span(t.span.start),t,r)}},t.prototype.parsePrimary=function(){var t=this.inputIndex;if(this.optionalCharacter(Gs)){this.rparensExpected++;var e=this.parsePipe();return this.rparensExpected--,this.expectCharacter(Ks),e}if(this.next.isKeywordNull())return this.advance(),new $a(this.span(t),null);if(this.next.isKeywordUndefined())return this.advance(),new $a(this.span(t),void 0);if(this.next.isKeywordTrue())return this.advance(),new $a(this.span(t),!0);if(this.next.isKeywordFalse())return this.advance(),new $a(this.span(t),!1);if(this.next.isKeywordThis())return this.advance(),new Ha(this.span(t));if(this.optionalCharacter(fa)){this.rbracketsExpected++;var n=this.parseExpressionList(ya);return this.rbracketsExpected--,this.expectCharacter(ya),new Za(this.span(t),n)}if(this.next.isCharacter(Oa))return this.parseLiteralMap();if(this.next.isIdentifier())return this.parseAccessMemberOrMethodCall(new Ha(this.span(t)),!1);if(this.next.isNumber()){var r=this.next.toNumber();return this.advance(),new $a(this.span(t),r)}if(this.next.isString()){var i=this.next.toString();return this.advance(),new $a(this.span(t),i)}return this.index>=this.tokens.length?(this.error("Unexpected end of expression: "+this.input),new Ba(this.span(t))):(this.error("Unexpected token "+this.next),new Ba(this.span(t)))},t.prototype.parseExpressionList=function(t){var e=[];if(!this.next.isCharacter(t))do e.push(this.parsePipe());while(this.optionalCharacter(Ys));return e},t.prototype.parseLiteralMap=function(){var t=[],e=[],n=this.inputIndex;if(this.expectCharacter(Oa),!this.optionalCharacter(Ma)){this.rbracesExpected++;do{var r=this.expectIdentifierOrKeywordOrString();t.push(r),this.expectCharacter(ta),e.push(this.parsePipe())}while(this.optionalCharacter(Ys));this.rbracesExpected--,this.expectCharacter(Ma)}return new Ja(this.span(n),t,e)},t.prototype.parseAccessMemberOrMethodCall=function(t,e){void 0===e&&(e=!1);var n=t.span.start,r=this.expectIdentifierOrKeyword();if(this.optionalCharacter(Gs)){this.rparensExpected++;var i=this.parseCallArguments();this.expectCharacter(Ks),this.rparensExpected--;var o=this.span(n);return e?new iu(o,t,r,i):new ru(o,t,r,i)}if(e)return this.optionalOperator("=")?(this.error("The '?.' operator cannot be used in the assignment"),new Ba(this.span(n))):new Ka(this.span(n),t,r);if(this.optionalOperator("=")){if(!this.parseAction)return this.error("Bindings cannot contain assignments"),new Ba(this.span(n));var s=this.parseConditional();return new Ga(this.span(n),t,r,s)}return new Wa(this.span(n),t,r)},t.prototype.parseCallArguments=function(){if(this.next.isCharacter(Ks))return[];var t=[];do t.push(this.parsePipe());while(this.optionalCharacter(Ys));return t},t.prototype.expectTemplateBindingKey=function(){var t="",e=!1;do t+=this.expectIdentifierOrKeywordOrString(),e=this.optionalOperator("-"),e&&(t+="-");while(e);return t.toString()},t.prototype.parseTemplateBindings=function(){for(var t=[],e=null,n=[];this.index<this.tokens.length;){var r=this.inputIndex,i=this.peekKeywordLet();i&&this.advance();var o=this.expectTemplateBindingKey();i||(null==e?e=o:o=e+o[0].toUpperCase()+o.substring(1)),this.optionalCharacter(ta);var s=null,a=null;if(i)s=this.optionalOperator("=")?this.expectTemplateBindingKey():"$implicit";else if(this.next!==yu&&!this.peekKeywordLet()){var u=this.inputIndex,c=this.parsePipe(),p=this.input.substring(u-this.offset,this.inputIndex-this.offset);a=new su(c,p,this.location,this.errors)}t.push(new au(this.span(r),o,i,s,a)),this.optionalCharacter(ea)||this.optionalCharacter(Ys)}return new bu(t,n,this.errors)},t.prototype.error=function(t,e){void 0===e&&(e=null),this.errors.push(new La(t,this.input,this.locationText(e),this.location)),this.skip()},t.prototype.locationText=function(t){return void 0===t&&(t=null),i(t)&&(t=this.index),t<this.tokens.length?"at column "+(this.tokens[t].index+1)+" in":"at the end of the expression"},t.prototype.skip=function(){for(var t=this.next;this.index<this.tokens.length&&!t.isCharacter(ea)&&(this.rparensExpected<=0||!t.isCharacter(Ks))&&(this.rbracesExpected<=0||!t.isCharacter(Ma))&&(this.rbracketsExpected<=0||!t.isCharacter(ya));)this.next.isError()&&this.errors.push(new La(this.next.toString(),this.input,this.locationText(),this.location)),this.advance(),t=this.next},t}(),Su=function(){function t(){this.errors=[]}return t.check=function(e){var n=new t;return e.visit(n),n.errors},t.prototype.visitImplicitReceiver=function(){},t.prototype.visitInterpolation=function(){},t.prototype.visitLiteralPrimitive=function(){},t.prototype.visitPropertyRead=function(){},t.prototype.visitPropertyWrite=function(){},t.prototype.visitSafePropertyRead=function(){},t.prototype.visitMethodCall=function(){},t.prototype.visitSafeMethodCall=function(){},t.prototype.visitFunctionCall=function(){},t.prototype.visitLiteralArray=function(t){this.visitAll(t.expressions)},t.prototype.visitLiteralMap=function(t){this.visitAll(t.values)},t.prototype.visitBinary=function(){},t.prototype.visitPrefixNot=function(){},t.prototype.visitConditional=function(){},t.prototype.visitPipe=function(){this.errors.push("pipes")},t.prototype.visitKeyedRead=function(){},t.prototype.visitKeyedWrite=function(){},t.prototype.visitAll=function(t){var e=this;return t.map(function(t){return t.visit(e)})},t.prototype.visitChain=function(){},t.prototype.visitQuote=function(){},t}(),Cu=function(){function t(t,e,n,r){this.file=t,this.offset=e,this.line=n,this.col=r}return t.prototype.toString=function(){return r(this.offset)?this.file.url+"@"+this.line+":"+this.col:this.file.url},t.prototype.moveBy=function(e){for(var n=this.file.content,r=n.length,i=this.offset,o=this.line,s=this.col;i>0&&0>e;){i--,e++;var a=n.charCodeAt(i);if(a==Is){o--;var u=n.substr(0,i-1).lastIndexOf(String.fromCharCode(Is));s=u>0?i-u:i}else s--}for(;r>i&&e>0;){var a=n.charCodeAt(i);i++,e--,a==Is?(o++,s=0):s++}return new t(this.file,i,o,s)},t.prototype.getContext=function(t,e){var n=this.file.content,i=this.offset;if(r(i)){i>n.length-1&&(i=n.length-1);for(var o=i,s=0,a=0;t>s&&i>0&&(i--,s++,"\n"!=n[i]||++a!=e););for(s=0,a=0;t>s&&o<n.length-1&&(o++,s++,"\n"!=n[o]||++a!=e););return{before:n.substring(i,this.offset),after:n.substring(this.offset,o+1)}}return null},t}(),xu=function(){function t(t,e){this.content=t,this.url=e}return t}(),Tu=function(){function t(t,e,n){void 0===n&&(n=null),this.start=t,this.end=e,this.details=n}return t.prototype.toString=function(){return this.start.file.content.substring(this.start.offset,this.end.offset)},t}(),Pu={};Pu.WARNING=0,Pu.FATAL=1,Pu[Pu.WARNING]="WARNING",Pu[Pu.FATAL]="FATAL";var Ou=function(){function t(t,e,n){void 0===n&&(n=Pu.FATAL),this.span=t,this.msg=e,this.level=n}return t.prototype.toString=function(){var t=this.span.start.getContext(100,3),e=t?' ("'+t.before+"[ERROR ->]"+t.after+'")':"",n=this.span.details?", "+this.span.details:"";return""+this.msg+e+": "+this.span.start+n},t}(),Au=function(){function t(t,e){this.value=t,this.sourceSpan=e}return t.prototype.visit=function(t,e){return t.visitText(this,e)},t}(),Mu=function(){function t(t,e,n,r,i){this.switchValue=t,this.type=e,this.cases=n,this.sourceSpan=r,this.switchValueSourceSpan=i}return t.prototype.visit=function(t,e){return t.visitExpansion(this,e)},t}(),Ru=function(){function t(t,e,n,r,i){this.value=t,this.expression=e,this.sourceSpan=n,this.valueSourceSpan=r,this.expSourceSpan=i}return t.prototype.visit=function(t,e){return t.visitExpansionCase(this,e)},t}(),ku=function(){function t(t,e,n,r){this.name=t,this.value=e,this.sourceSpan=n,this.valueSpan=r}return t.prototype.visit=function(t,e){return t.visitAttribute(this,e)},t}(),Nu=function(){function t(t,e,n,r,i,o){this.name=t,this.attrs=e,this.children=n,this.sourceSpan=r,this.startSourceSpan=i,this.endSourceSpan=o}return t.prototype.visit=function(t,e){return t.visitElement(this,e)},t}(),Iu=function(){function t(t,e){this.value=t,this.sourceSpan=e}return t.prototype.visit=function(t,e){return t.visitComment(this,e)},t}(),Du=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,
-new n)},ju={};ju.TAG_OPEN_START=0,ju.TAG_OPEN_END=1,ju.TAG_OPEN_END_VOID=2,ju.TAG_CLOSE=3,ju.TEXT=4,ju.ESCAPABLE_RAW_TEXT=5,ju.RAW_TEXT=6,ju.COMMENT_START=7,ju.COMMENT_END=8,ju.CDATA_START=9,ju.CDATA_END=10,ju.ATTR_NAME=11,ju.ATTR_VALUE=12,ju.DOC_TYPE=13,ju.EXPANSION_FORM_START=14,ju.EXPANSION_CASE_VALUE=15,ju.EXPANSION_CASE_EXP_START=16,ju.EXPANSION_CASE_EXP_END=17,ju.EXPANSION_FORM_END=18,ju.EOF=19,ju[ju.TAG_OPEN_START]="TAG_OPEN_START",ju[ju.TAG_OPEN_END]="TAG_OPEN_END",ju[ju.TAG_OPEN_END_VOID]="TAG_OPEN_END_VOID",ju[ju.TAG_CLOSE]="TAG_CLOSE",ju[ju.TEXT]="TEXT",ju[ju.ESCAPABLE_RAW_TEXT]="ESCAPABLE_RAW_TEXT",ju[ju.RAW_TEXT]="RAW_TEXT",ju[ju.COMMENT_START]="COMMENT_START",ju[ju.COMMENT_END]="COMMENT_END",ju[ju.CDATA_START]="CDATA_START",ju[ju.CDATA_END]="CDATA_END",ju[ju.ATTR_NAME]="ATTR_NAME",ju[ju.ATTR_VALUE]="ATTR_VALUE",ju[ju.DOC_TYPE]="DOC_TYPE",ju[ju.EXPANSION_FORM_START]="EXPANSION_FORM_START",ju[ju.EXPANSION_CASE_VALUE]="EXPANSION_CASE_VALUE",ju[ju.EXPANSION_CASE_EXP_START]="EXPANSION_CASE_EXP_START",ju[ju.EXPANSION_CASE_EXP_END]="EXPANSION_CASE_EXP_END",ju[ju.EXPANSION_FORM_END]="EXPANSION_FORM_END",ju[ju.EOF]="EOF";var Lu=function(){function t(t,e,n){this.type=t,this.parts=e,this.sourceSpan=n}return t}(),Vu=function(t){function e(e,n,r){t.call(this,r,e),this.tokenType=n}return Du(e,t),e}(Ou),Fu=function(){function t(t,e){this.tokens=t,this.errors=e}return t}(),Uu=/\r\n?/g,Bu=function(){function t(t){this.error=t}return t}(),Hu=function(){function t(t,e,n,r){void 0===r&&(r=Da),this._file=t,this._getTagDefinition=e,this._tokenizeIcu=n,this._interpolationConfig=r,this._peek=-1,this._nextPeek=-1,this._index=-1,this._line=0,this._column=-1,this._expansionCaseStack=[],this._inInterpolation=!1,this.tokens=[],this.errors=[],this._input=t.content,this._length=t.content.length,this._advance()}return t.prototype._processCarriageReturns=function(t){return t.replace(Uu,"\n")},t.prototype.tokenize=function(){for(;this._peek!==ks;){var t=this._getLocation();try{this._attemptCharCode(na)?this._attemptCharCode(Fs)?this._attemptCharCode(fa)?this._consumeCdata(t):this._attemptCharCode($s)?this._consumeComment(t):this._consumeDocType(t):this._attemptCharCode(Js)?this._consumeTagClose(t):this._consumeTagOpen(t):this._tokenizeIcu&&this._tokenizeExpansionForm()||this._consumeText()}catch(e){if(!(e instanceof Bu))throw e;this.errors.push(e.error)}}return this._beginToken(ju.EOF),this._endToken([]),new Fu(at(this.tokens),this.errors)},t.prototype._tokenizeExpansionForm=function(){if(rt(this._input,this._index,this._interpolationConfig))return this._consumeExpansionFormStart(),!0;if(it(this._peek)&&this._isInExpansionForm())return this._consumeExpansionCaseStart(),!0;if(this._peek===Ma){if(this._isInExpansionCase())return this._consumeExpansionCaseEnd(),!0;if(this._isInExpansionForm())return this._consumeExpansionFormEnd(),!0}return!1},t.prototype._getLocation=function(){return new Cu(this._file,this._index,this._line,this._column)},t.prototype._getSpan=function(t,e){return void 0===t&&(t=this._getLocation()),void 0===e&&(e=this._getLocation()),new Tu(t,e)},t.prototype._beginToken=function(t,e){void 0===e&&(e=this._getLocation()),this._currentTokenStart=e,this._currentTokenType=t},t.prototype._endToken=function(t,e){void 0===e&&(e=this._getLocation());var n=new Lu(this._currentTokenType,t,new Tu(this._currentTokenStart,e));return this.tokens.push(n),this._currentTokenStart=null,this._currentTokenType=null,n},t.prototype._createError=function(t,e){this._isInExpansionForm()&&(t+=' (Do you have an unescaped "{" in your template? Use "{{ \'{\' }}") to escape it.)');var n=new Vu(t,this._currentTokenType,e);return this._currentTokenStart=null,this._currentTokenType=null,new Bu(n)},t.prototype._advance=function(){if(this._index>=this._length)throw this._createError(Y(ks),this._getSpan());this._peek===Is?(this._line++,this._column=0):this._peek!==Is&&this._peek!==Ls&&this._column++,this._index++,this._peek=this._index>=this._length?ks:this._input.charCodeAt(this._index),this._nextPeek=this._index+1>=this._length?ks:this._input.charCodeAt(this._index+1)},t.prototype._attemptCharCode=function(t){return this._peek===t?(this._advance(),!0):!1},t.prototype._attemptCharCodeCaseInsensitive=function(t){return ot(this._peek,t)?(this._advance(),!0):!1},t.prototype._requireCharCode=function(t){var e=this._getLocation();if(!this._attemptCharCode(t))throw this._createError(Y(this._peek),this._getSpan(e,e))},t.prototype._attemptStr=function(t){var e=t.length;if(this._index+e>this._length)return!1;for(var n=this._savePosition(),r=0;e>r;r++)if(!this._attemptCharCode(t.charCodeAt(r)))return this._restorePosition(n),!1;return!0},t.prototype._attemptStrCaseInsensitive=function(t){for(var e=0;e<t.length;e++)if(!this._attemptCharCodeCaseInsensitive(t.charCodeAt(e)))return!1;return!0},t.prototype._requireStr=function(t){var e=this._getLocation();if(!this._attemptStr(t))throw this._createError(Y(this._peek),this._getSpan(e))},t.prototype._attemptCharCodeUntilFn=function(t){for(;!t(this._peek);)this._advance()},t.prototype._requireCharCodeUntilFn=function(t,e){var n=this._getLocation();if(this._attemptCharCodeUntilFn(t),this._index-n.offset<e)throw this._createError(Y(this._peek),this._getSpan(n,n))},t.prototype._attemptUntilChar=function(t){for(;this._peek!==t;)this._advance()},t.prototype._readChar=function(t){if(t&&this._peek===zs)return this._decodeEntity();var e=this._index;return this._advance(),this._input[e]},t.prototype._decodeEntity=function(){var t=this._getLocation();if(this._advance(),!this._attemptCharCode(Bs)){var e=this._savePosition();if(this._attemptCharCodeUntilFn(nt),this._peek!=ea)return this._restorePosition(e),"&";this._advance();var n=this._input.substring(t.offset+1,this._index-1),r=Ko[n];if(!r)throw this._createError($(n),this._getSpan(t));return r}var i=this._attemptCharCode(Ta)||this._attemptCharCode(la),o=this._getLocation().offset;if(this._attemptCharCodeUntilFn(et),this._peek!=ea)throw this._createError(Y(this._peek),this._getSpan());this._advance();var s=this._input.substring(o,this._index-1);try{var a=parseInt(s,i?16:10);return String.fromCharCode(a)}catch(u){var c=this._input.substring(t.offset+1,this._index-1);throw this._createError($(c),this._getSpan(t))}},t.prototype._consumeRawText=function(t,e,n){var r,i=this._getLocation();this._beginToken(t?ju.ESCAPABLE_RAW_TEXT:ju.RAW_TEXT,i);for(var o=[];;){if(r=this._getLocation(),this._attemptCharCode(e)&&n())break;for(this._index>r.offset&&o.push(this._input.substring(r.offset,this._index));this._peek!==e;)o.push(this._readChar(t))}return this._endToken([this._processCarriageReturns(o.join(""))],r)},t.prototype._consumeComment=function(t){var e=this;this._beginToken(ju.COMMENT_START,t),this._requireCharCode($s),this._endToken([]);var n=this._consumeRawText(!1,$s,function(){return e._attemptStr("->")});this._beginToken(ju.COMMENT_END,n.sourceSpan.end),this._endToken([])},t.prototype._consumeCdata=function(t){var e=this;this._beginToken(ju.CDATA_START,t),this._requireStr("CDATA["),this._endToken([]);var n=this._consumeRawText(!1,ya,function(){return e._attemptStr("]>")});this._beginToken(ju.CDATA_END,n.sourceSpan.end),this._endToken([])},t.prototype._consumeDocType=function(t){this._beginToken(ju.DOC_TYPE,t),this._attemptUntilChar(ia),this._advance(),this._endToken([this._input.substring(t.offset+2,this._index-1)])},t.prototype._consumePrefixAndName=function(){for(var t=this._index,e=null;this._peek!==ta&&!tt(this._peek);)this._advance();var n;this._peek===ta?(this._advance(),e=this._input.substring(t,this._index-1),n=this._index):n=t,this._requireCharCodeUntilFn(J,this._index===n?1:0);var r=this._input.substring(n,this._index);return[e,r]},t.prototype._consumeTagOpen=function(t){var e,n,r=this._savePosition();try{if(!O(this._peek))throw this._createError(Y(this._peek),this._getSpan());var i=this._index;for(this._consumeTagOpenStart(t),e=this._input.substring(i,this._index),n=e.toLowerCase(),this._attemptCharCodeUntilFn(Z);this._peek!==Js&&this._peek!==ia;)this._consumeAttributeName(),this._attemptCharCodeUntilFn(Z),this._attemptCharCode(ra)&&(this._attemptCharCodeUntilFn(Z),this._consumeAttributeValue()),this._attemptCharCodeUntilFn(Z);this._consumeTagOpenEnd()}catch(o){if(o instanceof Bu)return this._restorePosition(r),this._beginToken(ju.TEXT,t),void this._endToken(["<"]);throw o}var s=this._getTagDefinition(e).contentType;s===Go.RAW_TEXT?this._consumeRawTextWithTagClose(n,!1):s===Go.ESCAPABLE_RAW_TEXT&&this._consumeRawTextWithTagClose(n,!0)},t.prototype._consumeRawTextWithTagClose=function(t,e){var n=this,r=this._consumeRawText(e,na,function(){return n._attemptCharCode(Js)?(n._attemptCharCodeUntilFn(Z),n._attemptStrCaseInsensitive(t)?(n._attemptCharCodeUntilFn(Z),n._attemptCharCode(ia)):!1):!1});this._beginToken(ju.TAG_CLOSE,r.sourceSpan.end),this._endToken([null,t])},t.prototype._consumeTagOpenStart=function(t){this._beginToken(ju.TAG_OPEN_START,t);var e=this._consumePrefixAndName();this._endToken(e)},t.prototype._consumeAttributeName=function(){this._beginToken(ju.ATTR_NAME);var t=this._consumePrefixAndName();this._endToken(t)},t.prototype._consumeAttributeValue=function(){this._beginToken(ju.ATTR_VALUE);var t;if(this._peek===Ws||this._peek===Us){var e=this._peek;this._advance();for(var n=[];this._peek!==e;)n.push(this._readChar(!0));t=n.join(""),this._advance()}else{var r=this._index;this._requireCharCodeUntilFn(J,1),t=this._input.substring(r,this._index)}this._endToken([this._processCarriageReturns(t)])},t.prototype._consumeTagOpenEnd=function(){var t=this._attemptCharCode(Js)?ju.TAG_OPEN_END_VOID:ju.TAG_OPEN_END;this._beginToken(t),this._requireCharCode(ia),this._endToken([])},t.prototype._consumeTagClose=function(t){this._beginToken(ju.TAG_CLOSE,t),this._attemptCharCodeUntilFn(Z);var e=this._consumePrefixAndName();this._attemptCharCodeUntilFn(Z),this._requireCharCode(ia),this._endToken(e)},t.prototype._consumeExpansionFormStart=function(){this._beginToken(ju.EXPANSION_FORM_START,this._getLocation()),this._requireCharCode(Oa),this._endToken([]),this._expansionCaseStack.push(ju.EXPANSION_FORM_START),this._beginToken(ju.RAW_TEXT,this._getLocation());var t=this._readUntil(Ys);this._endToken([t],this._getLocation()),this._requireCharCode(Ys),this._attemptCharCodeUntilFn(Z),this._beginToken(ju.RAW_TEXT,this._getLocation());var e=this._readUntil(Ys);this._endToken([e],this._getLocation()),this._requireCharCode(Ys),this._attemptCharCodeUntilFn(Z)},t.prototype._consumeExpansionCaseStart=function(){this._beginToken(ju.EXPANSION_CASE_VALUE,this._getLocation());var t=this._readUntil(Oa).trim();this._endToken([t],this._getLocation()),this._attemptCharCodeUntilFn(Z),this._beginToken(ju.EXPANSION_CASE_EXP_START,this._getLocation()),this._requireCharCode(Oa),this._endToken([],this._getLocation()),this._attemptCharCodeUntilFn(Z),this._expansionCaseStack.push(ju.EXPANSION_CASE_EXP_START)},t.prototype._consumeExpansionCaseEnd=function(){this._beginToken(ju.EXPANSION_CASE_EXP_END,this._getLocation()),this._requireCharCode(Ma),this._endToken([],this._getLocation()),this._attemptCharCodeUntilFn(Z),this._expansionCaseStack.pop()},t.prototype._consumeExpansionFormEnd=function(){this._beginToken(ju.EXPANSION_FORM_END,this._getLocation()),this._requireCharCode(Ma),this._endToken([]),this._expansionCaseStack.pop()},t.prototype._consumeText=function(){var t=this._getLocation();this._beginToken(ju.TEXT,t);var e=[];do this._interpolationConfig&&this._attemptStr(this._interpolationConfig.start)?(e.push(this._interpolationConfig.start),this._inInterpolation=!0):this._interpolationConfig&&this._inInterpolation&&this._attemptStr(this._interpolationConfig.end)?(e.push(this._interpolationConfig.end),this._inInterpolation=!1):e.push(this._readChar(!0));while(!this._isTextEnd());this._endToken([this._processCarriageReturns(e.join(""))])},t.prototype._isTextEnd=function(){if(this._peek===na||this._peek===ks)return!0;if(this._tokenizeIcu&&!this._inInterpolation){if(rt(this._input,this._index,this._interpolationConfig))return!0;if(this._peek===Ma&&this._isInExpansionCase())return!0}return!1},t.prototype._savePosition=function(){return[this._peek,this._index,this._column,this._line,this.tokens.length]},t.prototype._readUntil=function(t){var e=this._index;return this._attemptUntilChar(t),this._input.substring(e,this._index)},t.prototype._restorePosition=function(t){this._peek=t[0],this._index=t[1],this._column=t[2],this._line=t[3];var e=t[4];e<this.tokens.length&&(this.tokens=this.tokens.slice(0,e))},t.prototype._isInExpansionCase=function(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===ju.EXPANSION_CASE_EXP_START},t.prototype._isInExpansionForm=function(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===ju.EXPANSION_FORM_START},t}(),qu=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},zu=function(t){function e(e,n,r){t.call(this,n,r),this.elementName=e}return qu(e,t),e.create=function(t,n,r){return new e(t,n,r)},e}(Ou),Wu=function(){function t(t,e){this.rootNodes=t,this.errors=e}return t}(),Gu=function(){function t(t){this.getTagDefinition=t}return t.prototype.parse=function(t,e,n,r){void 0===n&&(n=!1),void 0===r&&(r=Da);var i=Q(t,e,this.getTagDefinition,n,r),o=new Ku(i.tokens,this.getTagDefinition).build();return new Wu(o.rootNodes,i.errors.concat(o.errors))},t}(),Ku=function(){function t(t,e){this.tokens=t,this.getTagDefinition=e,this._index=-1,this._rootNodes=[],this._errors=[],this._elementStack=[],this._advance()}return t.prototype.build=function(){for(;this._peek.type!==ju.EOF;)this._peek.type===ju.TAG_OPEN_START?this._consumeStartTag(this._advance()):this._peek.type===ju.TAG_CLOSE?this._consumeEndTag(this._advance()):this._peek.type===ju.CDATA_START?(this._closeVoidElement(),this._consumeCdata(this._advance())):this._peek.type===ju.COMMENT_START?(this._closeVoidElement(),this._consumeComment(this._advance())):this._peek.type===ju.TEXT||this._peek.type===ju.RAW_TEXT||this._peek.type===ju.ESCAPABLE_RAW_TEXT?(this._closeVoidElement(),this._consumeText(this._advance())):this._peek.type===ju.EXPANSION_FORM_START?this._consumeExpansion(this._advance()):this._advance();return new Wu(this._rootNodes,this._errors)},t.prototype._advance=function(){var t=this._peek;return this._index<this.tokens.length-1&&this._index++,this._peek=this.tokens[this._index],t},t.prototype._advanceIf=function(t){return this._peek.type===t?this._advance():null},t.prototype._consumeCdata=function(){this._consumeText(this._advance()),this._advanceIf(ju.CDATA_END)},t.prototype._consumeComment=function(t){var e=this._advanceIf(ju.RAW_TEXT);this._advanceIf(ju.COMMENT_END);var n=r(e)?e.parts[0].trim():null;this._addToParent(new Iu(n,t.sourceSpan))},t.prototype._consumeExpansion=function(t){for(var e=this._advance(),n=this._advance(),r=[];this._peek.type===ju.EXPANSION_CASE_VALUE;){var i=this._parseExpansionCase();if(!i)return;r.push(i)}if(this._peek.type!==ju.EXPANSION_FORM_END)return void this._errors.push(zu.create(null,this._peek.sourceSpan,"Invalid ICU message. Missing '}'."));var o=new Tu(t.sourceSpan.start,this._peek.sourceSpan.end);this._addToParent(new Mu(e.parts[0],n.parts[0],r,o,e.sourceSpan)),this._advance()},t.prototype._parseExpansionCase=function(){var e=this._advance();if(this._peek.type!==ju.EXPANSION_CASE_EXP_START)return this._errors.push(zu.create(null,this._peek.sourceSpan,"Invalid ICU message. Missing '{'.")),null;var n=this._advance(),r=this._collectExpansionExpTokens(n);if(!r)return null;var i=this._advance();r.push(new Lu(ju.EOF,[],i.sourceSpan));var o=new t(r,this.getTagDefinition).build();if(o.errors.length>0)return this._errors=this._errors.concat(o.errors),null;var s=new Tu(e.sourceSpan.start,i.sourceSpan.end),a=new Tu(n.sourceSpan.start,i.sourceSpan.end);return new Ru(e.parts[0],o.rootNodes,s,e.sourceSpan,a)},t.prototype._collectExpansionExpTokens=function(t){for(var e=[],n=[ju.EXPANSION_CASE_EXP_START];;){if((this._peek.type===ju.EXPANSION_FORM_START||this._peek.type===ju.EXPANSION_CASE_EXP_START)&&n.push(this._peek.type),this._peek.type===ju.EXPANSION_CASE_EXP_END){if(!ut(n,ju.EXPANSION_CASE_EXP_START))return this._errors.push(zu.create(null,t.sourceSpan,"Invalid ICU message. Missing '}'.")),null;if(n.pop(),0==n.length)return e}if(this._peek.type===ju.EXPANSION_FORM_END){if(!ut(n,ju.EXPANSION_FORM_START))return this._errors.push(zu.create(null,t.sourceSpan,"Invalid ICU message. Missing '}'.")),null;n.pop()}if(this._peek.type===ju.EOF)return this._errors.push(zu.create(null,t.sourceSpan,"Invalid ICU message. Missing '}'.")),null;e.push(this._advance())}},t.prototype._consumeText=function(t){var e=t.parts[0];if(e.length>0&&"\n"==e[0]){var n=this._getParentElement();r(n)&&0==n.children.length&&this.getTagDefinition(n.name).ignoreFirstLf&&(e=e.substring(1))}e.length>0&&this._addToParent(new Au(e,t.sourceSpan))},t.prototype._closeVoidElement=function(){if(this._elementStack.length>0){var t=this._elementStack[this._elementStack.length-1];this.getTagDefinition(t.name).isVoid&&this._elementStack.pop()}},t.prototype._consumeStartTag=function(t){for(var e=t.parts[0],n=t.parts[1],r=[];this._peek.type===ju.ATTR_NAME;)r.push(this._consumeAttr(this._advance()));var i=this._getElementFullName(e,n,this._getParentElement()),o=!1;if(this._peek.type===ju.TAG_OPEN_END_VOID){this._advance(),o=!0;var s=this.getTagDefinition(i);s.canSelfClose||null!==l(i)||s.isVoid||this._errors.push(zu.create(i,t.sourceSpan,'Only void and foreign elements can be self closed "'+t.parts[1]+'"'))}else this._peek.type===ju.TAG_OPEN_END&&(this._advance(),o=!1);var a=this._peek.sourceSpan.start,u=new Tu(t.sourceSpan.start,a),c=new Nu(i,r,[],u,u,null);this._pushElement(c),o&&(this._popElement(i),c.endSourceSpan=u)},t.prototype._pushElement=function(t){if(this._elementStack.length>0){var e=this._elementStack[this._elementStack.length-1];this.getTagDefinition(e.name).isClosedByChild(t.name)&&this._elementStack.pop()}var n=this.getTagDefinition(t.name),r=this._getParentElementSkippingContainers(),i=r.parent,o=r.container;if(i&&n.requireExtraParent(i.name)){var s=new Nu(n.parentToAdd,[],[],t.sourceSpan,t.startSourceSpan,t.endSourceSpan);this._insertBeforeContainer(i,o,s)}this._addToParent(t),this._elementStack.push(t)},t.prototype._consumeEndTag=function(t){var e=this._getElementFullName(t.parts[0],t.parts[1],this._getParentElement());this._getParentElement()&&(this._getParentElement().endSourceSpan=t.sourceSpan),this.getTagDefinition(e).isVoid?this._errors.push(zu.create(e,t.sourceSpan,'Void elements do not have end tags "'+t.parts[1]+'"')):this._popElement(e)||this._errors.push(zu.create(e,t.sourceSpan,'Unexpected closing tag "'+t.parts[1]+'"'))},t.prototype._popElement=function(t){for(var e=this._elementStack.length-1;e>=0;e--){var n=this._elementStack[e];if(n.name==t)return this._elementStack.splice(e,this._elementStack.length-e),!0;if(!this.getTagDefinition(n.name).closedByParent)return!1}return!1},t.prototype._consumeAttr=function(t){var e,n=h(t.parts[0],t.parts[1]),r=t.sourceSpan.end,i="";if(this._peek.type===ju.ATTR_VALUE){var o=this._advance();i=o.parts[0],r=o.sourceSpan.end,e=o.sourceSpan}return new ku(n,i,new Tu(t.sourceSpan.start,r),e)},t.prototype._getParentElement=function(){return this._elementStack.length>0?this._elementStack[this._elementStack.length-1]:null},t.prototype._getParentElementSkippingContainers=function(){for(var t=null,e=this._elementStack.length-1;e>=0;e--){if("ng-container"!==this._elementStack[e].name)return{parent:this._elementStack[e],container:t};t=this._elementStack[e]}return{parent:this._elementStack[this._elementStack.length-1],container:t}},t.prototype._addToParent=function(t){var e=this._getParentElement();r(e)?e.children.push(t):this._rootNodes.push(t)},t.prototype._insertBeforeContainer=function(t,e,n){if(e){if(t){var r=t.children.indexOf(e);t.children[r]=n}else this._rootNodes.push(n);n.children.push(e),this._elementStack.splice(this._elementStack.indexOf(e),0,n)}else this._addToParent(n),this._elementStack.push(n)},t.prototype._getElementFullName=function(t,e,n){return i(t)&&(t=this.getTagDefinition(e).implicitNamespacePrefix,i(t)&&r(n)&&(t=l(n.name))),h(t,e)},t}(),Xu=function(){function t(t,e,n,r,i){this.nodes=t,this.placeholders=e,this.placeholderToMessage=n,this.meaning=r,this.description=i}return t}(),Qu=function(){function t(t,e){this.value=t,this.sourceSpan=e}return t.prototype.visit=function(t,e){return t.visitText(this,e)},t}(),Yu=function(){function t(t,e){this.children=t,this.sourceSpan=e}return t.prototype.visit=function(t,e){return t.visitContainer(this,e)},t}(),$u=function(){function t(t,e,n,r){this.expression=t,this.type=e,this.cases=n,this.sourceSpan=r}return t.prototype.visit=function(t,e){return t.visitIcu(this,e)},t}(),Zu=function(){function t(t,e,n,r,i,o,s){this.tag=t,this.attrs=e,this.startName=n,this.closeName=r,this.children=i,this.isVoid=o,this.sourceSpan=s}return t.prototype.visit=function(t,e){return t.visitTagPlaceholder(this,e)},t}(),Ju=function(){function t(t,e,n){this.value=t,this.name=e,this.sourceSpan=n}return t.prototype.visit=function(t,e){return t.visitPlaceholder(this,e)},t}(),tc=function(){function t(t,e,n){this.value=t,this.name=e,this.sourceSpan=n}return t.prototype.visit=function(t,e){return t.visitIcuPlaceholder(this,e)},t}(),ec={A:"LINK",B:"BOLD_TEXT",BR:"LINE_BREAK",EM:"EMPHASISED_TEXT",H1:"HEADING_LEVEL1",H2:"HEADING_LEVEL2",H3:"HEADING_LEVEL3",H4:"HEADING_LEVEL4",H5:"HEADING_LEVEL5",H6:"HEADING_LEVEL6",HR:"HORIZONTAL_RULE",I:"ITALIC_TEXT",LI:"LIST_ITEM",LINK:"MEDIA_LINK",OL:"ORDERED_LIST",P:"PARAGRAPH",Q:"QUOTATION",S:"STRIKETHROUGH_TEXT",SMALL:"SMALL_TEXT",SUB:"SUBSTRIPT",SUP:"SUPERSCRIPT",TBODY:"TABLE_BODY",TD:"TABLE_CELL",TFOOT:"TABLE_FOOTER",TH:"TABLE_HEADER_CELL",THEAD:"TABLE_HEADER",TR:"TABLE_ROW",TT:"MONOSPACED_TEXT",U:"UNDERLINED_TEXT",UL:"UNORDERED_LIST"},nc=function(){function t(){this._placeHolderNameCounts={},this._signatureToName={}}return t.prototype.getStartTagPlaceholderName=function(t,e,n){var r=this._hashTag(t,e,n);if(this._signatureToName[r])return this._signatureToName[r];var i=t.toUpperCase(),o=ec[i]||"TAG_"+i,s=this._generateUniqueName(n?o:"START_"+o);return this._signatureToName[r]=s,s},t.prototype.getCloseTagPlaceholderName=function(t){var e=this._hashClosingTag(t);if(this._signatureToName[e])return this._signatureToName[e];var n=t.toUpperCase(),r=ec[n]||"TAG_"+n,i=this._generateUniqueName("CLOSE_"+r);return this._signatureToName[e]=i,i},t.prototype.getPlaceholderName=function(t,e){var n=t.toUpperCase(),r="PH: "+n+"="+e;if(this._signatureToName[r])return this._signatureToName[r];var i=this._generateUniqueName(n);return this._signatureToName[r]=i,i},t.prototype.getUniquePlaceholder=function(t){return this._generateUniqueName(t.toUpperCase())},t.prototype._hashTag=function(t,e,n){var r="<"+t,i=Object.keys(e).sort().map(function(t){return" "+t+"="+e[t]}).join(""),o=n?"/>":"></"+t+">";return r+i+o},t.prototype._hashClosingTag=function(t){return this._hashTag("/"+t,{},!1)},t.prototype._generateUniqueName=function(t){var e=this._placeHolderNameCounts.hasOwnProperty(t);if(!e)return this._placeHolderNameCounts[t]=1,t;var n=this._placeHolderNameCounts[t];return this._placeHolderNameCounts[t]=n+1,t+"_"+n},t}(),rc=new wu(new fu),ic=function(){function t(t,e){this._expressionParser=t,this._interpolationConfig=e}return t.prototype.toI18nMessage=function(t,e,n){this._isIcu=1==t.length&&t[0]instanceof Mu,this._icuDepth=0,this._placeholderRegistry=new nc,this._placeholderToContent={},this._placeholderToMessage={};var r=X(this,t,{});return new Xu(r,this._placeholderToContent,this._placeholderToMessage,e,n)},t.prototype.visitElement=function(t){var e=X(this,t.children),n={};t.attrs.forEach(function(t){n[t.name]=t.value});var r=f(t.name).isVoid,i=this._placeholderRegistry.getStartTagPlaceholderName(t.name,n,r);this._placeholderToContent[i]=t.sourceSpan.toString();var o="";return r||(o=this._placeholderRegistry.getCloseTagPlaceholderName(t.name),this._placeholderToContent[o]="</"+t.name+">"),new Zu(t.name,n,i,o,e,r,t.sourceSpan)},t.prototype.visitAttribute=function(t){return this._visitTextWithInterpolation(t.value,t.sourceSpan)},t.prototype.visitText=function(t){return this._visitTextWithInterpolation(t.value,t.sourceSpan)},t.prototype.visitComment=function(){return null},t.prototype.visitExpansion=function(e){var n=this;this._icuDepth++;var r={},i=new $u(e.switchValue,e.type,r,e.sourceSpan);if(e.cases.forEach(function(t){r[t.value]=new Yu(t.expression.map(function(t){return t.visit(n,{})}),t.expSourceSpan)}),this._icuDepth--,this._isIcu||this._icuDepth>0){var o=this._placeholderRegistry.getUniquePlaceholder("VAR_"+e.type);return i.expressionPlaceholder=o,this._placeholderToContent[o]=e.switchValue,i}var s=this._placeholderRegistry.getPlaceholderName("ICU",e.sourceSpan.toString()),a=new t(this._expressionParser,this._interpolationConfig);return this._placeholderToMessage[s]=a.toI18nMessage([e],"",""),new tc(i,s,e.sourceSpan)},t.prototype.visitExpansionCase=function(){throw new Error("Unreachable code")},t.prototype._visitTextWithInterpolation=function(t,e){var n=this._expressionParser.splitInterpolation(t,e.start.toString(),this._interpolationConfig);if(!n)return new Qu(t,e);for(var r=[],i=new Yu(r,e),o=this._interpolationConfig,s=o.start,a=o.end,u=0;u<n.strings.length-1;u++){var c=n.expressions[u],p=pt(c)||"INTERPOLATION",l=this._placeholderRegistry.getPlaceholderName(p,c);n.strings[u].length&&r.push(new Qu(n.strings[u],e)),r.push(new Ju(c,l,e)),this._placeholderToContent[l]=s+c+a}var h=n.strings.length-1;return n.strings[h].length&&r.push(new Qu(n.strings[h],e)),i},t}(),oc=/\/\/[\s\S]*i18n[\s\S]*\([\s\S]*ph[\s\S]*=[\s\S]*"([\s\S]*?)"[\s\S]*\)/g,sc=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},ac=function(t){function e(e,n){t.call(this,e,n)}return sc(e,t),e}(Ou),uc="i18n",cc="i18n-",pc=/^i18n:?/,lc=function(){function t(t,e){this.messages=t,this.errors=e}return t}(),hc={};hc.Extract=0,hc.Merge=1,hc[hc.Extract]="Extract",hc[hc.Merge]="Merge";var fc=function(){function t(t,e){this._implicitTags=t,this._implicitAttrs=e}return t.prototype.extract=function(t,e){var n=this;return this._init(hc.Extract,e),t.forEach(function(t){return t.visit(n,null)}),this._inI18nBlock&&this._reportError(t[t.length-1],"Unclosed block"),new lc(this._messages,this._errors)},t.prototype.merge=function(t,e,n){this._init(hc.Merge,n),this._translations=e;var r=new Nu("wrapper",[],t,null,null,null),i=r.visit(this,null);return this._inI18nBlock&&this._reportError(t[t.length-1],"Unclosed block"),new Wu(i.children,this._errors)},t.prototype.visitExpansionCase=function(t,e){var n=X(this,t.expression,e);return this._mode===hc.Merge?new Ru(t.value,n,t.sourceSpan,t.valueSourceSpan,t.expSourceSpan):void 0},t.prototype.visitExpansion=function(t,e){this._mayBeAddBlockChildren(t);var n=this._inIcu;this._inIcu||(this._isInTranslatableSection&&this._addMessage([t]),this._inIcu=!0);var r=X(this,t.cases,e);return this._mode===hc.Merge&&(t=new Mu(t.switchValue,t.type,r,t.sourceSpan,t.switchValueSourceSpan)),this._inIcu=n,t},t.prototype.visitComment=function(t){var e=ft(t);if(e&&this._isInTranslatableSection)return void this._reportError(t,"Could not start a block inside a translatable section");var n=dt(t);if(n&&!this._inI18nBlock)return void this._reportError(t,"Trying to close an unopened block");if(!this._inI18nNode&&!this._inIcu)if(this._inI18nBlock){if(n){if(this._depth==this._blockStartDepth){this._closeTranslatableSection(t,this._blockChildren),this._inI18nBlock=!1;var r=this._addMessage(this._blockChildren,this._blockMeaningAndDesc),i=this._translateMessage(t,r);return X(this,i)}return void this._reportError(t,"I18N blocks should not cross element boundaries")}}else e&&(this._inI18nBlock=!0,this._blockStartDepth=this._depth,this._blockChildren=[],this._blockMeaningAndDesc=t.value.replace(pc,"").trim(),this._openTranslatableSection(t))},t.prototype.visitText=function(t){return this._isInTranslatableSection&&this._mayBeAddBlockChildren(t),t},t.prototype.visitElement=function(t,e){var n=this;this._mayBeAddBlockChildren(t),this._depth++;var r,i=this._inI18nNode,o=this._inImplicitNode,s=[],a=yt(t),u=a?a.value:"",c=this._implicitTags.some(function(e){return t.name===e})&&!this._inIcu&&!this._isInTranslatableSection,p=!o&&c;if(this._inImplicitNode=o||c,this._isInTranslatableSection||this._inIcu)(a||p)&&this._reportError(t,"Could not mark an element as translatable inside a translatable section"),this._mode==hc.Extract&&X(this,t.children);else{if(a||p){this._inI18nNode=!0;var l=this._addMessage(t.children,u);r=this._translateMessage(t,l)}if(this._mode==hc.Extract){var h=a||p;h&&this._openTranslatableSection(t),X(this,t.children),h&&this._closeTranslatableSection(t,t.children)}}if(this._mode===hc.Merge){var f=r||t.children;f.forEach(function(t){var r=t.visit(n,e);r&&!n._isInTranslatableSection&&(s=s.concat(r))})}if(this._visitAttributesOf(t),this._depth--,this._inI18nNode=i,this._inImplicitNode=o,this._mode===hc.Merge){var d=this._translateAttributes(t);return new Nu(t.name,d,s,t.sourceSpan,t.startSourceSpan,t.endSourceSpan)}},t.prototype.visitAttribute=function(){throw new Error("unreachable code")},t.prototype._init=function(t,e){this._mode=t,this._inI18nBlock=!1,this._inI18nNode=!1,this._depth=0,this._inIcu=!1,this._msgCountAtSectionStart=void 0,this._errors=[],this._messages=[],this._inImplicitNode=!1,this._createI18nMessage=ct(e)},t.prototype._visitAttributesOf=function(t){var e=this,n={},r=this._implicitAttrs[t.name]||[];t.attrs.filter(function(t){return t.name.startsWith(cc)}).forEach(function(t){return n[t.name.slice(cc.length)]=t.value}),t.attrs.forEach(function(t){t.name in n?e._addMessage([t],n[t.name]):r.some(function(e){return t.name===e})&&e._addMessage([t])})},t.prototype._addMessage=function(t,e){if(!(0==t.length||1==t.length&&t[0]instanceof ku&&!t[0].value)){var n=mt(e),r=n[0],i=n[1],o=this._createI18nMessage(t,r,i);return this._messages.push(o),o}},t.prototype._translateMessage=function(t,e){if(e&&this._mode===hc.Merge){var n=this._translations.get(e);if(n)return n;this._reportError(t,'Translation unavailable for message id="'+this._translations.digest(e)+'"')}return[]},t.prototype._translateAttributes=function(t){var e=this,n=t.attrs,r={};n.forEach(function(t){t.name.startsWith(cc)&&(r[t.name.slice(cc.length)]=mt(t.value)[0])});var i=[];return n.forEach(function(n){if(n.name!==uc&&!n.name.startsWith(cc))if(n.value&&""!=n.value&&r.hasOwnProperty(n.name)){var o=r[n.name],s=e._createI18nMessage([n],o,""),a=e._translations.get(s);if(a)if(0==a.length)i.push(new ku(n.name,"",n.sourceSpan));else if(a[0]instanceof Au){var u=a[0].value;i.push(new ku(n.name,u,n.sourceSpan))}else e._reportError(t,'Unexpected translation for attribute "'+n.name+'" (id="'+e._translations.digest(s)+'")');else e._reportError(t,'Translation unavailable for attribute "'+n.name+'" (id="'+e._translations.digest(s)+'")')}else i.push(n)}),i},t.prototype._mayBeAddBlockChildren=function(t){this._inI18nBlock&&!this._inIcu&&this._depth==this._blockStartDepth&&this._blockChildren.push(t)},t.prototype._openTranslatableSection=function(t){this._isInTranslatableSection?this._reportError(t,"Unexpected section start"):this._msgCountAtSectionStart=this._messages.length},Object.defineProperty(t.prototype,"_isInTranslatableSection",{get:function(){return void 0!==this._msgCountAtSectionStart},enumerable:!0,configurable:!0}),t.prototype._closeTranslatableSection=function(t,e){if(!this._isInTranslatableSection)return void this._reportError(t,"Unexpected section end");var n=this._msgCountAtSectionStart,r=e.reduce(function(t,e){return t+(e instanceof Iu?0:1);
-
-},0);if(1==r)for(var i=this._messages.length-1;i>=n;i--){var o=this._messages[i].nodes;if(!(1==o.length&&o[0]instanceof Qu)){this._messages.splice(i,1);break}}this._msgCountAtSectionStart=void 0},t.prototype._reportError=function(t,e){this._errors.push(new ac(t.sourceSpan,e))},t}(),dc=function(){function t(){this.closedByParent=!1,this.contentType=Go.PARSABLE_DATA,this.isVoid=!1,this.ignoreFirstLf=!1,this.canSelfClose=!0}return t.prototype.requireExtraParent=function(){return!1},t.prototype.isClosedByChild=function(){return!1},t}(),yc=new dc,mc=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},vc=function(t){function e(){t.call(this,vt)}return mc(e,t),e.prototype.parse=function(e,n,r){return void 0===r&&(r=!1),t.prototype.parse.call(this,e,n,r,null)},e}(Gu),gc=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},_c=function(){function t(){}return t.prototype.visitText=function(t){return t.value},t.prototype.visitContainer=function(t){var e=this;return"["+t.children.map(function(t){return t.visit(e)}).join(", ")+"]"},t.prototype.visitIcu=function(t){var e=this,n=Object.keys(t.cases).map(function(n){return n+" {"+t.cases[n].visit(e)+"}"});return"{"+t.expression+", "+t.type+", "+n.join(", ")+"}"},t.prototype.visitTagPlaceholder=function(t){var e=this;return t.isVoid?'<ph tag name="'+t.startName+'"/>':'<ph tag name="'+t.startName+'">'+t.children.map(function(t){return t.visit(e)}).join(", ")+'</ph name="'+t.closeName+'">'},t.prototype.visitPlaceholder=function(t){return t.value?'<ph name="'+t.name+'">'+t.value+"</ph>":'<ph name="'+t.name+'"/>'},t.prototype.visitIcuPlaceholder=function(t){return'<ph icu name="'+t.name+'">'+t.value.visit(this)+"</ph>"},t}(),bc=new _c,wc=function(t){function e(){t.apply(this,arguments)}return gc(e,t),e.prototype.visitIcu=function(t){var e=this,n=Object.keys(t.cases).map(function(n){return n+" {"+t.cases[n].visit(e)+"}"});return"{"+t.type+", "+n.join(", ")+"}"},e}(_c),Ec={};Ec.Little=0,Ec.Big=1,Ec[Ec.Little]="Little",Ec[Ec.Big]="Big";var Sc=function(){function t(){}return t.prototype.write=function(){},t.prototype.load=function(){},t.prototype.digest=function(){},t.prototype.createNameMapper=function(){return null},t}(),Cc=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},xc=function(){function t(){}return t.prototype.visitTag=function(t){var e=this,n=this._serializeAttributes(t.attrs);if(0==t.children.length)return"<"+t.name+n+"/>";var r=t.children.map(function(t){return t.visit(e)});return"<"+t.name+n+">"+r.join("")+"</"+t.name+">"},t.prototype.visitText=function(t){return t.value},t.prototype.visitDeclaration=function(t){return"<?xml"+this._serializeAttributes(t.attrs)+" ?>"},t.prototype._serializeAttributes=function(t){var e=Object.keys(t).map(function(e){return e+'="'+t[e]+'"'}).join(" ");return e.length>0?" "+e:""},t.prototype.visitDoctype=function(t){return"<!DOCTYPE "+t.rootTag+" [\n"+t.dtd+"\n]>"},t}(),Tc=new xc,Pc=function(){function t(t){var e=this;this.attrs={},Object.keys(t).forEach(function(n){e.attrs[n]=Wt(t[n])})}return t.prototype.visit=function(t){return t.visitDeclaration(this)},t}(),Oc=function(){function t(t,e){this.rootTag=t,this.dtd=e}return t.prototype.visit=function(t){return t.visitDoctype(this)},t}(),Ac=function(){function t(t,e,n){var r=this;void 0===e&&(e={}),void 0===n&&(n=[]),this.name=t,this.children=n,this.attrs={},Object.keys(e).forEach(function(t){r.attrs[t]=Wt(e[t])})}return t.prototype.visit=function(t){return t.visitTag(this)},t}(),Mc=function(){function t(t){this.value=Wt(t)}return t.prototype.visit=function(t){return t.visitText(this)},t}(),Rc=function(t){function e(e){void 0===e&&(e=0),t.call(this,"\n"+new Array(e+1).join(" "))}return Cc(e,t),e}(Mc),kc=[[/&/g,"&amp;"],[/"/g,"&quot;"],[/'/g,"&apos;"],[/</g,"&lt;"],[/>/g,"&gt;"]],Nc=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Ic="1.2",Dc="urn:oasis:names:tc:xliff:document:1.2",jc="en",Lc="x",Vc="source",Fc="target",Uc="trans-unit",Bc=function(t){function e(){t.apply(this,arguments)}return Nc(e,t),e.prototype.write=function(t){var e=this,n=new Hc,r={},i=[];t.forEach(function(t){var o=e.digest(t);if(!r[o]){r[o]=!0;var s=new Ac(Uc,{id:o,datatype:"html"});s.children.push(new Rc(8),new Ac(Vc,{},n.serialize(t.nodes)),new Rc(8),new Ac(Fc)),t.description&&s.children.push(new Rc(8),new Ac("note",{priority:"1",from:"description"},[new Mc(t.description)])),t.meaning&&s.children.push(new Rc(8),new Ac("note",{priority:"1",from:"meaning"},[new Mc(t.meaning)])),s.children.push(new Rc(6)),i.push(new Rc(6),s)}});var o=new Ac("body",{},i.concat([new Rc(4)])),s=new Ac("file",{"source-language":jc,datatype:"plaintext",original:"ng2.template"},[new Rc(4),o,new Rc(2)]),a=new Ac("xliff",{version:Ic,xmlns:Dc},[new Rc(2),s,new Rc]);return zt([new Pc({version:"1.0",encoding:"UTF-8"}),new Rc,a,new Rc])},e.prototype.load=function(t,e){var n=new qc,r=n.parse(t,e),i=r.mlNodesByMsgId,o=r.errors,s={},a=new zc;if(Object.keys(i).forEach(function(t){var e=a.convert(i[t]),n=e.i18nNodes,r=e.errors;o.push.apply(o,r),s[t]=n}),o.length)throw new Error("xliff parse errors:\n"+o.join("\n"));return s},e.prototype.digest=function(t){return gt(t)},e}(Sc),Hc=function(){function t(){}return t.prototype.visitText=function(t){return[new Mc(t.value)]},t.prototype.visitContainer=function(t){var e=this,n=[];return t.children.forEach(function(t){return n.push.apply(n,t.visit(e))}),n},t.prototype.visitIcu=function(){if(this._isInIcu)throw new Error("xliff does not support nested ICU messages");this._isInIcu=!0;var t=[];return this._isInIcu=!1,t},t.prototype.visitTagPlaceholder=function(t){var e=Gt(t.tag),n=new Ac(Lc,{id:t.startName,ctype:e});if(t.isVoid)return[n];var r=new Ac(Lc,{id:t.closeName,ctype:e});return[n].concat(this.serialize(t.children),[r])},t.prototype.visitPlaceholder=function(t){return[new Ac(Lc,{id:t.name})]},t.prototype.visitIcuPlaceholder=function(t){return[new Ac(Lc,{id:t.name})]},t.prototype.serialize=function(t){var e=this;return this._isInIcu=!1,(n=[]).concat.apply(n,t.map(function(t){return t.visit(e)}));var n},t}(),qc=function(){function t(){}return t.prototype.parse=function(t,e){this._unitMlNodes=[],this._mlNodesByMsgId={};var n=(new vc).parse(t,e,!1);return this._errors=n.errors,X(this,n.rootNodes,null),{mlNodesByMsgId:this._mlNodesByMsgId,errors:this._errors}},t.prototype.visitElement=function(t){switch(t.name){case Uc:this._unitMlNodes=null;var e=t.attrs.find(function(t){return"id"===t.name});if(e){var n=e.value;this._mlNodesByMsgId.hasOwnProperty(n)?this._addError(t,"Duplicated translations for msg "+n):(X(this,t.children,null),this._unitMlNodes?this._mlNodesByMsgId[n]=this._unitMlNodes:this._addError(t,"Message "+n+" misses a translation"))}else this._addError(t,"<"+Uc+'> misses the "id" attribute');break;case Vc:break;case Fc:this._unitMlNodes=t.children;break;default:X(this,t.children,null)}},t.prototype.visitAttribute=function(){},t.prototype.visitText=function(){},t.prototype.visitComment=function(){},t.prototype.visitExpansion=function(){},t.prototype.visitExpansionCase=function(){},t.prototype._addError=function(t,e){this._errors.push(new ac(t.sourceSpan,e))},t}(),zc=function(){function t(){}return t.prototype.convert=function(t){return this._errors=[],{i18nNodes:X(this,t),errors:this._errors}},t.prototype.visitText=function(t){return new Qu(t.value,t.sourceSpan)},t.prototype.visitElement=function(t){if(t.name===Lc){var e=t.attrs.find(function(t){return"id"===t.name});if(e)return new Ju("",e.value,t.sourceSpan);this._addError(t,"<"+Lc+'> misses the "id" attribute')}else this._addError(t,"Unexpected tag")},t.prototype.visitExpansion=function(){},t.prototype.visitExpansionCase=function(){},t.prototype.visitComment=function(){},t.prototype.visitAttribute=function(){},t.prototype._addError=function(t,e){this._errors.push(new ac(t.sourceSpan,e))},t}(),Wc=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Gc="messagebundle",Kc="msg",Xc="ph",Qc="ex",Yc='<!ELEMENT messagebundle (msg)*>\n<!ATTLIST messagebundle class CDATA #IMPLIED>\n\n<!ELEMENT msg (#PCDATA|ph|source)*>\n<!ATTLIST msg id CDATA #IMPLIED>\n<!ATTLIST msg seq CDATA #IMPLIED>\n<!ATTLIST msg name CDATA #IMPLIED>\n<!ATTLIST msg desc CDATA #IMPLIED>\n<!ATTLIST msg meaning CDATA #IMPLIED>\n<!ATTLIST msg obsolete (obsolete) #IMPLIED>\n<!ATTLIST msg xml:space (default|preserve) "default">\n<!ATTLIST msg is_hidden CDATA #IMPLIED>\n\n<!ELEMENT source (#PCDATA)>\n\n<!ELEMENT ph (#PCDATA|ex)*>\n<!ATTLIST ph name CDATA #REQUIRED>\n\n<!ELEMENT ex (#PCDATA)>',$c=function(t){function e(){t.apply(this,arguments)}return Wc(e,t),e.prototype.write=function(t){var e=this,n=new Jc,r=new Zc,i={},o=new Ac(Gc);return t.forEach(function(t){var n=e.digest(t);if(!i[n]){i[n]=!0;var s=e.createNameMapper(t),a={id:n};t.description&&(a.desc=t.description),t.meaning&&(a.meaning=t.meaning),o.children.push(new Rc(2),new Ac(Kc,a,r.serialize(t.nodes,{mapper:s})))}}),o.children.push(new Rc),zt([new Pc({version:"1.0",encoding:"UTF-8"}),new Rc,new Oc(Gc,Yc),new Rc,n.addDefaultExamples(o),new Rc])},e.prototype.load=function(){throw new Error("Unsupported")},e.prototype.digest=function(t){return Kt(t)},e.prototype.createNameMapper=function(t){return new tp(t)},e}(Sc),Zc=function(){function t(){}return t.prototype.visitText=function(t){return[new Mc(t.value)]},t.prototype.visitContainer=function(t,e){var n=this,r=[];return t.children.forEach(function(t){return r.push.apply(r,t.visit(n,e))}),r},t.prototype.visitIcu=function(t,e){var n=this,r=[new Mc("{"+t.expressionPlaceholder+", "+t.type+", ")];return Object.keys(t.cases).forEach(function(i){r.push.apply(r,[new Mc(i+" {")].concat(t.cases[i].visit(n,e),[new Mc("} ")]))}),r.push(new Mc("}")),r},t.prototype.visitTagPlaceholder=function(t,e){var n=new Ac(Qc,{},[new Mc("<"+t.tag+">")]),r=e.mapper.toPublicName(t.startName),i=new Ac(Xc,{name:r},[n]);if(t.isVoid)return[i];var o=new Ac(Qc,{},[new Mc("</"+t.tag+">")]);r=e.mapper.toPublicName(t.closeName);var s=new Ac(Xc,{name:r},[o]);return[i].concat(this.serialize(t.children,e),[s])},t.prototype.visitPlaceholder=function(t,e){var n=e.mapper.toPublicName(t.name);return[new Ac(Xc,{name:n})]},t.prototype.visitIcuPlaceholder=function(t,e){var n=e.mapper.toPublicName(t.name);return[new Ac(Xc,{name:n})]},t.prototype.serialize=function(t,e){var n=this;return(r=[]).concat.apply(r,t.map(function(t){return t.visit(n,e)}));var r},t}(),Jc=function(){function t(){}return t.prototype.addDefaultExamples=function(t){return t.visit(this),t},t.prototype.visitTag=function(t){var e=this;if(t.name===Xc){if(!t.children||0==t.children.length){var n=new Mc(t.attrs.name||"...");t.children=[new Ac(Qc,{},[n])]}}else t.children&&t.children.forEach(function(t){return t.visit(e)})},t.prototype.visitText=function(){},t.prototype.visitDeclaration=function(){},t.prototype.visitDoctype=function(){},t}(),tp=function(){function t(t){var e=this;this.internalToXmb={},this.xmbToNextId={},this.xmbToInternal={},t.nodes.forEach(function(t){return t.visit(e)})}return t.prototype.toPublicName=function(t){return this.internalToXmb.hasOwnProperty(t)?this.internalToXmb[t]:null},t.prototype.toInternalName=function(t){return this.xmbToInternal.hasOwnProperty(t)?this.xmbToInternal[t]:null},t.prototype.visitText=function(){return null},t.prototype.visitContainer=function(t){var e=this;t.children.forEach(function(t){return t.visit(e)})},t.prototype.visitIcu=function(t){var e=this;Object.keys(t.cases).forEach(function(n){t.cases[n].visit(e)})},t.prototype.visitTagPlaceholder=function(t){var e=this;this.addPlaceholder(t.startName),t.children.forEach(function(t){return t.visit(e)}),this.addPlaceholder(t.closeName)},t.prototype.visitPlaceholder=function(t){this.addPlaceholder(t.name)},t.prototype.visitIcuPlaceholder=function(t){this.addPlaceholder(t.name)},t.prototype.addPlaceholder=function(t){if(t&&!this.internalToXmb.hasOwnProperty(t)){var e=t.toUpperCase().replace(/[^A-Z0-9_]/g,"_");if(this.xmbToInternal.hasOwnProperty(e)){var n=this.xmbToNextId[e];this.xmbToNextId[e]=n+1,e=e+"_"+n}else this.xmbToNextId[e]=1;this.internalToXmb[t]=e,this.xmbToInternal[e]=t}},t}(),ep=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},np="translationbundle",rp="translation",ip="ph",op=function(t){function e(){t.apply(this,arguments)}return ep(e,t),e.prototype.write=function(){throw new Error("Unsupported")},e.prototype.load=function(t,e){var n=new sp,r=n.parse(t,e),i=r.mlNodesByMsgId,o=r.errors,s={},a=new ap;if(Object.keys(i).forEach(function(t){var e=a.convert(i[t]),n=e.i18nNodes,r=e.errors;o.push.apply(o,r),s[t]=n}),o.length)throw new Error("xtb parse errors:\n"+o.join("\n"));return s},e.prototype.digest=function(t){return Kt(t)},e.prototype.createNameMapper=function(t){return new tp(t)},e}(Sc),sp=function(){function t(){}return t.prototype.parse=function(t,e){this._bundleDepth=0,this._mlNodesByMsgId={};var n=(new vc).parse(t,e,!0);return this._errors=n.errors,X(this,n.rootNodes),{mlNodesByMsgId:this._mlNodesByMsgId,errors:this._errors}},t.prototype.visitElement=function(t){switch(t.name){case np:this._bundleDepth++,this._bundleDepth>1&&this._addError(t,"<"+np+"> elements can not be nested"),X(this,t.children,null),this._bundleDepth--;break;case rp:var e=t.attrs.find(function(t){return"id"===t.name});if(e){var n=e.value;this._mlNodesByMsgId.hasOwnProperty(n)?this._addError(t,"Duplicated translations for msg "+n):this._mlNodesByMsgId[n]=t.children}else this._addError(t,"<"+rp+'> misses the "id" attribute');break;default:this._addError(t,"Unexpected tag")}},t.prototype.visitAttribute=function(){},t.prototype.visitText=function(){},t.prototype.visitComment=function(){},t.prototype.visitExpansion=function(){},t.prototype.visitExpansionCase=function(){},t.prototype._addError=function(t,e){this._errors.push(new ac(t.sourceSpan,e))},t}(),ap=function(){function t(){}return t.prototype.convert=function(t){return this._errors=[],{i18nNodes:X(this,t),errors:this._errors}},t.prototype.visitText=function(t){return new Qu(t.value,t.sourceSpan)},t.prototype.visitExpansion=function(t){var e={};return X(this,t.cases).forEach(function(n){e[n.value]=new Yu(n.nodes,t.sourceSpan)}),new $u(t.switchValue,t.type,e,t.sourceSpan)},t.prototype.visitExpansionCase=function(t){return{value:t.value,nodes:X(this,t.expression)}},t.prototype.visitElement=function(t){if(t.name===ip){var e=t.attrs.find(function(t){return"name"===t.name});if(e)return new Ju("",e.value,t.sourceSpan);this._addError(t,"<"+ip+'> misses the "name" attribute')}else this._addError(t,"Unexpected tag")},t.prototype.visitComment=function(){},t.prototype.visitAttribute=function(){},t.prototype._addError=function(t,e){this._errors.push(new ac(t.sourceSpan,e))},t}(),up=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},cp=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},pp=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},lp=function(t){function e(){t.call(this,f)}return up(e,t),e.prototype.parse=function(e,n,r,i){return void 0===r&&(r=!1),void 0===i&&(i=Da),t.prototype.parse.call(this,e,n,r,i)},e=cp([M(),pp("design:paramtypes",[])],e)}(Gu),hp=function(){function t(t,e,n){void 0===t&&(t={}),this._i18nNodesByMsgId=t,this.digest=e,this.mapperFactory=n,this._i18nToHtml=new fp(t,e,n)}return t.load=function(e,n,r){var i=r.load(e,n),o=function(t){return r.digest(t)},s=function(t){return r.createNameMapper(t)};return new t(i,o,s)},t.prototype.get=function(t){var e=this._i18nToHtml.convert(t);if(e.errors.length)throw new Error(e.errors.join("\n"));return e.nodes},t.prototype.has=function(t){return this.digest(t)in this._i18nNodesByMsgId},t}(),fp=function(){function t(t,e,n){void 0===t&&(t={}),this._i18nNodesByMsgId=t,this._digest=e,this._mapperFactory=n,this._contextStack=[],this._errors=[]}return t.prototype.convert=function(t){this._contextStack.length=0,this._errors.length=0;var e=this._convertToText(t),n=t.nodes[0].sourceSpan.start.file.url,r=(new lp).parse(e,n,!0);return{nodes:r.rootNodes,errors:this._errors.concat(r.errors)}},t.prototype.visitText=function(t){return t.value},t.prototype.visitContainer=function(t){var e=this;return t.children.map(function(t){return t.visit(e)}).join("")},t.prototype.visitIcu=function(t){var e=this,n=Object.keys(t.cases).map(function(n){return n+" {"+t.cases[n].visit(e)+"}"}),r=this._srcMsg.placeholders.hasOwnProperty(t.expression)?this._srcMsg.placeholders[t.expression]:t.expression;return"{"+r+", "+t.type+", "+n.join(" ")+"}"},t.prototype.visitPlaceholder=function(t){var e=this._mapper(t.name);return this._srcMsg.placeholders.hasOwnProperty(e)?this._srcMsg.placeholders[e]:this._srcMsg.placeholderToMessage.hasOwnProperty(e)?this._convertToText(this._srcMsg.placeholderToMessage[e]):(this._addError(t,"Unknown placeholder"),"")},t.prototype.visitTagPlaceholder=function(){throw"unreachable code"},t.prototype.visitIcuPlaceholder=function(){throw"unreachable code"},t.prototype._convertToText=function(t){var e=this,n=this._digest(t),r=this._mapperFactory?this._mapperFactory(t):null;if(this._i18nNodesByMsgId.hasOwnProperty(n)){this._contextStack.push({msg:this._srcMsg,mapper:this._mapper}),this._srcMsg=t,this._mapper=function(t){return r?r.toInternalName(t):t};var i=this._i18nNodesByMsgId[n],o=i.map(function(t){return t.visit(e)}).join(""),s=this._contextStack.pop();return this._srcMsg=s.msg,this._mapper=s.mapper,o}return this._addError(t.nodes[0],"Missing translation for message "+n),""},t.prototype._addError=function(t,e){this._errors.push(new ac(t.sourceSpan,e))},t}(),dp=function(){function t(t,e,n){this._htmlParser=t,this._translations=e,this._translationsFormat=n}return t.prototype.parse=function(t,e,n,r){void 0===n&&(n=!1),void 0===r&&(r=Da);var i=this._htmlParser.parse(t,e,n,r);if(!this._translations||""===this._translations)return i;if(i.errors.length)return new Wu(i.rootNodes,i.errors);var o=this._createSerializer(),s=hp.load(this._translations,e,o);return ht(i.rootNodes,s,r,[],{})},t.prototype._createSerializer=function(){var t=(this._translationsFormat||"xlf").toLowerCase();switch(t){case"xmb":return new $c;case"xtb":return new op;case"xliff":case"xlf":default:return new Bc}},t}(),yp=Xt("core","linker/view"),mp=Xt("core","linker/view_utils"),vp=Xt("core","change_detection/change_detection"),gp=Xt("core","animation/animation_style_util"),_p=function(){function t(){}return t.ANALYZE_FOR_ENTRY_COMPONENTS={name:"ANALYZE_FOR_ENTRY_COMPONENTS",moduleUrl:Xt("core","metadata/di"),runtime:e.ANALYZE_FOR_ENTRY_COMPONENTS},t.ViewUtils={name:"ViewUtils",moduleUrl:Xt("core","linker/view_utils"),runtime:_o.ViewUtils},t.AppView={name:"AppView",moduleUrl:yp,runtime:fo},t.DebugAppView={name:"DebugAppView",moduleUrl:yp,runtime:yo},t.ViewContainer={name:"ViewContainer",moduleUrl:Xt("core","linker/view_container"),runtime:po},t.ElementRef={name:"ElementRef",moduleUrl:Xt("core","linker/element_ref"),runtime:e.ElementRef},t.ViewContainerRef={name:"ViewContainerRef",moduleUrl:Xt("core","linker/view_container_ref"),runtime:e.ViewContainerRef},t.ChangeDetectorRef={name:"ChangeDetectorRef",moduleUrl:Xt("core","change_detection/change_detector_ref"),runtime:e.ChangeDetectorRef},t.RenderComponentType={name:"RenderComponentType",moduleUrl:Xt("core","render/api"),runtime:e.RenderComponentType},t.QueryList={name:"QueryList",moduleUrl:Xt("core","linker/query_list"),runtime:e.QueryList},t.TemplateRef={name:"TemplateRef",moduleUrl:Xt("core","linker/template_ref"),runtime:e.TemplateRef},t.TemplateRef_={name:"TemplateRef_",moduleUrl:Xt("core","linker/template_ref"),runtime:xo},t.CodegenComponentFactoryResolver={name:"CodegenComponentFactoryResolver",moduleUrl:Xt("core","linker/component_factory_resolver"),runtime:lo},t.ComponentFactoryResolver={name:"ComponentFactoryResolver",moduleUrl:Xt("core","linker/component_factory_resolver"),runtime:e.ComponentFactoryResolver},t.ComponentFactory={name:"ComponentFactory",runtime:e.ComponentFactory,moduleUrl:Xt("core","linker/component_factory")},t.ComponentRef_={name:"ComponentRef_",runtime:ho,moduleUrl:Xt("core","linker/component_factory")},t.ComponentRef={name:"ComponentRef",runtime:e.ComponentRef,moduleUrl:Xt("core","linker/component_factory")},t.NgModuleFactory={name:"NgModuleFactory",runtime:e.NgModuleFactory,moduleUrl:Xt("core","linker/ng_module_factory")},t.NgModuleInjector={name:"NgModuleInjector",runtime:mo,moduleUrl:Xt("core","linker/ng_module_factory")},t.RegisterModuleFactoryFn={name:"registerModuleFactory",runtime:vo,moduleUrl:Xt("core","linker/ng_module_factory_loader")},t.ValueUnwrapper={name:"ValueUnwrapper",moduleUrl:vp,runtime:Co},t.Injector={name:"Injector",moduleUrl:Xt("core","di/injector"),runtime:e.Injector},t.ViewEncapsulation={name:"ViewEncapsulation",moduleUrl:Xt("core","metadata/view"),runtime:e.ViewEncapsulation},t.ViewType={name:"ViewType",moduleUrl:Xt("core","linker/view_type"),runtime:go},t.ChangeDetectionStrategy={name:"ChangeDetectionStrategy",moduleUrl:vp,runtime:e.ChangeDetectionStrategy},t.StaticNodeDebugInfo={name:"StaticNodeDebugInfo",moduleUrl:Xt("core","linker/debug_context"),runtime:wo},t.DebugContext={name:"DebugContext",moduleUrl:Xt("core","linker/debug_context"),runtime:bo},t.Renderer={name:"Renderer",moduleUrl:Xt("core","render/api"),runtime:e.Renderer},t.SimpleChange={name:"SimpleChange",moduleUrl:vp,runtime:e.SimpleChange},t.UNINITIALIZED={name:"UNINITIALIZED",moduleUrl:vp,runtime:So},t.ChangeDetectorStatus={name:"ChangeDetectorStatus",moduleUrl:vp,runtime:so},t.checkBinding={name:"checkBinding",moduleUrl:mp,runtime:_o.checkBinding},t.devModeEqual={name:"devModeEqual",moduleUrl:vp,runtime:Eo},t.inlineInterpolate={name:"inlineInterpolate",moduleUrl:mp,runtime:_o.inlineInterpolate},t.interpolate={name:"interpolate",moduleUrl:mp,runtime:_o.interpolate},t.castByValue={name:"castByValue",moduleUrl:mp,runtime:_o.castByValue},t.EMPTY_ARRAY={name:"EMPTY_ARRAY",moduleUrl:mp,runtime:_o.EMPTY_ARRAY},t.EMPTY_MAP={name:"EMPTY_MAP",moduleUrl:mp,runtime:_o.EMPTY_MAP},t.createRenderElement={name:"createRenderElement",moduleUrl:mp,runtime:_o.createRenderElement},t.selectOrCreateRenderHostElement={name:"selectOrCreateRenderHostElement",moduleUrl:mp,runtime:_o.selectOrCreateRenderHostElement},t.pureProxies=[null,{name:"pureProxy1",moduleUrl:mp,runtime:_o.pureProxy1},{name:"pureProxy2",moduleUrl:mp,runtime:_o.pureProxy2},{name:"pureProxy3",moduleUrl:mp,runtime:_o.pureProxy3},{name:"pureProxy4",moduleUrl:mp,runtime:_o.pureProxy4},{name:"pureProxy5",moduleUrl:mp,runtime:_o.pureProxy5},{name:"pureProxy6",moduleUrl:mp,runtime:_o.pureProxy6},{name:"pureProxy7",moduleUrl:mp,runtime:_o.pureProxy7},{name:"pureProxy8",moduleUrl:mp,runtime:_o.pureProxy8},{name:"pureProxy9",moduleUrl:mp,runtime:_o.pureProxy9},{name:"pureProxy10",moduleUrl:mp,runtime:_o.pureProxy10}],t.SecurityContext={name:"SecurityContext",moduleUrl:Xt("core","security"),runtime:e.SecurityContext},t.AnimationKeyframe={name:"AnimationKeyframe",moduleUrl:Xt("core","animation/animation_keyframe"),runtime:No},t.AnimationStyles={name:"AnimationStyles",moduleUrl:Xt("core","animation/animation_styles"),runtime:Io},t.NoOpAnimationPlayer={name:"NoOpAnimationPlayer",moduleUrl:Xt("core","animation/animation_player"),runtime:Mo},t.AnimationGroupPlayer={name:"AnimationGroupPlayer",moduleUrl:Xt("core","animation/animation_group_player"),runtime:ko},t.AnimationSequencePlayer={name:"AnimationSequencePlayer",moduleUrl:Xt("core","animation/animation_sequence_player"),runtime:Ro},t.prepareFinalAnimationStyles={name:"prepareFinalAnimationStyles",moduleUrl:gp,runtime:Fo},t.balanceAnimationKeyframes={name:"balanceAnimationKeyframes",moduleUrl:gp,runtime:Uo},t.clearStyles={name:"clearStyles",moduleUrl:gp,runtime:Bo},t.renderStyles={name:"renderStyles",moduleUrl:gp,runtime:qo},t.collectAndResolveStyles={name:"collectAndResolveStyles",moduleUrl:gp,runtime:Ho},t.LOCALE_ID={name:"LOCALE_ID",moduleUrl:Xt("core","i18n/tokens"),runtime:e.LOCALE_ID},t.TRANSLATIONS_FORMAT={name:"TRANSLATIONS_FORMAT",moduleUrl:Xt("core","i18n/tokens"),runtime:e.TRANSLATIONS_FORMAT},t.setBindingDebugInfo={name:"setBindingDebugInfo",moduleUrl:mp,runtime:_o.setBindingDebugInfo},t.setBindingDebugInfoForChanges={name:"setBindingDebugInfoForChanges",moduleUrl:mp,runtime:_o.setBindingDebugInfoForChanges},t.AnimationTransition={name:"AnimationTransition",moduleUrl:Xt("core","animation/animation_transition"),runtime:Wo},t.InlineArray={name:"InlineArray",moduleUrl:mp,runtime:null},t.inlineArrays=[{name:"InlineArray2",moduleUrl:mp,runtime:_o.InlineArray2},{name:"InlineArray2",moduleUrl:mp,runtime:_o.InlineArray2},{name:"InlineArray4",moduleUrl:mp,runtime:_o.InlineArray4},{name:"InlineArray8",moduleUrl:mp,runtime:_o.InlineArray8},{name:"InlineArray16",moduleUrl:mp,runtime:_o.InlineArray16}],t.EMPTY_INLINE_ARRAY={name:"EMPTY_INLINE_ARRAY",moduleUrl:mp,runtime:_o.EMPTY_INLINE_ARRAY},t.InlineArrayDynamic={name:"InlineArrayDynamic",moduleUrl:mp,runtime:_o.InlineArrayDynamic},t.subscribeToRenderElement={name:"subscribeToRenderElement",moduleUrl:mp,runtime:_o.subscribeToRenderElement},t.createRenderComponentType={name:"createRenderComponentType",moduleUrl:mp,runtime:_o.createRenderComponentType},t.noop={name:"noop",moduleUrl:mp,runtime:_o.noop},t}(),bp=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},wp=["zero","one","two","few","many","other"],Ep=function(){function t(t,e,n){this.nodes=t,this.expanded=e,this.errors=n}return t}(),Sp=function(t){function e(e,n){t.call(this,e,n)}return bp(e,t),e}(Ou),Cp=function(){function t(){this.isExpanded=!1,this.errors=[]}return t.prototype.visitElement=function(t){return new Nu(t.name,t.attrs,X(this,t.children),t.sourceSpan,t.startSourceSpan,t.endSourceSpan)},t.prototype.visitAttribute=function(t){return t},t.prototype.visitText=function(t){return t},t.prototype.visitComment=function(t){return t},t.prototype.visitExpansion=function(t){return this.isExpanded=!0,"plural"==t.type?ee(t,this.errors):ne(t,this.errors)},t.prototype.visitExpansionCase=function(){throw new Error("Should not be reached")},t}(),xp=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Tp=function(t){function e(e,n){t.call(this,n,e)}return xp(e,t),e}(Ou),Pp=function(){function t(t,e){var n=this;this.component=t,this.sourceSpan=e,this.errors=[],this.viewQueries=ae(t),this.viewProviders=new Map,t.viewProviders.forEach(function(t){i(n.viewProviders.get(S(t.token)))&&n.viewProviders.set(S(t.token),!0)})}return t}(),Op=function(){function t(t,e,n,i,o,s,a){var u=this;this.viewContext=t,this._parent=e,this._isViewRoot=n,this._directiveAsts=i,this._sourceSpan=a,this._transformedProviders=new Map,this._seenProviders=new Map,this._hasViewContainer=!1,this._attrs={},o.forEach(function(t){return u._attrs[t.name]=t.value});var c=i.map(function(t){return t.directive});this._allProviders=oe(c,a,t.errors),this._contentQueries=ue(c);var p=new Map;Array.from(this._allProviders.values()).forEach(function(t){u._addQueryReadsTo(t.token,p)}),s.forEach(function(t){u._addQueryReadsTo({value:t.name},p)}),r(p.get(Qt(_p.ViewContainerRef)))&&(this._hasViewContainer=!0),Array.from(this._allProviders.values()).forEach(function(t){var e=t.eager||r(p.get(S(t.token)));e&&u._getOrCreateLocalProvider(t.providerType,t.token,!0)})}return t.prototype.afterElement=function(){var t=this;Array.from(this._allProviders.values()).forEach(function(e){t._getOrCreateLocalProvider(e.providerType,e.token,!1)})},Object.defineProperty(t.prototype,"transformProviders",{get:function(){return Array.from(this._transformedProviders.values())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"transformedDirectiveAsts",{get:function(){var t=this.transformProviders.map(function(t){return t.token.identifier}),e=this._directiveAsts.slice();return e.sort(function(e,n){return t.indexOf(e.directive.type)-t.indexOf(n.directive.type)}),e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"transformedHasViewContainer",{get:function(){return this._hasViewContainer},enumerable:!0,configurable:!0}),t.prototype._addQueryReadsTo=function(t,e){this._getQueriesFor(t).forEach(function(n){var r=n.read||t;i(e.get(S(r)))&&e.set(S(r),!0)})},t.prototype._getQueriesFor=function(t){for(var e,n=[],r=this,i=0;null!==r;)e=r._contentQueries.get(S(t)),e&&n.push.apply(n,e.filter(function(t){return t.descendants||1>=i})),r._directiveAsts.length>0&&i++,r=r._parent;return e=this.viewContext.viewQueries.get(S(t)),e&&n.push.apply(n,e),n},t.prototype._getOrCreateLocalProvider=function(t,e,n){var i=this,o=this._allProviders.get(S(e));if(!o||(t===Yi.Directive||t===Yi.PublicService)&&o.providerType===Yi.PrivateService||(t===Yi.PrivateService||t===Yi.PublicService)&&o.providerType===Yi.Builtin)return null;var s=this._transformedProviders.get(S(e));if(s)return s;if(r(this._seenProviders.get(S(e))))return this.viewContext.errors.push(new Tp("Cannot instantiate cyclic dependency! "+E(e),this._sourceSpan)),null;this._seenProviders.set(S(e),!0);var a=o.providers.map(function(t){var e,s=t.useValue,a=t.useExisting;if(r(t.useExisting)){var u=i._getDependency(o.providerType,{token:t.useExisting},n);r(u.token)?a=u.token:(a=null,s=u.value)}else if(t.useFactory){var c=t.deps||t.useFactory.diDeps;e=c.map(function(t){return i._getDependency(o.providerType,t,n)})}else if(t.useClass){var c=t.deps||t.useClass.diDeps;e=c.map(function(t){return i._getDependency(o.providerType,t,n)})}return re(t,{useExisting:a,useValue:s,deps:e})});return s=ie(o,{eager:n,providers:a}),this._transformedProviders.set(S(e),s),s},t.prototype._getLocalDependency=function(t,e,n){if(void 0===n&&(n=null),e.isAttribute){var i=this._attrs[e.token.value];return{isValue:!0,value:null==i?null:i}}if(r(e.token)){if(t===Yi.Directive||t===Yi.Component){if(S(e.token)===Qt(_p.Renderer)||S(e.token)===Qt(_p.ElementRef)||S(e.token)===Qt(_p.ChangeDetectorRef)||S(e.token)===Qt(_p.TemplateRef))return e;S(e.token)===Qt(_p.ViewContainerRef)&&(this._hasViewContainer=!0)}if(S(e.token)===Qt(_p.Injector))return e;if(r(this._getOrCreateLocalProvider(t,e.token,n)))return e}return null},t.prototype._getDependency=function(t,e,n){void 0===n&&(n=null);var i=this,o=n,s=null;if(e.isSkipSelf||(s=this._getLocalDependency(t,e,n)),e.isSelf)!s&&e.isOptional&&(s={isValue:!0,value:null});else{for(;!s&&i._parent;){var a=i;i=i._parent,a._isViewRoot&&(o=!1),s=i._getLocalDependency(Yi.PublicService,e,o)}s||(s=!e.isHost||this.viewContext.component.isHost||this.viewContext.component.type.reference===S(e.token)||r(this.viewContext.viewProviders.get(S(e.token)))?e:e.isOptional?s={isValue:!0,value:null}:null)}return s||this.viewContext.errors.push(new Tp("No provider for "+E(e.token),this._sourceSpan)),
-s},t}(),Ap=function(){function t(t,e,n){var r=this;this._transformedProviders=new Map,this._seenProviders=new Map,this._errors=[],this._allProviders=new Map,t.transitiveModule.modules.forEach(function(t){var e={token:{identifier:t},useClass:t};se([e],Yi.PublicService,!0,n,r._errors,r._allProviders)}),se(t.transitiveModule.providers.map(function(t){return t.provider}).concat(e),Yi.PublicService,!1,n,this._errors,this._allProviders)}return t.prototype.parse=function(){var t=this;if(Array.from(this._allProviders.values()).forEach(function(e){t._getOrCreateLocalProvider(e.token,e.eager)}),this._errors.length>0){var e=this._errors.join("\n");throw new Error("Provider parse errors:\n"+e)}return Array.from(this._transformedProviders.values())},t.prototype._getOrCreateLocalProvider=function(t,e){var n=this,i=this._allProviders.get(S(t));if(!i)return null;var o=this._transformedProviders.get(S(t));if(o)return o;if(r(this._seenProviders.get(S(t))))return this._errors.push(new Tp("Cannot instantiate cyclic dependency! "+E(t),i.sourceSpan)),null;this._seenProviders.set(S(t),!0);var s=i.providers.map(function(t){var o,s=t.useValue,a=t.useExisting;if(r(t.useExisting)){var u=n._getDependency({token:t.useExisting},e,i.sourceSpan);r(u.token)?a=u.token:(a=null,s=u.value)}else if(t.useFactory){var c=t.deps||t.useFactory.diDeps;o=c.map(function(t){return n._getDependency(t,e,i.sourceSpan)})}else if(t.useClass){var c=t.deps||t.useClass.diDeps;o=c.map(function(t){return n._getDependency(t,e,i.sourceSpan)})}return re(t,{useExisting:a,useValue:s,deps:o})});return o=ie(i,{eager:e,providers:s}),this._transformedProviders.set(S(t),o),o},t.prototype._getDependency=function(t,e,n){void 0===e&&(e=null);var i=!1;!t.isSkipSelf&&r(t.token)&&(S(t.token)===Qt(_p.Injector)||S(t.token)===Qt(_p.ComponentFactoryResolver)?i=!0:r(this._getOrCreateLocalProvider(t.token,e))&&(i=!0));var o=t;return t.isSelf&&!i&&(t.isOptional?o={isValue:!0,value:null}:this._errors.push(new Tp("No provider for "+E(t.token),n))),o},t}(),Mp=function(){function t(){}return t.prototype.hasProperty=function(){},t.prototype.hasElement=function(){},t.prototype.securityContext=function(){},t.prototype.allKnownElementNames=function(){},t.prototype.getMappedPropName=function(){},t.prototype.getDefaultComponentElementName=function(){},t.prototype.validateProperty=function(){},t.prototype.validateAttribute=function(){},t.prototype.normalizeAnimationStyleProperty=function(){},t.prototype.normalizeAnimationStyleValue=function(){},t}(),Rp=function(){function t(t,e){this.style=t,this.styleUrls=e}return t}(),kp=/@import\s+(?:url\()?\s*(?:(?:['"]([^'"]*))|([^;\)\s]*))[^;]*;?/g,Np=/\/\*.+?\*\//g,Ip=/^([^:\/?#]+):/,Dp=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},jp=".",Lp="attr",Vp="class",Fp="style",Up="animate-",Bp={};Bp.DEFAULT=0,Bp.LITERAL_ATTR=1,Bp.ANIMATION=2,Bp[Bp.DEFAULT]="DEFAULT",Bp[Bp.LITERAL_ATTR]="LITERAL_ATTR",Bp[Bp.ANIMATION]="ANIMATION";var Hp=function(){function t(t,e,n,r){this.name=t,this.expression=e,this.type=n,this.sourceSpan=r}return Object.defineProperty(t.prototype,"isLiteral",{get:function(){return this.type===Bp.LITERAL_ATTR},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isAnimation",{get:function(){return this.type===Bp.ANIMATION},enumerable:!0,configurable:!0}),t}(),qp=function(){function t(t,e,n,r,i){var o=this;this._exprParser=t,this._interpolationConfig=e,this._schemaRegistry=n,this._targetErrors=i,this.pipesByName=new Map,r.forEach(function(t){return o.pipesByName.set(t.name,t)})}return t.prototype.createDirectiveHostPropertyAsts=function(t,e){var n=this;if(t.hostProperties){var r=[];return Object.keys(t.hostProperties).forEach(function(i){var o=t.hostProperties[i];"string"==typeof o?n.parsePropertyBinding(i,o,!0,e,[],r):n._reportError('Value of the host property binding "'+i+'" needs to be a string representing an expression but got "'+o+'" ('+typeof o+")",e)}),r.map(function(e){return n.createElementPropertyAst(t.selector,e)})}},t.prototype.createDirectiveHostEventAsts=function(t,e){var n=this;if(t.hostListeners){var r=[];return Object.keys(t.hostListeners).forEach(function(i){var o=t.hostListeners[i];"string"==typeof o?n.parseEvent(i,o,e,[],r):n._reportError('Value of the host listener "'+i+'" needs to be a string representing an expression but got "'+o+'" ('+typeof o+")",e)}),r}},t.prototype.parseInterpolation=function(t,e){var n=e.start.toString();try{var r=this._exprParser.parseInterpolation(t,n,this._interpolationConfig);return r&&this._reportExpressionParserErrors(r.errors,e),this._checkPipes(r,e),r}catch(i){return this._reportError(""+i,e),this._exprParser.wrapLiteralPrimitive("ERROR",n)}},t.prototype.parseInlineTemplateBinding=function(t,e,n,r,i,o){for(var s=this._parseTemplateBindings(t,e,n),a=0;a<s.length;a++){var u=s[a];u.keyIsVar?o.push(new zi(u.key,u.name,n)):u.expression?this._parsePropertyAst(u.key,u.expression,n,r,i):(r.push([u.key,""]),this.parseLiteralAttr(u.key,null,n,r,i))}},t.prototype._parseTemplateBindings=function(t,e,n){var r=this,i=n.start.toString();try{var o=this._exprParser.parseTemplateBindings(t,e,i);return this._reportExpressionParserErrors(o.errors,n),o.templateBindings.forEach(function(t){t.expression&&r._checkPipes(t.expression,n)}),o.warnings.forEach(function(t){r._reportError(t,n,Pu.WARNING)}),o.templateBindings}catch(s){return this._reportError(""+s,n),[]}},t.prototype.parseLiteralAttr=function(t,e,n,r,i){he(t)?(t=t.substring(1),e&&this._reportError('Assigning animation triggers via @prop="exp" attributes with an expression is invalid. Use property bindings (e.g. [@prop]="exp") or use an attribute without a value (e.g. @prop) instead.',n,Pu.FATAL),this._parseAnimation(t,e,n,r,i)):i.push(new Hp(t,this._exprParser.wrapLiteralPrimitive(e,""),Bp.LITERAL_ATTR,n))},t.prototype.parsePropertyBinding=function(t,e,n,r,i,o){var s=!1;t.startsWith(Up)?(s=!0,t=t.substring(Up.length)):he(t)&&(s=!0,t=t.substring(1)),s?this._parseAnimation(t,e,r,i,o):this._parsePropertyAst(t,this._parseBinding(e,n,r),r,i,o)},t.prototype.parsePropertyInterpolation=function(t,e,n,r,i){var o=this.parseInterpolation(e,n);return o?(this._parsePropertyAst(t,o,n,r,i),!0):!1},t.prototype._parsePropertyAst=function(t,e,n,r,i){r.push([t,e.source]),i.push(new Hp(t,e,Bp.DEFAULT,n))},t.prototype._parseAnimation=function(t,e,n,r,i){var o=this._parseBinding(e||"null",!1,n);r.push([t,o.source]),i.push(new Hp(t,o,Bp.ANIMATION,n))},t.prototype._parseBinding=function(t,e,n){var r=n.start.toString();try{var i=e?this._exprParser.parseSimpleBinding(t,r,this._interpolationConfig):this._exprParser.parseBinding(t,r,this._interpolationConfig);return i&&this._reportExpressionParserErrors(i.errors,n),this._checkPipes(i,n),i}catch(o){return this._reportError(""+o,n),this._exprParser.wrapLiteralPrimitive("ERROR",r)}},t.prototype.createElementPropertyAst=function(t,n){if(n.isAnimation)return new Bi(n.name,Zi.Animation,e.SecurityContext.NONE,!1,n.expression,null,n.sourceSpan);var r,i,o=null,s=null,a=n.name.split(jp);if(a.length>1)if(a[0]==Lp){s=a[1],this._validatePropertyOrAttributeName(s,n.sourceSpan,!0),i=fe(this._schemaRegistry,t,s,!0);var u=s.indexOf(":");if(u>-1){var c=s.substring(0,u),p=s.substring(u+1);s=h(c,p)}r=Zi.Attribute}else a[0]==Vp?(s=a[1],r=Zi.Class,i=[e.SecurityContext.NONE]):a[0]==Fp&&(o=a.length>2?a[2]:null,s=a[1],r=Zi.Style,i=[e.SecurityContext.STYLE]);return null===s&&(s=this._schemaRegistry.getMappedPropName(n.name),i=fe(this._schemaRegistry,t,s,!1),r=Zi.Property,this._validatePropertyOrAttributeName(s,n.sourceSpan,!1)),new Bi(s,r,1===i.length?i[0]:null,i.length>1,n.expression,o,n.sourceSpan)},t.prototype.parseEvent=function(t,e,n,r,i){he(t)?(t=t.substr(1),this._parseAnimationEvent(t,e,n,i)):this._parseEvent(t,e,n,r,i)},t.prototype._parseAnimationEvent=function(t,e,n,r){var i=m(t,[t,""]),o=i[0],s=i[1].toLowerCase();if(s)switch(s){case"start":case"done":var a=this._parseAction(e,n);r.push(new Hi(o,null,s,a,n));break;default:this._reportError('The provided animation output phase value "'+s+'" for "@'+o+'" is not supported (use start or done)',n)}else this._reportError("The animation trigger output event (@"+o+") is missing its phase value name (start or done are currently supported)",n)},t.prototype._parseEvent=function(t,e,n,r,i){var o=y(t,[null,t]),s=o[0],a=o[1],u=this._parseAction(e,n);r.push([t,u.source]),i.push(new Hi(a,s,null,u,n))},t.prototype._parseAction=function(t,e){var n=e.start.toString();try{var r=this._exprParser.parseAction(t,n,this._interpolationConfig);return r&&this._reportExpressionParserErrors(r.errors,e),!r||r.ast instanceof Ba?(this._reportError("Empty expressions are not allowed",e),this._exprParser.wrapLiteralPrimitive("ERROR",n)):(this._checkPipes(r,e),r)}catch(i){return this._reportError(""+i,e),this._exprParser.wrapLiteralPrimitive("ERROR",n)}},t.prototype._reportError=function(t,e,n){void 0===n&&(n=Pu.FATAL),this._targetErrors.push(new Ou(e,t,n))},t.prototype._reportExpressionParserErrors=function(t,e){for(var n=0,r=t;n<r.length;n++){var i=r[n];this._reportError(i.message,e)}},t.prototype._checkPipes=function(t,e){var n=this;if(t){var r=new zp;t.visit(r),r.pipes.forEach(function(t,r){n.pipesByName.has(r)||n._reportError("The pipe '"+r+"' could not be found",new Tu(e.start.moveBy(t.span.start),e.start.moveBy(t.span.end)))})}},t.prototype._validatePropertyOrAttributeName=function(t,e,n){var r=n?this._schemaRegistry.validateAttribute(t):this._schemaRegistry.validateProperty(t);r.error&&this._reportError(r.msg,e,Pu.FATAL)},t}(),zp=function(t){function e(){t.apply(this,arguments),this.pipes=new Map}return Dp(e,t),e.prototype.visitPipe=function(t,e){return this.pipes.set(t.name,t),t.exp.visit(this),this.visitAll(t.args,e),null},e}(uu),Wp="select",Gp="ng-content",Kp="link",Xp="rel",Qp="href",Yp="stylesheet",$p="style",Zp="script",Jp="ngNonBindable",tl="ngProjectAs",el={};el.NG_CONTENT=0,el.STYLE=1,el.STYLESHEET=2,el.SCRIPT=3,el.OTHER=4,el[el.NG_CONTENT]="NG_CONTENT",el[el.STYLE]="STYLE",el[el.STYLESHEET]="STYLESHEET",el[el.SCRIPT]="SCRIPT",el[el.OTHER]="OTHER";var nl=function(){function t(t,e,n,r,i){this.type=t,this.selectAttr=e,this.hrefAttr=n,this.nonBindable=r,this.projectAs=i}return t}(),rl=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},il=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},ol=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},sl=/^(?:(?:(?:(bind-)|(let-)|(ref-|#)|(on-)|(bindon-)|(@))(.+))|\[\(([^\)]+)\)\]|\[([^\]]+)\]|\(([^\)]+)\))$/,al=1,ul=2,cl=3,pl=4,ll=5,hl=6,fl=7,dl=8,yl=9,ml=10,vl="template",gl="template",_l="*",bl="class",wl=Zo.parse("*")[0],El=new e.OpaqueToken("TemplateTransforms"),Sl=function(t){function e(e,n,r){t.call(this,n,e,r)}return rl(e,t),e}(Ou),Cl=function(){function t(t,e){this.templateAst=t,this.errors=e}return t}(),xl=function(){function t(t,e,n,r,i){this._exprParser=t,this._schemaRegistry=e,this._htmlParser=n,this._console=r,this.transforms=i}return t.prototype.parse=function(t,e,n,r,i,o){var s=this.tryParse(t,e,n,r,i,o),a=s.errors.filter(function(t){return t.level===Pu.WARNING}),u=s.errors.filter(function(t){return t.level===Pu.FATAL});if(a.length>0&&this._console.warn("Template parse warnings:\n"+a.join("\n")),u.length>0){var c=u.join("\n");throw new cs("Template parse errors:\n"+c)}return s.templateAst},t.prototype.tryParse=function(t,e,n,r,i,o){return this.tryParseHtml(this.expandHtml(this._htmlParser.parse(e,o,!0,this.getInterpolationConfig(t))),t,e,n,r,i,o)},t.prototype.tryParseHtml=function(t,e,r,i,o,s){var a,u=t.errors;if(t.rootNodes.length>0){var c=_e(i),p=_e(o),l=new Pp(e,t.rootNodes[0].sourceSpan),h=void 0;e.template&&e.template.interpolation&&(h={start:e.template.interpolation[0],end:e.template.interpolation[1]});var f=new qp(this._exprParser,h,this._schemaRegistry,p,u),d=new Tl(l,c,f,this._schemaRegistry,s,u);a=X(d,t.rootNodes,Ml),u.push.apply(u,l.errors)}else a=[];return this._assertNoReferenceDuplicationOnTemplate(a,u),u.length>0?new Cl(a,u):(this.transforms&&this.transforms.forEach(function(t){a=n(t,a)}),new Cl(a,u))},t.prototype.expandHtml=function(t,e){void 0===e&&(e=!1);var n=t.errors;if(0==n.length||e){var r=te(t.rootNodes);n.push.apply(n,r.errors),t=new Wu(r.nodes,n)}return t},t.prototype.getInterpolationConfig=function(t){return t.template?Ia.fromArray(t.template.interpolation):void 0},t.prototype._assertNoReferenceDuplicationOnTemplate=function(t,e){var n=[];t.filter(function(t){return!!t.references}).forEach(function(t){return t.references.forEach(function(t){var r=t.name;if(n.indexOf(r)<0)n.push(r);else{var i=new Sl('Reference "#'+r+'" is defined several times',t.sourceSpan,Pu.FATAL);e.push(i)}})})},t.ctorParameters=function(){return[{type:wu},{type:Mp},{type:dp},{type:To},{type:Array,decorators:[{type:e.Optional},{type:e.Inject,args:[El]}]}]},t=il([M(),ol("design:paramtypes",[wu,Mp,dp,To,Array])],t)}(),Tl=function(){function t(t,e,n,r,i,o){var s=this;this.providerViewContext=t,this._bindingParser=n,this._schemaRegistry=r,this._schemas=i,this._targetErrors=o,this.selectorMatcher=new Jo,this.directivesIndex=new Map,this.ngContentCount=0,e.forEach(function(t,e){var n=Zo.parse(t.selector);s.selectorMatcher.addSelectables(n,t),s.directivesIndex.set(t,e)})}return t.prototype.visitExpansion=function(){return null},t.prototype.visitExpansionCase=function(){return null},t.prototype.visitText=function(t,e){var n=e.findNgContentIndex(wl),r=this._bindingParser.parseInterpolation(t.value,t.sourceSpan);return r?new Fi(r,n,t.sourceSpan):new Vi(t.value,n,t.sourceSpan)},t.prototype.visitAttribute=function(t){return new Ui(t.name,t.value,t.sourceSpan)},t.prototype.visitComment=function(){return null},t.prototype.visitElement=function(t,e){var n=this,i=t.name,o=de(t);if(o.type===el.SCRIPT||o.type===el.STYLE)return null;if(o.type===el.STYLESHEET&&pe(o.hrefAttr))return null;var s=[],a=[],u=[],c=[],l=[],h=[],f=[],d=[],y=!1,m=[],v=p(i.toLowerCase())[1],g=v==vl;t.attrs.forEach(function(t){var e,i,o=n._parseAttr(g,t,s,a,l,u,c),p=n._normalizeAttributeName(t.name);p==gl?e=t.value:p.startsWith(_l)&&(e=t.value,i=p.substring(_l.length)+":");var v=r(e);v&&(y&&n._reportError("Can't have multiple template bindings on one element. Use only one attribute named 'template' or prefixed with *",t.sourceSpan),y=!0,n._bindingParser.parseInlineTemplateBinding(i,e,t.sourceSpan,f,h,d)),o||v||(m.push(n.visitAttribute(t,null)),s.push([t.name,t.value]))});var _=ve(i,s),b=this._parseDirectives(this.selectorMatcher,_),w=b.directives,E=b.matchElement,S=[],C=this._createDirectiveAsts(g,t.name,w,a,u,t.sourceSpan,S),x=this._createElementPropertyAsts(t.name,a,C),T=e.isTemplateElement||y,P=new Op(this.providerViewContext,e.providerContext,T,C,m,S,t.sourceSpan),O=X(o.nonBindable?Rl:this,t.children,Al.create(g,C,g?e.providerContext:P));P.afterElement();var A,M=r(o.projectAs)?Zo.parse(o.projectAs)[0]:_,R=e.findNgContentIndex(M);if(o.type===el.NG_CONTENT)t.children&&!t.children.every(ge)&&this._reportError("<ng-content> element cannot have content.",t.sourceSpan),A=new $i(this.ngContentCount++,y?null:R,t.sourceSpan);else if(g)this._assertAllEventsPublishedByDirectives(C,l),this._assertNoComponentsNorElementBindingsOnTemplate(C,x,t.sourceSpan),A=new Gi(m,l,S,c,P.transformedDirectiveAsts,P.transformProviders,P.transformedHasViewContainer,O,y?null:R,t.sourceSpan);else{this._assertElementExists(E,t),this._assertOnlyOneComponent(C,t.sourceSpan);var k=y?null:e.findNgContentIndex(M);A=new Wi(i,m,x,l,S,P.transformedDirectiveAsts,P.transformProviders,P.transformedHasViewContainer,O,y?null:k,t.sourceSpan,t.endSourceSpan),this._findComponentDirectives(C).forEach(function(t){return n._validateElementAnimationInputOutputs(t.hostProperties,t.hostEvents,t.directive.template)});var N=P.viewContext.component.template;this._validateElementAnimationInputOutputs(x,l,N.toSummary())}if(y){var I=ve(vl,f),D=this._parseDirectives(this.selectorMatcher,I).directives,j=this._createDirectiveAsts(!0,t.name,D,h,[],t.sourceSpan,[]),L=this._createElementPropertyAsts(t.name,h,j);this._assertNoComponentsNorElementBindingsOnTemplate(j,L,t.sourceSpan);var V=new Op(this.providerViewContext,e.providerContext,e.isTemplateElement,j,[],[],t.sourceSpan);V.afterElement(),A=new Gi([],[],[],d,V.transformedDirectiveAsts,V.transformProviders,V.transformedHasViewContainer,[A],R,t.sourceSpan)}return A},t.prototype._validateElementAnimationInputOutputs=function(t,e,n){var r=this,i=new Set;n.animations.forEach(function(t){i.add(t)});var o=t.filter(function(t){return t.isAnimation});o.forEach(function(t){var e=t.name;i.has(e)||r._reportError("Couldn't find an animation entry for \""+e+'"',t.sourceSpan)}),e.forEach(function(t){if(t.isAnimation){var e=o.find(function(e){return e.name==t.name});e||r._reportError("Unable to listen on (@"+t.name+"."+t.phase+") because the animation trigger [@"+t.name+"] isn't being used on the same element",t.sourceSpan)}})},t.prototype._parseAttr=function(t,e,n,i,o,s,a){var u=this._normalizeAttributeName(e.name),c=e.value,p=e.sourceSpan,l=u.match(sl),h=!1;if(null!==l)if(h=!0,r(l[al]))this._bindingParser.parsePropertyBinding(l[fl],c,!1,p,n,i);else if(l[ul])if(t){var f=l[fl];this._parseVariable(f,c,p,a)}else this._reportError('"let-" is only supported on template elements.',p);else if(l[cl]){var f=l[fl];this._parseReference(f,c,p,s)}else l[pl]?this._bindingParser.parseEvent(l[fl],c,p,n,o):l[ll]?(this._bindingParser.parsePropertyBinding(l[fl],c,!1,p,n,i),this._parseAssignmentEvent(l[fl],c,p,n,o)):l[hl]?this._bindingParser.parseLiteralAttr(u,c,p,n,i):l[dl]?(this._bindingParser.parsePropertyBinding(l[dl],c,!1,p,n,i),this._parseAssignmentEvent(l[dl],c,p,n,o)):l[yl]?this._bindingParser.parsePropertyBinding(l[yl],c,!1,p,n,i):l[ml]&&this._bindingParser.parseEvent(l[ml],c,p,n,o);else h=this._bindingParser.parsePropertyInterpolation(u,c,p,n,i);return h||this._bindingParser.parseLiteralAttr(u,c,p,n,i),h},t.prototype._normalizeAttributeName=function(t){return/^data-/i.test(t)?t.substring(5):t},t.prototype._parseVariable=function(t,e,n,r){t.indexOf("-")>-1&&this._reportError('"-" is not allowed in variable names',n),r.push(new zi(t,e,n))},t.prototype._parseReference=function(t,e,n,r){t.indexOf("-")>-1&&this._reportError('"-" is not allowed in reference names',n),r.push(new Ol(t,e,n))},t.prototype._parseAssignmentEvent=function(t,e,n,r,i){this._bindingParser.parseEvent(t+"Change",e+"=$event",n,r,i)},t.prototype._parseDirectives=function(t,e){var n=this,r=new Array(this.directivesIndex.size),i=!1;return t.match(e,function(t,e){r[n.directivesIndex.get(e)]=e,i=i||t.hasElementSelector()}),{directives:r.filter(function(t){return!!t}),matchElement:i}},t.prototype._createDirectiveAsts=function(t,e,n,r,i,o,s){var a=this,u=new Set,c=null,p=n.map(function(t){var n=new Tu(o.start,o.end,"Directive "+b(t.type));t.isComponent&&(c=t);var p=[],l=a._bindingParser.createDirectiveHostPropertyAsts(t,n);a._checkPropertiesInSchema(e,l);var h=a._bindingParser.createDirectiveHostEventAsts(t,n);return a._createDirectivePropertyAsts(t.inputs,r,p),i.forEach(function(e){(0===e.value.length&&t.isComponent||t.exportAs==e.value)&&(s.push(new qi(e.name,$t(t.type),e.sourceSpan)),u.add(e.name))}),new Xi(t,p,l,h,n)});return i.forEach(function(e){if(e.value.length>0)u.has(e.name)||a._reportError('There is no directive with "exportAs" set to "'+e.value+'"',e.sourceSpan);else if(!c){var n=null;t&&(n=Zt(_p.TemplateRef)),s.push(new qi(e.name,n,e.sourceSpan))}}),p},t.prototype._createDirectivePropertyAsts=function(t,e,n){if(t){var r=new Map;e.forEach(function(t){var e=r.get(t.name);(!e||e.isLiteral)&&r.set(t.name,t)}),Object.keys(t).forEach(function(e){var i=t[e],o=r.get(i);o&&n.push(new Ki(e,o.name,o.expression,o.sourceSpan))})}},t.prototype._createElementPropertyAsts=function(t,e,n){var r=this,i=[],o=new Map;return n.forEach(function(t){t.inputs.forEach(function(t){o.set(t.templateName,t)})}),e.forEach(function(e){e.isLiteral||o.get(e.name)||i.push(r._bindingParser.createElementPropertyAst(t,e))}),this._checkPropertiesInSchema(t,i),i},t.prototype._findComponentDirectives=function(t){return t.filter(function(t){return t.directive.isComponent})},t.prototype._findComponentDirectiveNames=function(t){return this._findComponentDirectives(t).map(function(t){return b(t.directive.type)})},t.prototype._assertOnlyOneComponent=function(t,e){var n=this._findComponentDirectiveNames(t);n.length>1&&this._reportError("More than one component matched on this element.\nMake sure that only one component's selector can match a given element.\nConflicting components: "+n.join(","),e)},t.prototype._assertElementExists=function(t,e){var n=e.name.replace(/^:xhtml:/,"");if(!t&&!this._schemaRegistry.hasElement(n,this._schemas)){var r="'"+n+"' is not a known element:\n"+("1. If '"+n+"' is an Angular component, then verify that it is part of this module.\n")+("2. If '"+n+"' is a Web Component then add \"CUSTOM_ELEMENTS_SCHEMA\" to the '@NgModule.schemas' of this component to suppress this message.");this._reportError(r,e.sourceSpan)}},t.prototype._assertNoComponentsNorElementBindingsOnTemplate=function(t,e,n){var r=this,i=this._findComponentDirectiveNames(t);i.length>0&&this._reportError("Components on an embedded template: "+i.join(","),n),e.forEach(function(t){r._reportError("Property binding "+t.name+' not used by any directive on an embedded template. Make sure that the property name is spelled correctly and all directives are listed in the "@NgModule.declarations".',n)})},t.prototype._assertAllEventsPublishedByDirectives=function(t,e){var n=this,i=new Set;t.forEach(function(t){Object.keys(t.directive.outputs).forEach(function(e){var n=t.directive.outputs[e];i.add(n)})}),e.forEach(function(t){(r(t.target)||!i.has(t.name))&&n._reportError("Event binding "+t.fullName+' not emitted by any directive on an embedded template. Make sure that the event name is spelled correctly and all directives are listed in the "@NgModule.declarations".',t.sourceSpan)})},t.prototype._checkPropertiesInSchema=function(t,e){var n=this;e.forEach(function(e){if(e.type===Zi.Property&&!n._schemaRegistry.hasProperty(t,e.name,n._schemas)){var r="Can't bind to '"+e.name+"' since it isn't a known property of '"+t+"'.";t.indexOf("-")>-1&&(r+="\n1. If '"+t+"' is an Angular component and it has '"+e.name+"' input, then verify that it is part of this module."+("\n2. If '"+t+"' is a Web Component then add \"CUSTOM_ELEMENTS_SCHEMA\" to the '@NgModule.schemas' of this component to suppress this message.\n")),n._reportError(r,e.sourceSpan)}})},t.prototype._reportError=function(t,e,n){void 0===n&&(n=Pu.FATAL),this._targetErrors.push(new Ou(e,t,n))},t}(),Pl=function(){function t(){}return t.prototype.visitElement=function(t,e){var n=de(t);if(n.type===el.SCRIPT||n.type===el.STYLE||n.type===el.STYLESHEET)return null;var r=t.attrs.map(function(t){return[t.name,t.value]}),i=ve(t.name,r),o=e.findNgContentIndex(i),s=X(this,t.children,Ml);return new Wi(t.name,X(this,t.attrs),[],[],[],[],[],!1,s,o,t.sourceSpan,t.endSourceSpan)},t.prototype.visitComment=function(){return null},t.prototype.visitAttribute=function(t){return new Ui(t.name,t.value,t.sourceSpan)},t.prototype.visitText=function(t,e){var n=e.findNgContentIndex(wl);return new Vi(t.value,n,t.sourceSpan)},t.prototype.visitExpansion=function(t){return t},t.prototype.visitExpansionCase=function(t){return t},t}(),Ol=function(){function t(t,e,n){this.name=t,this.value=e,this.sourceSpan=n}return t}(),Al=function(){function t(t,e,n,r){this.isTemplateElement=t,this._ngContentIndexMatcher=e,this._wildcardNgContentIndex=n,this.providerContext=r}return t.create=function(e,n,r){var i=new Jo,o=null,s=n.find(function(t){return t.directive.isComponent});if(s)for(var a=s.directive.template.ngContentSelectors,u=0;u<a.length;u++){var c=a[u];"*"===c?o=u:i.addSelectables(Zo.parse(a[u]),u)}return new t(e,i,o,r)},t.prototype.findNgContentIndex=function(t){var e=[];return this._ngContentIndexMatcher.match(t,function(t,n){e.push(n)}),e.sort(),r(this._wildcardNgContentIndex)&&e.push(this._wildcardNgContentIndex),e.length>0?e[0]:null},t}(),Ml=new Al(!0,new Jo,null,null),Rl=new Pl,kl=function(){function t(t){var n=void 0===t?{}:t,r=n.renderTypes,i=void 0===r?new Il:r,o=n.defaultEncapsulation,s=void 0===o?e.ViewEncapsulation.Emulated:o,a=n.genDebugInfo,u=n.logBindingUpdate,c=n.useJit,p=void 0===c?!0:c;this.renderTypes=i,this.defaultEncapsulation=s,this._genDebugInfo=a,this._logBindingUpdate=u,this.useJit=p}return Object.defineProperty(t.prototype,"genDebugInfo",{get:function(){return void 0===this._genDebugInfo?e.isDevMode():this._genDebugInfo},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"logBindingUpdate",{get:function(){return void 0===this._logBindingUpdate?e.isDevMode():this._logBindingUpdate},enumerable:!0,configurable:!0}),t}(),Nl=function(){function t(){}return t.prototype.renderer=function(){},t.prototype.renderText=function(){},t.prototype.renderElement=function(){},t.prototype.renderComment=function(){},t.prototype.renderNode=function(){},t.prototype.renderEvent=function(){},t}(),Il=function(){function t(){this.renderText=null,this.renderElement=null,this.renderComment=null,this.renderNode=null,this.renderEvent=null}return Object.defineProperty(t.prototype,"renderer",{get:function(){return Yt(_p.Renderer)},enumerable:!0,configurable:!0}),t}(),Dl=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},jl=function(){function t(){this.startTime=0,this.playTime=0}return t.prototype.visit=function(){},t}(),Ll=function(t){function e(){t.apply(this,arguments)}return Dl(e,t),e.prototype.visit=function(){},e}(jl),Vl=function(t){function e(e,n,r){t.call(this),this.name=e,this.stateDeclarations=n,this.stateTransitions=r}return Dl(e,t),e.prototype.visit=function(t,e){return t.visitAnimationEntry(this,e)},e}(jl),Fl=function(t){function e(e,n){t.call(this),this.stateName=e,this.styles=n}return Dl(e,t),e.prototype.visit=function(t,e){return t.visitAnimationStateDeclaration(this,e)},e}(Ll),Ul=function(){function t(t,e){this.fromState=t,this.toState=e}return t}(),Bl=function(t){function e(e,n){t.call(this),this.stateChanges=e,this.animation=n}return Dl(e,t),e.prototype.visit=function(t,e){return t.visitAnimationStateTransition(this,e)},e}(Ll),Hl=function(t){function e(e,n,r,i,o){t.call(this),this.startingStyles=e,this.keyframes=n,this.duration=r,this.delay=i,this.easing=o}return Dl(e,t),e.prototype.visit=function(t,e){return t.visitAnimationStep(this,e)},e}(jl),ql=function(t){function e(e){t.call(this),this.styles=e}return Dl(e,t),e.prototype.visit=function(t,e){return t.visitAnimationStyles(this,e)},e}(jl),zl=function(t){function e(e,n){t.call(this),this.offset=e,this.styles=n}return Dl(e,t),e.prototype.visit=function(t,e){return t.visitAnimationKeyframe(this,e)},e}(jl),Wl=function(t){function e(e){t.call(this),this.steps=e}return Dl(e,t),e}(jl),Gl=function(t){function e(e){t.call(this,e)}return Dl(e,t),e.prototype.visit=function(t,e){return t.visitAnimationGroup(this,e)},e}(Wl),Kl=function(t){function e(e){t.call(this,e)}return Dl(e,t),e.prototype.visit=function(t,e){return t.visitAnimationSequence(this,e)},e}(Wl),Xl=function(){function t(t,e){this.time=t,this.value=e}return t.prototype.matches=function(t,e){return t==this.time&&e==this.value},t}(),Ql=function(){function t(){this.styles={}}return t.prototype.insertAtTime=function(t,e,n){var i=new Xl(e,n),o=this.styles[t];r(o)||(o=this.styles[t]=[]);for(var s=0,a=o.length-1;a>=0;a--)if(o[a].time<=e){s=a+1;break}o.splice(s,0,i)},t.prototype.getByIndex=function(t,e){var n=this.styles[t];return r(n)?e>=n.length?null:n[e]:null},t.prototype.indexOfAtOrBeforeTime=function(t,e){var n=this.styles[t];if(r(n))for(var i=n.length-1;i>=0;i--)if(n[i].time<=e)return i;return null},t}(),Yl=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},$l=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},Zl=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},Jl=0,th=1,eh=1e3,nh=function(t){function e(e){t.call(this,null,e)}return Yl(e,t),e.prototype.toString=function(){return""+this.msg},e}(Ou),rh=function(){function t(t,e){this.ast=t,this.errors=e}return t}(),ih=function(){function t(t){this._schema=t}return t.prototype.parseComponent=function(t){var e=this,n=[],r=b(t.type),i=new Set,o=t.template.animations.map(function(t){var o=e.parseEntry(t),s=o.ast,a=s.name;if(i.has(a)?o.errors.push(new nh('The animation trigger "'+a+'" has already been registered for the '+r+" component")):i.add(a),o.errors.length>0){var u='- Unable to parse the animation sequence for "'+a+'" on the '+r+" component due to the following errors:";o.errors.forEach(function(t){u+="\n-- "+t.msg}),n.push(u)}return s});if(n.length>0){var s=n.join("\n");throw new Error("Animation parse errors:\n"+s)}return o},t.prototype.parseEntry=function(t){var e=this,n=[],r={},i=[],o=[];t.definitions.forEach(function(t){t instanceof ds?be(t,e._schema,n).forEach(function(t){o.push(t),r[t.stateName]=t.styles}):i.push(t)});var s=i.map(function(t){return we(t,r,e._schema,n)}),a=new Vl(t.name,o,s);return new rh(a,n)},t=$l([M(),Zl("design:paramtypes",[Mp])],t)}(),oh=function(){function t(t,e,n){this.duration=t,this.delay=e,this.easing=n}return t}(),sh=function(){function t(){}return t.prototype.get=function(){return null},t}(),ah=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},uh=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},ch={provide:e.PACKAGE_ROOT_URL,useValue:"/"},ph=function(){function t(t){void 0===t&&(t=null),this._packagePrefix=t}return t.prototype.resolve=function(t,e){var n=e;r(t)&&t.length>0&&(n=He(t,n));var i=Fe(n),o=this._packagePrefix;if(r(o)&&r(i)&&"package"==i[hh.Scheme]){var s=i[hh.Path];return o=o.replace(/\/+$/,""),s=s.replace(/^\/+/,""),o+"/"+s}return n},t.ctorParameters=function(){return[{type:void 0,decorators:[{type:e.Inject,args:[e.PACKAGE_ROOT_URL]}]}]},t=ah([M(),uh("design:paramtypes",[String])],t)}(),lh=new RegExp("^(?:([^:/?#.]+):)?(?://(?:([^/?#]*)@)?([\\w\\d\\-\\u0100-\\uffff.%]*)(?::([0-9]+))?)?([^?#]+)?(?:\\?([^#]*))?(?:#(.*))?$"),hh={};hh.Scheme=1,hh.UserInfo=2,hh.Domain=3,hh.Port=4,hh.Path=5,hh.QueryData=6,hh.Fragment=7,hh[hh.Scheme]="Scheme",hh[hh.UserInfo]="UserInfo",hh[hh.Domain]="Domain",hh[hh.Port]="Port",hh[hh.Path]="Path",hh[hh.QueryData]="QueryData",hh[hh.Fragment]="Fragment";var fh=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);
-else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},dh=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},yh=function(){function t(t,e,n,r){this._resourceLoader=t,this._urlResolver=e,this._htmlParser=n,this._config=r,this._resourceLoaderCache=new Map}return t.prototype.clearCache=function(){this._resourceLoaderCache.clear()},t.prototype.clearCacheFor=function(t){var e=this;t.isComponent&&(this._resourceLoaderCache["delete"](t.template.templateUrl),t.template.externalStylesheets.forEach(function(t){e._resourceLoaderCache["delete"](t.moduleUrl)}))},t.prototype._fetch=function(t){var e=this._resourceLoaderCache.get(t);return e||(e=this._resourceLoader.get(t),this._resourceLoaderCache.set(t,e)),e},t.prototype.normalizeTemplate=function(t){var e,n=this,i=null;if(r(t.template))i=this.normalizeTemplateSync(t),e=Promise.resolve(i);else{if(!t.templateUrl)throw new cs("No template specified for component "+s(t.componentType));e=this.normalizeTemplateAsync(t)}return i&&0===i.styleUrls.length?new us(i):new us(null,e.then(function(t){return n.normalizeExternalStylesheets(t)}))},t.prototype.normalizeTemplateSync=function(t){return this.normalizeLoadedTemplate(t,t.template,t.moduleUrl)},t.prototype.normalizeTemplateAsync=function(t){var e=this,n=this._urlResolver.resolve(t.moduleUrl,t.templateUrl);return this._fetch(n).then(function(r){return e.normalizeLoadedTemplate(t,r,n)})},t.prototype.normalizeLoadedTemplate=function(t,n,r){var o=Ia.fromArray(t.interpolation),a=this._htmlParser.parse(n,s(t.componentType),!0,o);if(a.errors.length>0){var u=a.errors.join("\n");throw new cs("Template parse errors:\n"+u)}var c=this.normalizeStylesheet(new xs({styles:t.styles,styleUrls:t.styleUrls,moduleUrl:t.moduleUrl})),p=new mh;X(p,a.rootNodes);var l=this.normalizeStylesheet(new xs({styles:p.styles,styleUrls:p.styleUrls,moduleUrl:r})),h=t.encapsulation;i(h)&&(h=this._config.defaultEncapsulation);var f=c.styles.concat(l.styles),d=c.styleUrls.concat(l.styleUrls);return h===e.ViewEncapsulation.Emulated&&0===f.length&&0===d.length&&(h=e.ViewEncapsulation.None),new Ts({encapsulation:h,template:n,templateUrl:r,styles:f,styleUrls:d,ngContentSelectors:p.ngContentSelectors,animations:t.animations,interpolation:t.interpolation})},t.prototype.normalizeExternalStylesheets=function(t){return this._loadMissingExternalStylesheets(t.styleUrls).then(function(e){return new Ts({encapsulation:t.encapsulation,template:t.template,templateUrl:t.templateUrl,styles:t.styles,styleUrls:t.styleUrls,externalStylesheets:e,ngContentSelectors:t.ngContentSelectors,animations:t.animations,interpolation:t.interpolation})})},t.prototype._loadMissingExternalStylesheets=function(t,e){var n=this;return void 0===e&&(e=new Map),Promise.all(t.filter(function(t){return!e.has(t)}).map(function(t){return n._fetch(t).then(function(r){var i=n.normalizeStylesheet(new xs({styles:[r],moduleUrl:t}));return e.set(t,i),n._loadMissingExternalStylesheets(i.styleUrls,e)})})).then(function(){return Array.from(e.values())})},t.prototype.normalizeStylesheet=function(t){var e=this,n=t.styleUrls.filter(pe).map(function(n){return e._urlResolver.resolve(t.moduleUrl,n)}),r=t.styles.map(function(r){var i=le(e._urlResolver,t.moduleUrl,r);return n.push.apply(n,i.styleUrls),i.style});return new xs({styles:r,styleUrls:n,moduleUrl:t.moduleUrl})},t=fh([M(),dh("design:paramtypes",[sh,ph,lp,kl])],t)}(),mh=function(){function t(){this.ngContentSelectors=[],this.styles=[],this.styleUrls=[],this.ngNonBindableStackCount=0}return t.prototype.visitElement=function(t){var e=de(t);switch(e.type){case el.NG_CONTENT:0===this.ngNonBindableStackCount&&this.ngContentSelectors.push(e.selectAttr);break;case el.STYLE:var n="";t.children.forEach(function(t){t instanceof Au&&(n+=t.value)}),this.styles.push(n);break;case el.STYLESHEET:this.styleUrls.push(e.hrefAttr)}return e.nonBindable&&this.ngNonBindableStackCount++,X(this,t.children),e.nonBindable&&this.ngNonBindableStackCount--,null},t.prototype.visitExpansion=function(t){X(this,t.cases)},t.prototype.visitExpansionCase=function(t){X(this,t.expression)},t.prototype.visitComment=function(){return null},t.prototype.visitAttribute=function(){return null},t.prototype.visitText=function(){return null},t}(),vh=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},gh=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},_h=function(){function t(t){void 0===t&&(t=Po),this._reflector=t}return t.prototype.isDirective=function(t){var n=this._reflector.annotations(e.resolveForwardRef(t));return n&&n.some(qe)},t.prototype.resolve=function(t,n){void 0===n&&(n=!0);var r=this._reflector.annotations(e.resolveForwardRef(t));if(r){var i=io.findLast(r,qe);if(i){var o=this._reflector.propMetadata(t);return this._mergeWithPropertyMetadata(i,o,t)}}if(n)throw new Error("No Directive annotation found on "+s(t));return null},t.prototype._mergeWithPropertyMetadata=function(t,n,r){var i=[],o=[],s={},a={};return Object.keys(n).forEach(function(t){var r=io.findLast(n[t],function(t){return t instanceof e.Input});r&&i.push(r.bindingPropertyName?t+": "+r.bindingPropertyName:t);var u=io.findLast(n[t],function(t){return t instanceof e.Output});u&&o.push(u.bindingPropertyName?t+": "+u.bindingPropertyName:t);var c=n[t].filter(function(t){return t&&t instanceof e.HostBinding});c.forEach(function(e){if(e.hostPropertyName){var n=e.hostPropertyName[0];if("("===n)throw new Error("@HostBinding can not bind to events. Use @HostListener instead.");if("["===n)throw new Error("@HostBinding parameter should be a property name, 'class.<name>', or 'attr.<name>'.");s["["+e.hostPropertyName+"]"]=t}else s["["+t+"]"]=t});var p=n[t].filter(function(t){return t&&t instanceof e.HostListener});p.forEach(function(e){var n=e.args||[];s["("+e.eventName+")"]=t+"("+n.join(",")+")"});var l=io.findLast(n[t],function(t){return t instanceof e.Query});l&&(a[t]=l)}),this._merge(t,i,o,s,a,r)},t.prototype._extractPublicName=function(t){return y(t,[null,t])[1].trim()},t.prototype._dedupeBindings=function(t){for(var e=new Set,n=[],r=t.length-1;r>=0;r--){var i=t[r],o=this._extractPublicName(i);e.has(o)||(e.add(o),n.push(i))}return n.reverse()},t.prototype._merge=function(t,n,r,i,o){var s=this._dedupeBindings(t.inputs?t.inputs.concat(n):n),a=this._dedupeBindings(t.outputs?t.outputs.concat(r):r),u=t.host?ro.merge(t.host,i):i,c=t.queries?ro.merge(t.queries,o):o;return t instanceof e.Component?new e.Component({selector:t.selector,inputs:s,outputs:a,host:u,exportAs:t.exportAs,moduleId:t.moduleId,queries:c,changeDetection:t.changeDetection,providers:t.providers,viewProviders:t.viewProviders,entryComponents:t.entryComponents,template:t.template,templateUrl:t.templateUrl,styles:t.styles,styleUrls:t.styleUrls,encapsulation:t.encapsulation,animations:t.animations,interpolation:t.interpolation}):new e.Directive({selector:t.selector,inputs:s,outputs:a,host:u,exportAs:t.exportAs,queries:c,providers:t.providers})},t=vh([M(),gh("design:paramtypes",[co])],t)}(),bh=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},wh={};wh.Const=0,wh[wh.Const]="Const";var Eh=function(){function t(t){void 0===t&&(t=null),this.modifiers=t,t||(this.modifiers=[])}return t.prototype.visitType=function(){},t.prototype.hasModifier=function(t){return-1!==this.modifiers.indexOf(t)},t}(),Sh={};Sh.Dynamic=0,Sh.Bool=1,Sh.String=2,Sh.Int=3,Sh.Number=4,Sh.Function=5,Sh.Null=6,Sh[Sh.Dynamic]="Dynamic",Sh[Sh.Bool]="Bool",Sh[Sh.String]="String",Sh[Sh.Int]="Int",Sh[Sh.Number]="Number",Sh[Sh.Function]="Function",Sh[Sh.Null]="Null";var Ch=function(t){function e(e,n){void 0===n&&(n=null),t.call(this,n),this.name=e}return bh(e,t),e.prototype.visitType=function(t,e){return t.visitBuiltintType(this,e)},e}(Eh),xh=function(t){function e(e,n,r){void 0===n&&(n=null),void 0===r&&(r=null),t.call(this,r),this.value=e,this.typeParams=n}return bh(e,t),e.prototype.visitType=function(t,e){return t.visitExpressionType(this,e)},e}(Eh),Th=function(t){function e(e,n){void 0===n&&(n=null),t.call(this,n),this.of=e}return bh(e,t),e.prototype.visitType=function(t,e){return t.visitArrayType(this,e)},e}(Eh),Ph=function(t){function e(e,n){void 0===n&&(n=null),t.call(this,n),this.valueType=e}return bh(e,t),e.prototype.visitType=function(t,e){return t.visitMapType(this,e)},e}(Eh),Oh=new Ch(Sh.Dynamic),Ah=new Ch(Sh.Bool),Mh=(new Ch(Sh.Int),new Ch(Sh.Number)),Rh=new Ch(Sh.String),kh=new Ch(Sh.Function),Nh=new Ch(Sh.Null),Ih={};Ih.Equals=0,Ih.NotEquals=1,Ih.Identical=2,Ih.NotIdentical=3,Ih.Minus=4,Ih.Plus=5,Ih.Divide=6,Ih.Multiply=7,Ih.Modulo=8,Ih.And=9,Ih.Or=10,Ih.Lower=11,Ih.LowerEquals=12,Ih.Bigger=13,Ih.BiggerEquals=14,Ih[Ih.Equals]="Equals",Ih[Ih.NotEquals]="NotEquals",Ih[Ih.Identical]="Identical",Ih[Ih.NotIdentical]="NotIdentical",Ih[Ih.Minus]="Minus",Ih[Ih.Plus]="Plus",Ih[Ih.Divide]="Divide",Ih[Ih.Multiply]="Multiply",Ih[Ih.Modulo]="Modulo",Ih[Ih.And]="And",Ih[Ih.Or]="Or",Ih[Ih.Lower]="Lower",Ih[Ih.LowerEquals]="LowerEquals",Ih[Ih.Bigger]="Bigger",Ih[Ih.BiggerEquals]="BiggerEquals";var Dh=function(){function t(t){this.type=t}return t.prototype.visitExpression=function(){},t.prototype.prop=function(t){return new Jh(this,t)},t.prototype.key=function(t,e){return void 0===e&&(e=null),new tf(this,t,e)},t.prototype.callMethod=function(t,e){return new Hh(this,t,e)},t.prototype.callFn=function(t){return new qh(this,t)},t.prototype.instantiate=function(t,e){return void 0===e&&(e=null),new zh(this,t,e)},t.prototype.conditional=function(t,e){return void 0===e&&(e=null),new Kh(this,t,e)},t.prototype.equals=function(t){return new Zh(Ih.Equals,this,t)},t.prototype.notEquals=function(t){return new Zh(Ih.NotEquals,this,t)},t.prototype.identical=function(t){return new Zh(Ih.Identical,this,t)},t.prototype.notIdentical=function(t){return new Zh(Ih.NotIdentical,this,t)},t.prototype.minus=function(t){return new Zh(Ih.Minus,this,t)},t.prototype.plus=function(t){return new Zh(Ih.Plus,this,t)},t.prototype.divide=function(t){return new Zh(Ih.Divide,this,t)},t.prototype.multiply=function(t){return new Zh(Ih.Multiply,this,t)},t.prototype.modulo=function(t){return new Zh(Ih.Modulo,this,t)},t.prototype.and=function(t){return new Zh(Ih.And,this,t)},t.prototype.or=function(t){return new Zh(Ih.Or,this,t)},t.prototype.lower=function(t){return new Zh(Ih.Lower,this,t)},t.prototype.lowerEquals=function(t){return new Zh(Ih.LowerEquals,this,t)},t.prototype.bigger=function(t){return new Zh(Ih.Bigger,this,t)},t.prototype.biggerEquals=function(t){return new Zh(Ih.BiggerEquals,this,t)},t.prototype.isBlank=function(){return this.equals(uf)},t.prototype.cast=function(t){return new Qh(this,t)},t.prototype.toStmt=function(){return new ff(this)},t}(),jh={};jh.This=0,jh.Super=1,jh.CatchError=2,jh.CatchStack=3,jh[jh.This]="This",jh[jh.Super]="Super",jh[jh.CatchError]="CatchError",jh[jh.CatchStack]="CatchStack";var Lh=function(t){function e(e,n){void 0===n&&(n=null),t.call(this,n),"string"==typeof e?(this.name=e,this.builtin=null):(this.name=null,this.builtin=e)}return bh(e,t),e.prototype.visitExpression=function(t,e){return t.visitReadVarExpr(this,e)},e.prototype.set=function(t){return new Vh(this.name,t)},e}(Dh),Vh=function(t){function e(e,n,r){void 0===r&&(r=null),t.call(this,r||n.type),this.name=e,this.value=n}return bh(e,t),e.prototype.visitExpression=function(t,e){return t.visitWriteVarExpr(this,e)},e.prototype.toDeclStmt=function(t,e){return void 0===t&&(t=null),void 0===e&&(e=null),new lf(this.name,this.value,t,e)},e}(Dh),Fh=function(t){function e(e,n,r,i){void 0===i&&(i=null),t.call(this,i||r.type),this.receiver=e,this.index=n,this.value=r}return bh(e,t),e.prototype.visitExpression=function(t,e){return t.visitWriteKeyExpr(this,e)},e}(Dh),Uh=function(t){function e(e,n,r,i){void 0===i&&(i=null),t.call(this,i||r.type),this.receiver=e,this.name=n,this.value=r}return bh(e,t),e.prototype.visitExpression=function(t,e){return t.visitWritePropExpr(this,e)},e}(Dh),Bh={};Bh.ConcatArray=0,Bh.SubscribeObservable=1,Bh.Bind=2,Bh[Bh.ConcatArray]="ConcatArray",Bh[Bh.SubscribeObservable]="SubscribeObservable",Bh[Bh.Bind]="Bind";var Hh=function(t){function e(e,n,r,i){void 0===i&&(i=null),t.call(this,i),this.receiver=e,this.args=r,"string"==typeof n?(this.name=n,this.builtin=null):(this.name=null,this.builtin=n)}return bh(e,t),e.prototype.visitExpression=function(t,e){return t.visitInvokeMethodExpr(this,e)},e}(Dh),qh=function(t){function e(e,n,r){void 0===r&&(r=null),t.call(this,r),this.fn=e,this.args=n}return bh(e,t),e.prototype.visitExpression=function(t,e){return t.visitInvokeFunctionExpr(this,e)},e}(Dh),zh=function(t){function e(e,n,r){t.call(this,r),this.classExpr=e,this.args=n}return bh(e,t),e.prototype.visitExpression=function(t,e){return t.visitInstantiateExpr(this,e)},e}(Dh),Wh=function(t){function e(e,n){void 0===n&&(n=null),t.call(this,n),this.value=e}return bh(e,t),e.prototype.visitExpression=function(t,e){return t.visitLiteralExpr(this,e)},e}(Dh),Gh=function(t){function e(e,n,r){void 0===n&&(n=null),void 0===r&&(r=null),t.call(this,n),this.value=e,this.typeParams=r}return bh(e,t),e.prototype.visitExpression=function(t,e){return t.visitExternalExpr(this,e)},e}(Dh),Kh=function(t){function e(e,n,r,i){void 0===r&&(r=null),void 0===i&&(i=null),t.call(this,i||n.type),this.condition=e,this.falseCase=r,this.trueCase=n}return bh(e,t),e.prototype.visitExpression=function(t,e){return t.visitConditionalExpr(this,e)},e}(Dh),Xh=function(t){function e(e){t.call(this,Ah),this.condition=e}return bh(e,t),e.prototype.visitExpression=function(t,e){return t.visitNotExpr(this,e)},e}(Dh),Qh=function(t){function e(e,n){t.call(this,n),this.value=e}return bh(e,t),e.prototype.visitExpression=function(t,e){return t.visitCastExpr(this,e)},e}(Dh),Yh=function(){function t(t,e){void 0===e&&(e=null),this.name=t,this.type=e}return t}(),$h=function(t){function e(e,n,r){void 0===r&&(r=null),t.call(this,r),this.params=e,this.statements=n}return bh(e,t),e.prototype.visitExpression=function(t,e){return t.visitFunctionExpr(this,e)},e.prototype.toDeclStmt=function(t,e){return void 0===e&&(e=null),new hf(t,this.params,this.statements,this.type,e)},e}(Dh),Zh=function(t){function e(e,n,r,i){void 0===i&&(i=null),t.call(this,i||n.type),this.operator=e,this.rhs=r,this.lhs=n}return bh(e,t),e.prototype.visitExpression=function(t,e){return t.visitBinaryOperatorExpr(this,e)},e}(Dh),Jh=function(t){function e(e,n,r){void 0===r&&(r=null),t.call(this,r),this.receiver=e,this.name=n}return bh(e,t),e.prototype.visitExpression=function(t,e){return t.visitReadPropExpr(this,e)},e.prototype.set=function(t){return new Uh(this.receiver,this.name,t)},e}(Dh),tf=function(t){function e(e,n,r){void 0===r&&(r=null),t.call(this,r),this.receiver=e,this.index=n}return bh(e,t),e.prototype.visitExpression=function(t,e){return t.visitReadKeyExpr(this,e)},e.prototype.set=function(t){return new Fh(this.receiver,this.index,t)},e}(Dh),ef=function(t){function e(e,n){void 0===n&&(n=null),t.call(this,n),this.entries=e}return bh(e,t),e.prototype.visitExpression=function(t,e){return t.visitLiteralArrayExpr(this,e)},e}(Dh),nf=function(){function t(t,e,n){void 0===n&&(n=!1),this.key=t,this.value=e,this.quoted=n}return t}(),rf=function(t){function e(e,n){void 0===n&&(n=null),t.call(this,n),this.entries=e,this.valueType=null,r(n)&&(this.valueType=n.valueType)}return bh(e,t),e.prototype.visitExpression=function(t,e){return t.visitLiteralMapExpr(this,e)},e}(Dh),of=new Lh(jh.This),sf=new Lh(jh.Super),af=(new Lh(jh.CatchError),new Lh(jh.CatchStack),new Wh(null,null)),uf=new Wh(null,Nh),cf={};cf.Final=0,cf.Private=1,cf[cf.Final]="Final",cf[cf.Private]="Private";var pf=function(){function t(t){void 0===t&&(t=null),this.modifiers=t,t||(this.modifiers=[])}return t.prototype.visitStatement=function(){},t.prototype.hasModifier=function(t){return-1!==this.modifiers.indexOf(t)},t}(),lf=function(t){function e(e,n,r,i){void 0===r&&(r=null),void 0===i&&(i=null),t.call(this,i),this.name=e,this.value=n,this.type=r||n.type}return bh(e,t),e.prototype.visitStatement=function(t,e){return t.visitDeclareVarStmt(this,e)},e}(pf),hf=function(t){function e(e,n,r,i,o){void 0===i&&(i=null),void 0===o&&(o=null),t.call(this,o),this.name=e,this.params=n,this.statements=r,this.type=i}return bh(e,t),e.prototype.visitStatement=function(t,e){return t.visitDeclareFunctionStmt(this,e)},e}(pf),ff=function(t){function e(e){t.call(this),this.expr=e}return bh(e,t),e.prototype.visitStatement=function(t,e){return t.visitExpressionStmt(this,e)},e}(pf),df=function(t){function e(e){t.call(this),this.value=e}return bh(e,t),e.prototype.visitStatement=function(t,e){return t.visitReturnStmt(this,e)},e}(pf),yf=function(){function t(t,e){void 0===t&&(t=null),this.type=t,this.modifiers=e,e||(this.modifiers=[])}return t.prototype.hasModifier=function(t){return-1!==this.modifiers.indexOf(t)},t}(),mf=function(t){function e(e,n,r){void 0===n&&(n=null),void 0===r&&(r=null),t.call(this,n,r),this.name=e}return bh(e,t),e}(yf),vf=function(t){function e(e,n,r,i,o){void 0===i&&(i=null),void 0===o&&(o=null),t.call(this,i,o),this.name=e,this.params=n,this.body=r}return bh(e,t),e}(yf),gf=function(t){function e(e,n,r,i){void 0===r&&(r=null),void 0===i&&(i=null),t.call(this,r,i),this.name=e,this.body=n}return bh(e,t),e}(yf),_f=function(t){function e(e,n,r,i,o,s,a){void 0===a&&(a=null),t.call(this,a),this.name=e,this.parent=n,this.fields=r,this.getters=i,this.constructorMethod=o,this.methods=s}return bh(e,t),e.prototype.visitStatement=function(t,e){return t.visitDeclareClassStmt(this,e)},e}(pf),bf=function(t){function e(e,n,r){void 0===r&&(r=[]),t.call(this),this.condition=e,this.trueCase=n,this.falseCase=r}return bh(e,t),e.prototype.visitStatement=function(t,e){return t.visitIfStmt(this,e)},e}(pf),wf=(function(t){function e(e){t.call(this),this.comment=e}return bh(e,t),e.prototype.visitStatement=function(t,e){return t.visitCommentStmt(this,e)},e}(pf),function(t){function e(e,n){t.call(this),this.bodyStmts=e,this.catchStmts=n}return bh(e,t),e.prototype.visitStatement=function(t,e){return t.visitTryCatchStmt(this,e)},e}(pf)),Ef=function(t){function e(e){t.call(this),this.error=e}return bh(e,t),e.prototype.visitStatement=function(t,e){return t.visitThrowStmt(this,e)},e}(pf),Sf=function(){function t(){}return t.prototype.visitReadVarExpr=function(t){return t},t.prototype.visitWriteVarExpr=function(t,e){return new Vh(t.name,t.value.visitExpression(this,e))},t.prototype.visitWriteKeyExpr=function(t,e){return new Fh(t.receiver.visitExpression(this,e),t.index.visitExpression(this,e),t.value.visitExpression(this,e))},t.prototype.visitWritePropExpr=function(t,e){return new Uh(t.receiver.visitExpression(this,e),t.name,t.value.visitExpression(this,e))},t.prototype.visitInvokeMethodExpr=function(t,e){var n=t.builtin||t.name;return new Hh(t.receiver.visitExpression(this,e),n,this.visitAllExpressions(t.args,e),t.type)},t.prototype.visitInvokeFunctionExpr=function(t,e){return new qh(t.fn.visitExpression(this,e),this.visitAllExpressions(t.args,e),t.type)},t.prototype.visitInstantiateExpr=function(t,e){return new zh(t.classExpr.visitExpression(this,e),this.visitAllExpressions(t.args,e),t.type)},t.prototype.visitLiteralExpr=function(t){return t},t.prototype.visitExternalExpr=function(t){return t},t.prototype.visitConditionalExpr=function(t,e){return new Kh(t.condition.visitExpression(this,e),t.trueCase.visitExpression(this,e),t.falseCase.visitExpression(this,e))},t.prototype.visitNotExpr=function(t,e){return new Xh(t.condition.visitExpression(this,e))},t.prototype.visitCastExpr=function(t,e){return new Qh(t.value.visitExpression(this,e),e)},t.prototype.visitFunctionExpr=function(t){return t},t.prototype.visitBinaryOperatorExpr=function(t,e){return new Zh(t.operator,t.lhs.visitExpression(this,e),t.rhs.visitExpression(this,e),t.type)},t.prototype.visitReadPropExpr=function(t,e){return new Jh(t.receiver.visitExpression(this,e),t.name,t.type)},t.prototype.visitReadKeyExpr=function(t,e){return new tf(t.receiver.visitExpression(this,e),t.index.visitExpression(this,e),t.type)},t.prototype.visitLiteralArrayExpr=function(t,e){return new ef(this.visitAllExpressions(t.entries,e))},t.prototype.visitLiteralMapExpr=function(t,e){var n=this,r=t.entries.map(function(t){return new nf(t.key,t.value.visitExpression(n,e),t.quoted)});return new rf(r)},t.prototype.visitAllExpressions=function(t,e){var n=this;return t.map(function(t){return t.visitExpression(n,e)})},t.prototype.visitDeclareVarStmt=function(t,e){return new lf(t.name,t.value.visitExpression(this,e),t.type,t.modifiers)},t.prototype.visitDeclareFunctionStmt=function(t){return t},t.prototype.visitExpressionStmt=function(t,e){return new ff(t.expr.visitExpression(this,e))},t.prototype.visitReturnStmt=function(t,e){return new df(t.value.visitExpression(this,e))},t.prototype.visitDeclareClassStmt=function(t){return t},t.prototype.visitIfStmt=function(t,e){return new bf(t.condition.visitExpression(this,e),this.visitAllStatements(t.trueCase,e),this.visitAllStatements(t.falseCase,e))},t.prototype.visitTryCatchStmt=function(t,e){return new wf(this.visitAllStatements(t.bodyStmts,e),this.visitAllStatements(t.catchStmts,e))},t.prototype.visitThrowStmt=function(t,e){return new Ef(t.error.visitExpression(this,e))},t.prototype.visitCommentStmt=function(t){return t},t.prototype.visitAllStatements=function(t,e){var n=this;return t.map(function(t){return t.visitStatement(n,e)})},t}(),Cf=function(){function t(){}return t.prototype.visitReadVarExpr=function(t){return t},t.prototype.visitWriteVarExpr=function(t,e){return t.value.visitExpression(this,e),t},t.prototype.visitWriteKeyExpr=function(t,e){return t.receiver.visitExpression(this,e),t.index.visitExpression(this,e),t.value.visitExpression(this,e),t},t.prototype.visitWritePropExpr=function(t,e){return t.receiver.visitExpression(this,e),t.value.visitExpression(this,e),t},t.prototype.visitInvokeMethodExpr=function(t,e){return t.receiver.visitExpression(this,e),this.visitAllExpressions(t.args,e),t},t.prototype.visitInvokeFunctionExpr=function(t,e){return t.fn.visitExpression(this,e),this.visitAllExpressions(t.args,e),t},t.prototype.visitInstantiateExpr=function(t,e){return t.classExpr.visitExpression(this,e),this.visitAllExpressions(t.args,e),t},t.prototype.visitLiteralExpr=function(t){return t},t.prototype.visitExternalExpr=function(t){return t},t.prototype.visitConditionalExpr=function(t,e){return t.condition.visitExpression(this,e),t.trueCase.visitExpression(this,e),t.falseCase.visitExpression(this,e),t},t.prototype.visitNotExpr=function(t,e){return t.condition.visitExpression(this,e),t},t.prototype.visitCastExpr=function(t,e){return t.value.visitExpression(this,e),t},t.prototype.visitFunctionExpr=function(t){return t},t.prototype.visitBinaryOperatorExpr=function(t,e){return t.lhs.visitExpression(this,e),t.rhs.visitExpression(this,e),t},t.prototype.visitReadPropExpr=function(t,e){return t.receiver.visitExpression(this,e),t},t.prototype.visitReadKeyExpr=function(t,e){return t.receiver.visitExpression(this,e),t.index.visitExpression(this,e),t},t.prototype.visitLiteralArrayExpr=function(t,e){return this.visitAllExpressions(t.entries,e),t},t.prototype.visitLiteralMapExpr=function(t,e){var n=this;return t.entries.forEach(function(t){return t.value.visitExpression(n,e)}),t},t.prototype.visitAllExpressions=function(t,e){var n=this;t.forEach(function(t){return t.visitExpression(n,e)})},t.prototype.visitDeclareVarStmt=function(t,e){return t.value.visitExpression(this,e),t},t.prototype.visitDeclareFunctionStmt=function(t){return t},t.prototype.visitExpressionStmt=function(t,e){return t.expr.visitExpression(this,e),t},t.prototype.visitReturnStmt=function(t,e){return t.value.visitExpression(this,e),t},t.prototype.visitDeclareClassStmt=function(t){return t},t.prototype.visitIfStmt=function(t,e){return t.condition.visitExpression(this,e),this.visitAllStatements(t.trueCase,e),this.visitAllStatements(t.falseCase,e),t},t.prototype.visitTryCatchStmt=function(t,e){return this.visitAllStatements(t.bodyStmts,e),this.visitAllStatements(t.catchStmts,e),t},t.prototype.visitThrowStmt=function(t,e){return t.error.visitExpression(this,e),t},t.prototype.visitCommentStmt=function(t){return t},t.prototype.visitAllStatements=function(t,e){var n=this;t.forEach(function(t){return t.visitStatement(n,e)})},t}(),xf=function(t){function e(e,n){t.call(this),this._varName=e,this._newValue=n}return bh(e,t),e.prototype.visitReadVarExpr=function(t){return t.name==this._varName?this._newValue:t},e}(Sf),Tf=function(t){function e(){t.apply(this,arguments),this.varNames=new Set}return bh(e,t),e.prototype.visitReadVarExpr=function(t){return this.varNames.add(t.name),null},e}(Cf),Pf=function(){function t(t,e){this.expression=t,this.bindingId=e}return t}(),Of=Ge("valUnwrapper"),Af=function(){function t(){}return t.event=Ge("$event"),t}(),Mf=function(){function t(t,e,n){this.stmts=t,this.currValExpr=e,this.forceUpdate=n}return t}(),Rf=function(){function t(t,e){this.stmts=t,this.preventDefault=e}return t}(),kf={};kf.Statement=0,kf.Expression=1,kf[kf.Statement]="Statement",kf[kf.Expression]="Expression";var Nf=function(){function t(t,e,n,r,i,o){this._builder=t,this._nameResolver=e,this._implicitReceiver=n,this._valueUnwrapper=r,this.bindingId=i,this.isAction=o,this._nodeMap=new Map,this._resultMap=new Map,this._currentTemporary=0,this.needsValueUnwrapper=!1,this.temporaryCount=0}return t.prototype.visitBinary=function(t,e){var n;switch(t.operation){case"+":n=Ih.Plus;break;case"-":n=Ih.Minus;break;case"*":n=Ih.Multiply;break;case"/":n=Ih.Divide;break;case"%":n=Ih.Modulo;break;case"&&":n=Ih.And;break;case"||":n=Ih.Or;break;case"==":n=Ih.Equals;break;case"!=":n=Ih.NotEquals;break;case"===":n=Ih.Identical;break;case"!==":n=Ih.NotIdentical;break;case"<":n=Ih.Lower;break;case">":n=Ih.Bigger;break;case"<=":n=Ih.LowerEquals;break;case">=":n=Ih.BiggerEquals;break;default:throw new Error("Unsupported operation "+t.operation)}return vn(e,new Zh(n,this.visit(t.left,kf.Expression),this.visit(t.right,kf.Expression)))},t.prototype.visitChain=function(t,e){return yn(e,t),this.visitAll(t.expressions,e)},t.prototype.visitConditional=function(t,e){var n=this.visit(t.condition,kf.Expression);return vn(e,n.conditional(this.visit(t.trueExp,kf.Expression),this.visit(t.falseExp,kf.Expression)))},t.prototype.visitPipe=function(t,e){var n=this.visit(t.exp,kf.Expression),r=this.visitAll(t.args,kf.Expression),i=this._nameResolver.callPipe(t.name,n,r);if(!i)throw new Error("Illegal state: Pipe "+t.name+" is not allowed here!");return this.needsValueUnwrapper=!0,vn(e,this._valueUnwrapper.callMethod("unwrap",[i]))},t.prototype.visitFunctionCall=function(t,e){return vn(e,this.visit(t.target,kf.Expression).callFn(this.visitAll(t.args,kf.Expression)))},t.prototype.visitImplicitReceiver=function(t,e){return mn(e,t),this._implicitReceiver},t.prototype.visitInterpolation=function(t,e){mn(e,t);for(var n=[tn(t.expressions.length)],r=0;r<t.strings.length-1;r++)n.push(tn(t.strings[r])),n.push(this.visit(t.expressions[r],kf.Expression));return n.push(tn(t.strings[t.strings.length-1])),t.expressions.length<=9?Ke(Yt(_p.inlineInterpolate)).callFn(n):Ke(Yt(_p.interpolate)).callFn([n[0],Ye(n.slice(1))])},t.prototype.visitKeyedRead=function(t,e){var n=this.leftMostSafeNode(t);return n?this.convertSafeAccess(t,n,e):vn(e,this.visit(t.obj,kf.Expression).key(this.visit(t.key,kf.Expression)))},t.prototype.visitKeyedWrite=function(t,e){var n=this.visit(t.obj,kf.Expression),r=this.visit(t.key,kf.Expression),i=this.visit(t.value,kf.Expression);return vn(e,n.key(r).set(i))},t.prototype.visitLiteralArray=function(t,e){var n=this.visitAll(t.expressions,e),r=this.isAction?Ye(n):_n(this._builder,n);return vn(e,r)},t.prototype.visitLiteralMap=function(t,e){for(var n=[],r=0;r<t.keys.length;r++)n.push([t.keys[r],this.visit(t.values[r],kf.Expression)]);var i=this.isAction?$e(n):bn(this._builder,n);return vn(e,i)},t.prototype.visitLiteralPrimitive=function(t,e){return vn(e,tn(t.value))},t.prototype._getLocal=function(t){return this.isAction&&t==Af.event.name?Af.event:this._nameResolver.getLocal(t)},t.prototype.visitMethodCall=function(t,e){var n=this.leftMostSafeNode(t);if(n)return this.convertSafeAccess(t,n,e);var r=this.visitAll(t.args,kf.Expression),o=null,s=this.visit(t.receiver,kf.Expression);if(s===this._implicitReceiver){var a=this._getLocal(t.name);a&&(o=a.callFn(r))}return i(o)&&(o=s.callMethod(t.name,r)),vn(e,o)},t.prototype.visitPrefixNot=function(t,e){return vn(e,Ze(this.visit(t.expression,kf.Expression)))},t.prototype.visitPropertyRead=function(t,e){var n=this.leftMostSafeNode(t);if(n)return this.convertSafeAccess(t,n,e);var r=null,o=this.visit(t.receiver,kf.Expression);return o===this._implicitReceiver&&(r=this._getLocal(t.name)),i(r)&&(r=o.prop(t.name)),vn(e,r)},t.prototype.visitPropertyWrite=function(t,e){var n=this.visit(t.receiver,kf.Expression);if(n===this._implicitReceiver){var r=this._getLocal(t.name);if(r)throw new Error("Cannot assign to a reference or variable!")}return vn(e,n.prop(t.name).set(this.visit(t.value,kf.Expression)))},t.prototype.visitSafePropertyRead=function(t,e){return this.convertSafeAccess(t,this.leftMostSafeNode(t),e)},t.prototype.visitSafeMethodCall=function(t,e){return this.convertSafeAccess(t,this.leftMostSafeNode(t),e)},t.prototype.visitAll=function(t,e){var n=this;return t.map(function(t){return n.visit(t,e)})},t.prototype.visitQuote=function(){throw new Error("Quotes are not supported for evaluation!")},t.prototype.visit=function(t,e){var n=this._resultMap.get(t);return n?n:(this._nodeMap.get(t)||t).visit(this,e)},t.prototype.convertSafeAccess=function(t,e,n){var r,i=this.visit(e.receiver,kf.Expression);this.needsTemporary(e.receiver)&&(r=this.allocateTemporary(),i=r.set(i),this._resultMap.set(e.receiver,r));var o=i.isBlank();e instanceof iu?this._nodeMap.set(e,new ru(e.span,e.receiver,e.name,e.args)):this._nodeMap.set(e,new Wa(e.span,e.receiver,e.name));var s=this.visit(t,kf.Expression);return this._nodeMap["delete"](e),r&&this.releaseTemporary(r),vn(n,o.conditional(tn(null),s))},t.prototype.leftMostSafeNode=function(t){var e=this,n=function(t,n){return(e._nodeMap.get(n)||n).visit(t)};return t.visit({visitBinary:function(){return null},visitChain:function(){return null},visitConditional:function(){return null},visitFunctionCall:function(){return null},visitImplicitReceiver:function(){return null},visitInterpolation:function(){return null},visitKeyedRead:function(t){return n(this,t.obj)},visitKeyedWrite:function(){return null},visitLiteralArray:function(){return null},visitLiteralMap:function(){return null},visitLiteralPrimitive:function(){return null},visitMethodCall:function(t){return n(this,t.receiver)},visitPipe:function(){return null},visitPrefixNot:function(){return null},visitPropertyRead:function(t){return n(this,t.receiver)},visitPropertyWrite:function(){return null},visitQuote:function(){return null},visitSafeMethodCall:function(t){return n(this,t.receiver)||t},visitSafePropertyRead:function(t){return n(this,t.receiver)||t}})},t.prototype.needsTemporary=function(t){var e=this,n=function(t,n){return n&&(e._nodeMap.get(n)||n).visit(t)},r=function(t,e){return e.some(function(e){return n(t,e)})};return t.visit({visitBinary:function(t){return n(this,t.left)||n(this,t.right)},visitChain:function(){return!1},visitConditional:function(t){return n(this,t.condition)||n(this,t.trueExp)||n(this,t.falseExp)},visitFunctionCall:function(){return!0},visitImplicitReceiver:function(){
-return!1},visitInterpolation:function(t){return r(this,t.expressions)},visitKeyedRead:function(){return!1},visitKeyedWrite:function(){return!1},visitLiteralArray:function(){return!0},visitLiteralMap:function(){return!0},visitLiteralPrimitive:function(){return!1},visitMethodCall:function(){return!0},visitPipe:function(){return!0},visitPrefixNot:function(t){return n(this,t.expression)},visitPropertyRead:function(){return!1},visitPropertyWrite:function(){return!1},visitQuote:function(){return!1},visitSafeMethodCall:function(){return!0},visitSafePropertyRead:function(){return!1}})},t.prototype.allocateTemporary=function(){var t=this._currentTemporary++;return this.temporaryCount=Math.max(this._currentTemporary,this.temporaryCount),new Lh(hn(this.bindingId,t))},t.prototype.releaseTemporary=function(t){if(this._currentTemporary--,t.name!=hn(this.bindingId,this._currentTemporary))throw new Error("Temporary "+t.name+" released out of order")},t}(),If=function(){function t(){}return t.prototype.callPipe=function(){return null},t.prototype.getLocal=function(){return null},t}(),Df=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},jf=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},Lf=function(){function t(t,e){this.statements=t,this.dirWrapperClassVar=e}return t}(),Vf="context",Ff="_changes",Uf="_changed",Bf="_eventHandler",Hf=Ge("currValue"),qf=Ge("throwOnChange"),zf=Ge("forceUpdate"),Wf=Ge("view"),Gf=Ge("componentView"),Kf=Ge("el"),Xf=Ge("eventName"),Qf=of.prop(Ff).set($e([])).toStmt(),Yf=function(){function t(t,e,n,r){this.compilerConfig=t,this._exprParser=e,this._schemaRegistry=n,this._console=r}return t.dirWrapperClassName=function(t){return"Wrapper_"+b(t)},t.prototype.compile=function(t){var e=In(t,this._exprParser,this._schemaRegistry);Dn(e.errors,this._console);var n=new $f(this.compilerConfig,t);Object.keys(t.inputs).forEach(function(t){Mn(t,n)}),An(n),Rn(e.hostProps,e.hostListeners,n),kn(e.hostListeners,n),Nn(t,n);var r=n.build();return new Lf([r],r.name)},t=Df([M(),jf("design:paramtypes",[kl,wu,Mp,To])],t)}(),$f=function(){function t(t,e){this.compilerConfig=t,this.dirMeta=e,this.fields=[],this.getters=[],this.methods=[],this.ctorStmts=[],this.detachStmts=[],this.destroyStmts=[];var n=e.type.lifecycleHooks;this.genChanges=-1!==n.indexOf(ao.OnChanges)||this.compilerConfig.logBindingUpdate,this.ngOnChanges=-1!==n.indexOf(ao.OnChanges),this.ngOnInit=-1!==n.indexOf(ao.OnInit),this.ngDoCheck=-1!==n.indexOf(ao.DoCheck),this.ngOnDestroy=-1!==n.indexOf(ao.OnDestroy),this.ngOnDestroy&&this.destroyStmts.push(of.prop(Vf).callMethod("ngOnDestroy",[]).toStmt())}return t.prototype.build=function(){for(var t=[],e=0;e<this.dirMeta.type.diDeps.length;e++)t.push("p"+e);var n=[new vf("ngOnDetach",[new Yh(Wf.name,Xe(Yt(_p.AppView),[Oh])),new Yh(Gf.name,Xe(Yt(_p.AppView),[Oh])),new Yh(Kf.name,Oh)],this.detachStmts),new vf("ngOnDestroy",[],this.destroyStmts)],r=[new mf(Bf,kh,[cf.Private]),new mf(Vf,Xe(this.dirMeta.type)),new mf(Uf,Ah,[cf.Private])],i=[of.prop(Uf).set(tn(!1)).toStmt()];return this.genChanges&&(r.push(new mf(Ff,new Ph(Oh),[cf.Private])),i.push(Qf)),i.push(of.prop(Vf).set(Ke(this.dirMeta.type).instantiate(t.map(function(t){return Ge(t)}))).toStmt()),Pn({name:Yf.dirWrapperClassName(this.dirMeta.type),ctorParams:t.map(function(t){return new Yh(t,Oh)}),builders:[{fields:r,ctorStmts:i,methods:n},this]})},t}(),Zf=function(){function t(t,e,n){this.hostProps=t,this.hostListeners=e,this.errors=n}return t}(),Jf=function(){function t(){}return t.create=function(t,e){return Ke(t).instantiate(e,Xe(t))},t.context=function(t){return t.prop(Vf)},t.ngDoCheck=function(t,e,n,r){return t.callMethod("ngDoCheck",[e,n,r])},t.checkHost=function(t,e,n,r,i,o,s){return t.length?[e.callMethod("checkHost",[n,r,i,o].concat(s)).toStmt()]:[]},t.ngOnDetach=function(t,e,n,r,i){return t.some(function(t){return t.isAnimation})?[e.callMethod("ngOnDetach",[n,r,i]).toStmt()]:[]},t.ngOnDestroy=function(t,e){return-1!==t.type.lifecycleHooks.indexOf(ao.OnDestroy)||Object.keys(t.outputs).length>0?[e.callMethod("ngOnDestroy",[]).toStmt()]:[]},t.subscribe=function(t,e,n,r,i,o){var s=!1,a=[];return Object.keys(t.outputs).forEach(function(e){var r=t.outputs[e],i=n.indexOf(r)>-1;s=s||i,a.push(tn(i))}),e.forEach(function(t){t.isAnimation&&n.length>0&&(s=!0)}),s?[r.callMethod("subscribe",[i,o].concat(a)).toStmt()]:[]},t.handleEvent=function(t,e,n,r){return e.callMethod("handleEvent",[n,r])},t}(),td=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},ed=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},nd=function(){function t(t){void 0===t&&(t=Po),this._reflector=t}return t.prototype.isNgModule=function(t){return this._reflector.annotations(t).some(Vn)},t.prototype.resolve=function(t,e){void 0===e&&(e=!0);var n=io.findLast(this._reflector.annotations(t),Vn);if(n)return n;if(e)throw new Error("No NgModule metadata found for '"+s(t)+"'.");return null},t=td([M(),ed("design:paramtypes",[co])],t)}(),rd=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},id=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},od=function(){function t(t){void 0===t&&(t=Po),this._reflector=t}return t.prototype.isPipe=function(t){var n=this._reflector.annotations(e.resolveForwardRef(t));return n&&n.some(Fn)},t.prototype.resolve=function(t,n){void 0===n&&(n=!0);var r=this._reflector.annotations(e.resolveForwardRef(t));if(r){var i=io.findLast(r,Fn);if(i)return i}if(n)throw new Error("No Pipe decorator found on "+s(t));return null},t=rd([M(),id("design:paramtypes",[co])],t)}(),sd=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},ad=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},ud=function(){function t(){}return t.prototype.resolveSummary=function(){return null},t.prototype.getSymbolsOf=function(){return[]},t=sd([M(),ad("design:paramtypes",[])],t)}(),cd=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},pd=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},ld=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},hd=new e.OpaqueToken("ErrorCollector"),fd=function(){function t(t,e,n,r,i,o,s,a){void 0===s&&(s=Po),this._ngModuleResolver=t,this._directiveResolver=e,this._pipeResolver=n,this._summaryResolver=r,this._schemaRegistry=i,this._directiveNormalizer=o,this._reflector=s,this._errorCollector=a,this._directiveCache=new Map,this._summaryCache=new Map,this._pipeCache=new Map,this._ngModuleCache=new Map,this._ngModuleOfTypes=new Map}return t.prototype.clearCacheFor=function(t){var e=this._directiveCache.get(t);this._directiveCache["delete"](t),this._summaryCache["delete"](t),this._pipeCache["delete"](t),this._ngModuleOfTypes["delete"](t),this._ngModuleCache.clear(),e&&this._directiveNormalizer.clearCacheFor(e)},t.prototype.clearCache=function(){this._directiveCache.clear(),this._summaryCache.clear(),this._pipeCache.clear(),this._ngModuleCache.clear(),this._ngModuleOfTypes.clear(),this._directiveNormalizer.clearCache()},t.prototype.getAnimationEntryMetadata=function(t){var e=this,n=t.definitions.map(function(t){return e._getAnimationStateMetadata(t)});return new hs(t.name,n)},t.prototype._getAnimationStateMetadata=function(t){if(t instanceof e.AnimationStateDeclarationMetadata){var n=this._getAnimationStyleMetadata(t.styles);return new ds(t.stateNameExpr,n)}return t instanceof e.AnimationStateTransitionMetadata?new ys(t.stateChangeExpr,this._getAnimationMetadata(t.steps)):null},t.prototype._getAnimationStyleMetadata=function(t){return new gs(t.offset,t.styles)},t.prototype._getAnimationMetadata=function(t){var n=this;if(t instanceof e.AnimationStyleMetadata)return this._getAnimationStyleMetadata(t);if(t instanceof e.AnimationKeyframesSequenceMetadata)return new vs(t.steps.map(function(t){return n._getAnimationStyleMetadata(t)}));if(t instanceof e.AnimationAnimateMetadata){var r=this._getAnimationMetadata(t.styles);return new _s(t.timings,r)}if(t instanceof e.AnimationWithStepsMetadata){var i=t.steps.map(function(t){return n._getAnimationMetadata(t)});return t instanceof e.AnimationGroupMetadata?new Es(i):new ws(i)}return null},t.prototype._loadSummary=function(t,e){var n=this._summaryCache.get(t);if(!n){var r=this._summaryResolver.resolveSummary(t);n=r?r.type:null,this._summaryCache.set(t,n)}return n&&n.summaryKind===e?n:null},t.prototype._loadDirectiveMetadata=function(t,n){var r=this;if(!this._directiveCache.has(t)){t=e.resolveForwardRef(t);var i=this.getNonNormalizedDirectiveMetadata(t),o=i.annotation,s=i.metadata,a=function(e){var n=new Ps({type:s.type,isComponent:s.isComponent,selector:s.selector,exportAs:s.exportAs,changeDetection:s.changeDetection,inputs:s.inputs,outputs:s.outputs,hostListeners:s.hostListeners,hostProperties:s.hostProperties,hostAttributes:s.hostAttributes,providers:s.providers,viewProviders:s.viewProviders,queries:s.queries,viewQueries:s.viewQueries,entryComponents:s.entryComponents,template:e});return r._directiveCache.set(t,n),r._summaryCache.set(t,n.toSummary()),n};if(s.isComponent){var u=this._directiveNormalizer.normalizeTemplate({componentType:t,moduleUrl:zn(this._reflector,t,o),encapsulation:s.template.encapsulation,template:s.template.template,templateUrl:s.template.templateUrl,styles:s.template.styles,styleUrls:s.template.styleUrls,animations:s.template.animations,interpolation:s.template.interpolation});return u.syncResult?(a(u.syncResult),null):n?(this._reportError(new zo(t),t),null):u.asyncResult.then(a)}return a(null),null}},t.prototype.getNonNormalizedDirectiveMetadata=function(t){var n=this;t=e.resolveForwardRef(t);var i=this._directiveResolver.resolve(t);if(!i)return null;var o;if(i instanceof e.Component){R("styles",i.styles),R("styleUrls",i.styleUrls),k("interpolation",i.interpolation);var s=i.animations?i.animations.map(function(t){return n.getAnimationEntryMetadata(t)}):null;o=new Ts({encapsulation:i.encapsulation,template:i.template,templateUrl:i.templateUrl,styles:i.styles,styleUrls:i.styleUrls,animations:s,interpolation:i.interpolation})}var a=null,u=[],c=[],p=i.selector;i instanceof e.Component?(a=i.changeDetection,i.viewProviders&&(u=this._getProvidersMetadata(i.viewProviders,c,'viewProviders for "'+Gn(t)+'"',[],t)),i.entryComponents&&(c=Hn(i.entryComponents).map(function(t){return n._getIdentifierMetadata(t)}).concat(c)),p||(p=this._schemaRegistry.getDefaultComponentElementName())):p||(this._reportError(new cs("Directive "+Gn(t)+" has no selector, please add it!"),t),p="error");var l=[];r(i.providers)&&(l=this._getProvidersMetadata(i.providers,c,'providers for "'+Gn(t)+'"',[],t));var h=[],f=[];r(i.queries)&&(h=this._getQueriesMetadata(i.queries,!1,t),f=this._getQueriesMetadata(i.queries,!0,t));var d=Ps.create({selector:p,exportAs:i.exportAs,isComponent:!!o,type:this._getTypeMetadata(t),template:o,changeDetection:a,inputs:i.inputs,outputs:i.outputs,host:i.host,providers:l,viewProviders:u,queries:h,viewQueries:f,entryComponents:c});return{metadata:d,annotation:i}},t.prototype.getDirectiveMetadata=function(t){var e=this._directiveCache.get(t);return e||this._reportError(new cs("Illegal state: getDirectiveMetadata can only be called after loadNgModuleDirectiveAndPipeMetadata for a module that declares it. Directive "+Gn(t)+"."),t),e},t.prototype.getDirectiveSummary=function(t){var e=this._loadSummary(t,Cs.Directive);return e||this._reportError(new cs("Illegal state: Could not load the summary for directive "+Gn(t)+"."),t),e},t.prototype.isDirective=function(t){return this._directiveResolver.isDirective(t)},t.prototype.isPipe=function(t){return this._pipeResolver.isPipe(t)},t.prototype.getNgModuleSummary=function(t){var e=this._loadSummary(t,Cs.NgModule);if(!e){var n=this.getNgModuleMetadata(t,!1);e=n?n.toSummary():null,e&&this._summaryCache.set(t,e)}return e},t.prototype.loadNgModuleDirectiveAndPipeMetadata=function(t,e,n){var r=this;void 0===n&&(n=!0);var i=this.getNgModuleMetadata(t,n),o=[];return i&&(i.declaredDirectives.forEach(function(t){var n=r._loadDirectiveMetadata(t.reference,e);n&&o.push(n)}),i.declaredPipes.forEach(function(t){return r._loadPipeMetadata(t.reference)})),Promise.all(o)},t.prototype.getNgModuleMetadata=function(t,n){var r=this;void 0===n&&(n=!0),t=e.resolveForwardRef(t);var i=this._ngModuleCache.get(t);if(i)return i;var o=this._ngModuleResolver.resolve(t,n);if(!o)return null;var s=[],a=[],u=[],c=[],p=[],l=[],h=[],f=[],d=[];o.imports&&Hn(o.imports).forEach(function(e){var n;if(qn(e))n=e;else if(e&&e.ngModule){var i=e;n=i.ngModule,i.providers&&l.push.apply(l,r._getProvidersMetadata(i.providers,h,"provider for the NgModule '"+Gn(n)+"'",[],e))}if(!n)return void r._reportError(new cs("Unexpected value '"+Gn(e)+"' imported by the module '"+Gn(t)+"'"),t);var o=r.getNgModuleSummary(n);return o?void c.push(o):void r._reportError(new cs("Unexpected "+r._getTypeDescriptor(e)+" '"+Gn(e)+"' imported by the module '"+Gn(t)+"'"),t)}),o.exports&&Hn(o.exports).forEach(function(e){if(!qn(e))return void r._reportError(new cs("Unexpected value '"+Gn(e)+"' exported by the module '"+Gn(t)+"'"),t);var n=r.getNgModuleSummary(e);n?p.push(n):a.push(r._getIdentifierMetadata(e))});var y=this._getTransitiveNgModuleMetadata(c,p);o.declarations&&Hn(o.declarations).forEach(function(e){if(!qn(e))return void r._reportError(new cs("Unexpected value '"+Gn(e)+"' declared by the module '"+Gn(t)+"'"),t);var n=r._getIdentifierMetadata(e);if(r._directiveResolver.isDirective(e))y.addDirective(n),s.push(n),r._addTypeToModule(e,t);else{if(!r._pipeResolver.isPipe(e))return void r._reportError(new cs("Unexpected "+r._getTypeDescriptor(e)+" '"+Gn(e)+"' declared by the module '"+Gn(t)+"'"),t);y.addPipe(n),y.pipes.push(n),u.push(n),r._addTypeToModule(e,t)}});var m=[],v=[];return a.forEach(function(e){y.directivesSet.has(e.reference)?(m.push(e),y.addExportedDirective(e)):y.pipesSet.has(e.reference)?(v.push(e),y.addExportedPipe(e)):r._reportError(new cs("Can't export "+r._getTypeDescriptor(e.reference)+" "+Gn(e.reference)+" from "+Gn(t)+" as it was neither declared nor imported!"),t)}),o.providers&&l.push.apply(l,this._getProvidersMetadata(o.providers,h,"provider for the NgModule '"+Gn(t)+"'",[],t)),o.entryComponents&&h.push.apply(h,Hn(o.entryComponents).map(function(t){return r._getIdentifierMetadata(t)})),o.bootstrap&&Hn(o.bootstrap).forEach(function(e){return qn(e)?void f.push(r._getIdentifierMetadata(e)):void r._reportError(new cs("Unexpected value '"+Gn(e)+"' used in the bootstrap property of module '"+Gn(t)+"'"),t)}),h.push.apply(h,f),o.schemas&&d.push.apply(d,Hn(o.schemas)),i=new As({type:this._getTypeMetadata(t),providers:l,entryComponents:h,bootstrapComponents:f,schemas:d,declaredDirectives:s,exportedDirectives:m,declaredPipes:u,exportedPipes:v,importedModules:c,exportedModules:p,transitiveModule:y,id:o.id}),h.forEach(function(t){return y.addEntryComponent(t)}),l.forEach(function(t){return y.addProvider(t,i.type)}),y.addModule(i.type),this._ngModuleCache.set(t,i),i},t.prototype._getTypeDescriptor=function(t){return this._directiveResolver.isDirective(t)?"directive":this._pipeResolver.isPipe(t)?"pipe":this._ngModuleResolver.isNgModule(t)?"module":t.provide?"provider":"value"},t.prototype._addTypeToModule=function(t,e){var n=this._ngModuleOfTypes.get(t);n&&n!==e&&this._reportError(new cs("Type "+Gn(t)+" is part of the declarations of 2 modules: "+Gn(n)+" and "+Gn(e)+"! "+("Please consider moving "+Gn(t)+" to a higher module that imports "+Gn(n)+" and "+Gn(e)+". ")+("You can also create a new NgModule that exports and includes "+Gn(t)+" then import that NgModule in "+Gn(n)+" and "+Gn(e)+".")),e),this._ngModuleOfTypes.set(t,e)},t.prototype._getTransitiveNgModuleMetadata=function(t,e){var n=new Ms,r=new Map;return t.concat(e).forEach(function(t){t.modules.forEach(function(t){return n.addModule(t)}),t.entryComponents.forEach(function(t){return n.addEntryComponent(t)});var e=new Set;t.providers.forEach(function(t){var i=S(t.provider.token),o=r.get(i);o||(o=new Set,r.set(i,o));var s=t.module.reference;(e.has(i)||!o.has(s))&&(o.add(s),e.add(i),n.addProvider(t.provider,t.module))})}),e.forEach(function(t){t.exportedDirectives.forEach(function(t){return n.addExportedDirective(t)}),t.exportedPipes.forEach(function(t){return n.addExportedPipe(t)})}),t.forEach(function(t){t.exportedDirectives.forEach(function(t){return n.addDirective(t)}),t.exportedPipes.forEach(function(t){return n.addPipe(t)})}),n},t.prototype._getIdentifierMetadata=function(t){return t=e.resolveForwardRef(t),{reference:t}},t.prototype.isInjectable=function(t){var n=this._reflector.annotations(t);return n.some(function(t){return t.constructor===e.Injectable})},t.prototype.getInjectableSummary=function(t){return{summaryKind:Cs.Injectable,type:this._getTypeMetadata(t)}},t.prototype._getInjectableMetadata=function(t,e){void 0===e&&(e=null);var n=this._loadSummary(t,Cs.Injectable);return n?n.type:this._getTypeMetadata(t,e)},t.prototype._getTypeMetadata=function(t,e){void 0===e&&(e=null);var n=this._getIdentifierMetadata(t);return{reference:n.reference,diDeps:this._getDependenciesMetadata(n.reference,e),lifecycleHooks:uo.filter(function(t){return jn(t,n.reference)})}},t.prototype._getFactoryMetadata=function(t,n){return void 0===n&&(n=null),t=e.resolveForwardRef(t),{reference:t,diDeps:this._getDependenciesMetadata(t,n)}},t.prototype.getPipeMetadata=function(t){var e=this._pipeCache.get(t);return e||this._reportError(new cs("Illegal state: getPipeMetadata can only be called after loadNgModuleDirectiveAndPipeMetadata for a module that declares it. Pipe "+Gn(t)+"."),t),e},t.prototype.getPipeSummary=function(t){var e=this._loadSummary(t,Cs.Pipe);return e||this._reportError(new cs("Illegal state: Could not load the summary for pipe "+Gn(t)+"."),t),e},t.prototype.getOrLoadPipeMetadata=function(t){var e=this._pipeCache.get(t);return e||(e=this._loadPipeMetadata(t)),e},t.prototype._loadPipeMetadata=function(t){t=e.resolveForwardRef(t);var n=this._pipeResolver.resolve(t),r=new Os({type:this._getTypeMetadata(t),name:n.name,pure:n.pure});return this._pipeCache.set(t,r),this._summaryCache.set(t,r.toSummary()),r},t.prototype._getDependenciesMetadata=function(t,n){var r=this,o=!1,s=n||this._reflector.parameters(t)||[],a=s.map(function(t){var n=!1,s=!1,a=!1,u=!1,c=!1,p=null;return Array.isArray(t)?t.forEach(function(t){t instanceof e.Host?s=!0:t instanceof e.Self?a=!0:t instanceof e.SkipSelf?u=!0:t instanceof e.Optional?c=!0:t instanceof e.Attribute?(n=!0,p=t.attributeName):t instanceof e.Inject?p=t.token:qn(t)&&i(p)&&(p=t)}):p=t,i(p)?(o=!0,null):{isAttribute:n,isHost:s,isSelf:a,isSkipSelf:u,isOptional:c,token:r._getTokenMetadata(p)}});if(o){var u=a.map(function(t){return t?Gn(t.token):"?"}).join(", ");this._reportError(new cs("Can't resolve all parameters for "+Gn(t)+": ("+u+")."),t)}return a},t.prototype._getTokenMetadata=function(t){t=e.resolveForwardRef(t);var n;return n="string"==typeof t?{value:t}:{identifier:{reference:t}}},t.prototype._getProvidersMetadata=function(t,n,r,i,o){var s=this;return void 0===i&&(i=[]),t.forEach(function(a,u){if(Array.isArray(a))s._getProvidersMetadata(a,n,r,i);else{a=e.resolveForwardRef(a);var c=void 0;if(a&&"object"==typeof a&&a.hasOwnProperty("provide"))c=new Rs(a.provide,a);else if(qn(a))c=new Rs(a,{useClass:a});else{var p=t.reduce(function(t,e,n){return u>n?t.push(""+Gn(e)):n==u?t.push("?"+Gn(e)+"?"):n==u+1&&t.push("..."),t},[]).join(", ");s._reportError(new cs("Invalid "+(r?r:"provider")+" - only instances of Provider and Type are allowed, got: ["+p+"]"),o)}c.token===Qt(_p.ANALYZE_FOR_ENTRY_COMPONENTS)?n.push.apply(n,s._getEntryComponentsFromProvider(c,o)):i.push(s.getProviderMetadata(c))}}),i},t.prototype._getEntryComponentsFromProvider=function(t,e){var n=this,r=[],i=[];return t.useFactory||t.useExisting||t.useClass?(this._reportError(new cs("The ANALYZE_FOR_ENTRY_COMPONENTS token only supports useValue!"),e),[]):t.multi?(Wn(t.useValue,i),i.forEach(function(t){(n._directiveResolver.isDirective(t.reference)||n._loadSummary(t.reference,Cs.Directive))&&r.push(t)}),r):(this._reportError(new cs("The ANALYZE_FOR_ENTRY_COMPONENTS token only supports 'multi = true'!"),e),[])},t.prototype.getProviderMetadata=function(t){var e,n=null,r=null,i=this._getTokenMetadata(t.token);return t.useClass?(n=this._getInjectableMetadata(t.useClass,t.dependencies),e=n.diDeps,t.token===t.useClass&&(i={identifier:n})):t.useFactory&&(r=this._getFactoryMetadata(t.useFactory,t.dependencies),e=r.diDeps),{token:i,useClass:n,useValue:t.useValue,useFactory:r,useExisting:t.useExisting?this._getTokenMetadata(t.useExisting):null,deps:e,multi:t.multi}},t.prototype._getQueriesMetadata=function(t,e,n){var r=this,i=[];return Object.keys(t).forEach(function(o){var s=t[o];s.isViewQuery===e&&i.push(r._getQueryMetadata(s,o,n))}),i},t.prototype._queryVarBindings=function(t){return t.split(/\s*,\s*/)},t.prototype._getQueryMetadata=function(t,e,n){var r,i=this;return"string"==typeof t.selector?r=this._queryVarBindings(t.selector).map(function(t){return i._getTokenMetadata(t)}):(t.selector||this._reportError(new cs("Can't construct a query for the property \""+e+'" of "'+Gn(n)+"\" since the query selector wasn't defined."),n),r=[this._getTokenMetadata(t.selector)]),{selectors:r,first:t.first,descendants:t.descendants,propertyName:e,read:t.read?this._getTokenMetadata(t.read):null}},t.prototype._reportError=function(t,e,n){if(!this._errorCollector)throw t;this._errorCollector(t,e),n&&this._errorCollector(t,n)},t.ctorParameters=function(){return[{type:nd},{type:_h},{type:od},{type:ud},{type:Mp},{type:yh},{type:co},{type:void 0,decorators:[{type:e.Optional},{type:e.Inject,args:[hd]}]}]},t=pd([M(),ld("design:paramtypes",[nd,_h,od,ud,Mp,yh,co,Function])],t)}(),dd=function(t){function e(){t.apply(this,arguments)}return cd(e,t),e.prototype.visitOther=function(t,e){e.push({reference:t})},e}(as),yd="$quoted$",md=function(){function t(){}return t.prototype.visitArray=function(t,e){var n=this;return Ye(t.map(function(t){return g(t,n,null)}),e)},t.prototype.visitStringMap=function(t,e){var n=this,r=[],i=new Set(t&&t[yd]);return Object.keys(t).forEach(function(e){r.push(new nf(e,g(t[e],n,null),i.has(e)))}),new rf(r,e)},t.prototype.visitPrimitive=function(t,e){return tn(t,e)},t.prototype.visitOther=function(t){return t instanceof Dh?t:Ke({reference:t})},t}(),vd=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},gd=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},_d=function(){function t(t,e){this.comp=t,this.placeholder=e}return t}(),bd=function(){function t(t,e,n){this.statements=t,this.ngModuleFactoryVar=e,this.dependencies=n}return t}(),wd=function(){function t(){}return t.prototype.compile=function(t,e){var n=w(t.type),i=r(n)?"in NgModule "+b(t.type)+" in "+n:"in NgModule "+b(t.type),o=new xu("",i),s=new Tu(new Cu(o,null,null,null),new Cu(o,null,null,null)),a=[],u=[],c=t.transitiveModule.entryComponents.map(function(e){var n={reference:null};return t.bootstrapComponents.some(function(t){return t.reference===e.reference})&&u.push(n),a.push(new _d(e,n)),n}),p=new Ed(t,c,u,s),l=new Ap(t,e,s);l.parse().forEach(function(t){return p.addProvider(t)});var h=p.build(),f=b(t.type)+"NgFactory",d=Ge(f).set(Ke(Yt(_p.NgModuleFactory)).instantiate([Ge(h.name),Ke(t.type)],Xe(Yt(_p.NgModuleFactory),[Xe(t.type)],[wh.Const]))).toDeclStmt(null,[cf.Final]),y=[h,d];if(t.id){var m=Ke(Yt(_p.RegisterModuleFactoryFn)).callFn([tn(t.id),Ge(f)]).toStmt();y.push(m)}return new bd(y,f,a)},t=vd([M(),gd("design:paramtypes",[])],t)}(),Ed=function(){function t(t,e,n,r){this._ngModuleMeta=t,this._entryComponentFactories=e,this._bootstrapComponentFactories=n,this._sourceSpan=r,this.fields=[],this.getters=[],this.methods=[],this.ctorStmts=[],this._tokens=[],this._instances=new Map,this._createStmts=[],this._destroyStmts=[]}return t.prototype.addProvider=function(t){var e=this,n=t.providers.map(function(t){return e._getProviderValue(t)}),r="_"+E(t.token)+"_"+this._instances.size,i=this._createProviderProperty(r,t,n,t.multiProvider,t.eager);-1!==t.lifecycleHooks.indexOf(ao.OnDestroy)&&this._destroyStmts.push(i.callMethod("ngOnDestroy",[]).toStmt()),this._tokens.push(t.token),this._instances.set(S(t.token),i)},t.prototype.build=function(){var t=this,e=this._tokens.map(function(e){var n=t._instances.get(S(e));return new bf(Cd.token.identical(on(e)),[new df(n)])}),n=[new vf("createInternal",[],this._createStmts.concat(new df(this._instances.get(this._ngModuleMeta.type.reference))),Xe(this._ngModuleMeta.type)),new vf("getInternal",[new Yh(Cd.token.name,Oh),new Yh(Cd.notFoundResult.name,Oh)],e.concat([new df(Cd.notFoundResult)]),Oh),new vf("destroyInternal",[],this._destroyStmts)],r=[Ge(Sd.parent.name),Ye(this._entryComponentFactories.map(function(t){return Ke(t)})),Ye(this._bootstrapComponentFactories.map(function(t){return Ke(t)}))],i=b(this._ngModuleMeta.type)+"Injector";return Pn({name:i,ctorParams:[new Yh(Sd.parent.name,Xe(Yt(_p.Injector)))],parent:Ke(Yt(_p.NgModuleInjector),[Xe(this._ngModuleMeta.type)]),parentArgs:r,builders:[{methods:n},this]})},t.prototype._getProviderValue=function(t){var e,n=this;if(r(t.useExisting))e=this._getDependency({token:t.useExisting});else if(r(t.useFactory)){var i=t.deps||t.useFactory.diDeps,o=i.map(function(t){return n._getDependency(t)});e=Ke(t.useFactory).callFn(o)}else if(r(t.useClass)){var i=t.deps||t.useClass.diDeps,o=i.map(function(t){return n._getDependency(t)});e=Ke(t.useClass).instantiate(o,Xe(t.useClass))}else e=Kn(t.useValue);return e},t.prototype._createProviderProperty=function(t,e,n,r,i){var o,s;if(r?(o=Ye(n),s=new Th(Oh)):(o=n[0],s=n[0].type),s||(s=Oh),i)this.fields.push(new mf(t,s)),this._createStmts.push(of.prop(t).set(o).toStmt());else{var a="_"+t;this.fields.push(new mf(a,s));var u=[new bf(of.prop(a).isBlank(),[of.prop(a).set(o).toStmt()]),new df(of.prop(a))];this.getters.push(new gf(t,u,s))}return of.prop(t)},t.prototype._getDependency=function(t){var e=null;if(t.isValue&&(e=tn(t.value)),t.isSkipSelf||(!t.token||S(t.token)!==Qt(_p.Injector)&&S(t.token)!==Qt(_p.ComponentFactoryResolver)||(e=of),e||(e=this._instances.get(S(t.token)))),!e){var n=[on(t.token)];t.isOptional&&n.push(af),e=Sd.parent.callMethod("get",n)}return e},t}(),Sd=function(){function t(){}return t.parent=of.prop("parent"),t}(),Cd=function(){function t(){}return t.token=Ge("token"),t.notFoundResult=Ge("notFoundResult"),t}(),xd=/'|\\|\n|\r|\$/g,Td=/^[$A-Z_][0-9A-Z_$]*$/i,Pd=Ge("error"),Od=Ge("stack"),Ad=function(){function t(t){this.indent=t,this.parts=[]}return t}(),Md=function(){function t(t,e){this._exportedVars=t,this._indent=e,this._classes=[],this._lines=[new Ad(e)]}return t.createRoot=function(e){return new t(e,0)},Object.defineProperty(t.prototype,"_currentLine",{get:function(){return this._lines[this._lines.length-1]},enumerable:!0,configurable:!0}),t.prototype.isExportedVar=function(t){return-1!==this._exportedVars.indexOf(t)},t.prototype.println=function(t){void 0===t&&(t=""),this.print(t,!0)},t.prototype.lineIsEmpty=function(){return 0===this._currentLine.parts.length},t.prototype.print=function(t,e){void 0===e&&(e=!1),t.length>0&&this._currentLine.parts.push(t),e&&this._lines.push(new Ad(this._indent))},t.prototype.removeEmptyLastLine=function(){this.lineIsEmpty()&&this._lines.pop()},t.prototype.incIndent=function(){this._indent++,this._currentLine.indent=this._indent},t.prototype.decIndent=function(){this._indent--,this._currentLine.indent=this._indent},t.prototype.pushClass=function(t){this._classes.push(t)},t.prototype.popClass=function(){return this._classes.pop()},Object.defineProperty(t.prototype,"currentClass",{get:function(){return this._classes.length>0?this._classes[this._classes.length-1]:null},enumerable:!0,configurable:!0}),t.prototype.toSource=function(){var t=this._lines;return 0===t[t.length-1].parts.length&&(t=t.slice(0,t.length-1)),t.map(function(t){return t.parts.length>0?Qn(t.indent)+t.parts.join(""):""}).join("\n")},t}(),Rd=function(){function t(t){this._escapeDollarInStrings=t}return t.prototype.visitExpressionStmt=function(t,e){return t.expr.visitExpression(this,e),e.println(";"),null},t.prototype.visitReturnStmt=function(t,e){return e.print("return "),t.value.visitExpression(this,e),e.println(";"),null},t.prototype.visitCastExpr=function(){},t.prototype.visitDeclareClassStmt=function(){},t.prototype.visitIfStmt=function(t,e){e.print("if ("),t.condition.visitExpression(this,e),e.print(") {");var n=r(t.falseCase)&&t.falseCase.length>0;return t.trueCase.length<=1&&!n?(e.print(" "),this.visitAllStatements(t.trueCase,e),e.removeEmptyLastLine(),e.print(" ")):(e.println(),e.incIndent(),this.visitAllStatements(t.trueCase,e),e.decIndent(),n&&(e.println("} else {"),e.incIndent(),this.visitAllStatements(t.falseCase,e),e.decIndent())),e.println("}"),null},t.prototype.visitTryCatchStmt=function(){},t.prototype.visitThrowStmt=function(t,e){return e.print("throw "),t.error.visitExpression(this,e),e.println(";"),null},t.prototype.visitCommentStmt=function(t,e){var n=t.comment.split("\n");return n.forEach(function(t){e.println("// "+t)}),null},t.prototype.visitDeclareVarStmt=function(){},t.prototype.visitWriteVarExpr=function(t,e){var n=e.lineIsEmpty();return n||e.print("("),e.print(t.name+" = "),t.value.visitExpression(this,e),n||e.print(")"),null},t.prototype.visitWriteKeyExpr=function(t,e){var n=e.lineIsEmpty();return n||e.print("("),t.receiver.visitExpression(this,e),e.print("["),t.index.visitExpression(this,e),e.print("] = "),t.value.visitExpression(this,e),n||e.print(")"),null},t.prototype.visitWritePropExpr=function(t,e){var n=e.lineIsEmpty();return n||e.print("("),t.receiver.visitExpression(this,e),e.print("."+t.name+" = "),t.value.visitExpression(this,e),n||e.print(")"),null},t.prototype.visitInvokeMethodExpr=function(t,e){t.receiver.visitExpression(this,e);
-
-var n=t.name;return r(t.builtin)&&(n=this.getBuiltinMethodName(t.builtin),i(n))?null:(e.print("."+n+"("),this.visitAllExpressions(t.args,e,","),e.print(")"),null)},t.prototype.getBuiltinMethodName=function(){},t.prototype.visitInvokeFunctionExpr=function(t,e){return t.fn.visitExpression(this,e),e.print("("),this.visitAllExpressions(t.args,e,","),e.print(")"),null},t.prototype.visitReadVarExpr=function(t,e){var n=t.name;if(r(t.builtin))switch(t.builtin){case jh.Super:n="super";break;case jh.This:n="this";break;case jh.CatchError:n=Pd.name;break;case jh.CatchStack:n=Od.name;break;default:throw new Error("Unknown builtin variable "+t.builtin)}return e.print(n),null},t.prototype.visitInstantiateExpr=function(t,e){return e.print("new "),t.classExpr.visitExpression(this,e),e.print("("),this.visitAllExpressions(t.args,e,","),e.print(")"),null},t.prototype.visitLiteralExpr=function(t,e){var n=t.value;return e.print("string"==typeof n?Xn(n,this._escapeDollarInStrings):""+n),null},t.prototype.visitExternalExpr=function(){},t.prototype.visitConditionalExpr=function(t,e){return e.print("("),t.condition.visitExpression(this,e),e.print("? "),t.trueCase.visitExpression(this,e),e.print(": "),t.falseCase.visitExpression(this,e),e.print(")"),null},t.prototype.visitNotExpr=function(t,e){return e.print("!"),t.condition.visitExpression(this,e),null},t.prototype.visitFunctionExpr=function(){},t.prototype.visitDeclareFunctionStmt=function(){},t.prototype.visitBinaryOperatorExpr=function(t,e){var n;switch(t.operator){case Ih.Equals:n="==";break;case Ih.Identical:n="===";break;case Ih.NotEquals:n="!=";break;case Ih.NotIdentical:n="!==";break;case Ih.And:n="&&";break;case Ih.Or:n="||";break;case Ih.Plus:n="+";break;case Ih.Minus:n="-";break;case Ih.Divide:n="/";break;case Ih.Multiply:n="*";break;case Ih.Modulo:n="%";break;case Ih.Lower:n="<";break;case Ih.LowerEquals:n="<=";break;case Ih.Bigger:n=">";break;case Ih.BiggerEquals:n=">=";break;default:throw new Error("Unknown operator "+t.operator)}return e.print("("),t.lhs.visitExpression(this,e),e.print(" "+n+" "),t.rhs.visitExpression(this,e),e.print(")"),null},t.prototype.visitReadPropExpr=function(t,e){return t.receiver.visitExpression(this,e),e.print("."),e.print(t.name),null},t.prototype.visitReadKeyExpr=function(t,e){return t.receiver.visitExpression(this,e),e.print("["),t.index.visitExpression(this,e),e.print("]"),null},t.prototype.visitLiteralArrayExpr=function(t,e){var n=t.entries.length>1;return e.print("[",n),e.incIndent(),this.visitAllExpressions(t.entries,e,",",n),e.decIndent(),e.print("]",n),null},t.prototype.visitLiteralMapExpr=function(t,e){var n=this,r=t.entries.length>1;return e.print("{",r),e.incIndent(),this.visitAllObjects(function(t){e.print(Xn(t.key,n._escapeDollarInStrings,t.quoted)+": "),t.value.visitExpression(n,e)},t.entries,e,",",r),e.decIndent(),e.print("}",r),null},t.prototype.visitAllExpressions=function(t,e,n,r){var i=this;void 0===r&&(r=!1),this.visitAllObjects(function(t){return t.visitExpression(i,e)},t,e,n,r)},t.prototype.visitAllObjects=function(t,e,n,r,i){void 0===i&&(i=!1);for(var o=0;o<e.length;o++)o>0&&n.print(r,i),t(e[o]);i&&n.println()},t.prototype.visitAllStatements=function(t,e){var n=this;t.forEach(function(t){return t.visitStatement(n,e)})},t}(),kd=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Nd="/debug/lib",Id=function(){function t(t){this._importGenerator=t}return t.prototype.emitStatements=function(t,e,n){var r=this,i=new Dd(t),o=Md.createRoot(n);i.visitAllStatements(e,o);var s=[];return i.importsWithPrefixes.forEach(function(e,n){s.push("imp"+("ort * as "+e+" from '"+r._importGenerator.fileNameToModuleName(n,t)+"';"))}),s.push(o.toSource()),s.join("\n")},t}(),Dd=function(t){function e(e){t.call(this,!1),this._moduleUrl=e,this.importsWithPrefixes=new Map}return kd(e,t),e.prototype.visitType=function(t,e,n){void 0===n&&(n="any"),r(t)?t.visitType(this,e):e.print(n)},e.prototype.visitLiteralExpr=function(e,n){var r=e.value;return i(r)&&e.type!=Nh?(n.print("("+r+" as any)"),null):t.prototype.visitLiteralExpr.call(this,e,n)},e.prototype.visitLiteralArrayExpr=function(e,n){0===e.entries.length&&n.print("(");var r=t.prototype.visitLiteralArrayExpr.call(this,e,n);return 0===e.entries.length&&n.print(" as any[])"),r},e.prototype.visitExternalExpr=function(t,e){return this._visitIdentifier(t.value,t.typeParams,e),null},e.prototype.visitDeclareVarStmt=function(t,e){return e.isExportedVar(t.name)&&e.print("export "),e.print(t.hasModifier(cf.Final)?"const":"var"),e.print(" "+t.name+":"),this.visitType(t.type,e),e.print(" = "),t.value.visitExpression(this,e),e.println(";"),null},e.prototype.visitCastExpr=function(t,e){return e.print("(<"),t.type.visitType(this,e),e.print(">"),t.value.visitExpression(this,e),e.print(")"),null},e.prototype.visitDeclareClassStmt=function(t,e){var n=this;return e.pushClass(t),e.isExportedVar(t.name)&&e.print("export "),e.print("class "+t.name),r(t.parent)&&(e.print(" extends "),t.parent.visitExpression(this,e)),e.println(" {"),e.incIndent(),t.fields.forEach(function(t){return n._visitClassField(t,e)}),r(t.constructorMethod)&&this._visitClassConstructor(t,e),t.getters.forEach(function(t){return n._visitClassGetter(t,e)}),t.methods.forEach(function(t){return n._visitClassMethod(t,e)}),e.decIndent(),e.println("}"),e.popClass(),null},e.prototype._visitClassField=function(t,e){t.hasModifier(cf.Private)&&e.print("/*private*/ "),e.print(t.name),e.print(":"),this.visitType(t.type,e),e.println(";")},e.prototype._visitClassGetter=function(t,e){t.hasModifier(cf.Private)&&e.print("private "),e.print("get "+t.name+"()"),e.print(":"),this.visitType(t.type,e),e.println(" {"),e.incIndent(),this.visitAllStatements(t.body,e),e.decIndent(),e.println("}")},e.prototype._visitClassConstructor=function(t,e){e.print("constructor("),this._visitParams(t.constructorMethod.params,e),e.println(") {"),e.incIndent(),this.visitAllStatements(t.constructorMethod.body,e),e.decIndent(),e.println("}")},e.prototype._visitClassMethod=function(t,e){t.hasModifier(cf.Private)&&e.print("private "),e.print(t.name+"("),this._visitParams(t.params,e),e.print("):"),this.visitType(t.type,e,"void"),e.println(" {"),e.incIndent(),this.visitAllStatements(t.body,e),e.decIndent(),e.println("}")},e.prototype.visitFunctionExpr=function(t,e){return e.print("("),this._visitParams(t.params,e),e.print("):"),this.visitType(t.type,e,"void"),e.println(" => {"),e.incIndent(),this.visitAllStatements(t.statements,e),e.decIndent(),e.print("}"),null},e.prototype.visitDeclareFunctionStmt=function(t,e){return e.isExportedVar(t.name)&&e.print("export "),e.print("function "+t.name+"("),this._visitParams(t.params,e),e.print("):"),this.visitType(t.type,e,"void"),e.println(" {"),e.incIndent(),this.visitAllStatements(t.statements,e),e.decIndent(),e.println("}"),null},e.prototype.visitTryCatchStmt=function(t,e){e.println("try {"),e.incIndent(),this.visitAllStatements(t.bodyStmts,e),e.decIndent(),e.println("} catch ("+Pd.name+") {"),e.incIndent();var n=[Od.set(Pd.prop("stack")).toDeclStmt(null,[cf.Final])].concat(t.catchStmts);return this.visitAllStatements(n,e),e.decIndent(),e.println("}"),null},e.prototype.visitBuiltintType=function(t,e){var n;switch(t.name){case Sh.Bool:n="boolean";break;case Sh.Dynamic:n="any";break;case Sh.Function:n="Function";break;case Sh.Number:n="number";break;case Sh.Int:n="number";break;case Sh.String:n="string";break;default:throw new Error("Unsupported builtin type "+t.name)}return e.print(n),null},e.prototype.visitExpressionType=function(t,e){var n=this;return t.value.visitExpression(this,e),r(t.typeParams)&&t.typeParams.length>0&&(e.print("<"),this.visitAllObjects(function(t){return t.visitType(n,e)},t.typeParams,e,","),e.print(">")),null},e.prototype.visitArrayType=function(t,e){return this.visitType(t.of,e),e.print("[]"),null},e.prototype.visitMapType=function(t,e){return e.print("{[key: string]:"),this.visitType(t.valueType,e),e.print("}"),null},e.prototype.getBuiltinMethodName=function(t){var e;switch(t){case Bh.ConcatArray:e="concat";break;case Bh.SubscribeObservable:e="subscribe";break;case Bh.Bind:e="bind";break;default:throw new Error("Unknown builtin method: "+t)}return e},e.prototype._visitParams=function(t,e){var n=this;this.visitAllObjects(function(t){e.print(t.name),e.print(":"),n.visitType(t.type,e)},t,e,",")},e.prototype._visitIdentifier=function(t,e,n){var o=this,s=b(t),a=w(t);if(i(s))throw new Error("Internal error: unknown identifier "+t);if(r(a)&&a!=this._moduleUrl){var u=this.importsWithPrefixes.get(a);i(u)&&(u="import"+this.importsWithPrefixes.size,this.importsWithPrefixes.set(a,u)),n.print(u+".")}t.reference&&t.reference.members&&t.reference.members.length?(n.print(t.reference.name),n.print("."),n.print(t.reference.members.join("."))):n.print(s),r(e)&&e.length>0&&(n.print("<"),this.visitAllObjects(function(t){return t.visitType(o,n)},e,n,","),n.print(">"))},e}(Rd),jd={};$n(e.SecurityContext.HTML,["iframe|srcdoc","*|innerHTML","*|outerHTML"]),$n(e.SecurityContext.STYLE,["*|style"]),$n(e.SecurityContext.URL,["*|formAction","area|href","area|ping","audio|src","a|href","a|ping","blockquote|cite","body|background","del|cite","form|action","img|src","img|srcset","input|src","ins|cite","q|cite","source|src","source|srcset","track|src","video|poster","video|src"]),$n(e.SecurityContext.RESOURCE_URL,["applet|code","applet|codebase","base|href","embed|src","frame|src","head|profile","html|manifest","iframe|src","link|href","media|src","object|codebase","object|data","script|src"]);var Ld=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Vd=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},Fd=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},Ud="boolean",Bd="number",Hd="string",qd="object",zd=["[Element]|textContent,%classList,className,id,innerHTML,*beforecopy,*beforecut,*beforepaste,*copy,*cut,*paste,*search,*selectstart,*webkitfullscreenchange,*webkitfullscreenerror,*wheel,outerHTML,#scrollLeft,#scrollTop","[HTMLElement]^[Element]|accessKey,contentEditable,dir,!draggable,!hidden,innerText,lang,*abort,*beforecopy,*beforecut,*beforepaste,*blur,*cancel,*canplay,*canplaythrough,*change,*click,*close,*contextmenu,*copy,*cuechange,*cut,*dblclick,*drag,*dragend,*dragenter,*dragleave,*dragover,*dragstart,*drop,*durationchange,*emptied,*ended,*error,*focus,*input,*invalid,*keydown,*keypress,*keyup,*load,*loadeddata,*loadedmetadata,*loadstart,*message,*mousedown,*mouseenter,*mouseleave,*mousemove,*mouseout,*mouseover,*mouseup,*mousewheel,*mozfullscreenchange,*mozfullscreenerror,*mozpointerlockchange,*mozpointerlockerror,*paste,*pause,*play,*playing,*progress,*ratechange,*reset,*resize,*scroll,*search,*seeked,*seeking,*select,*selectstart,*show,*stalled,*submit,*suspend,*timeupdate,*toggle,*volumechange,*waiting,*webglcontextcreationerror,*webglcontextlost,*webglcontextrestored,*webkitfullscreenchange,*webkitfullscreenerror,*wheel,outerText,!spellcheck,%style,#tabIndex,title,!translate","abbr,address,article,aside,b,bdi,bdo,cite,code,dd,dfn,dt,em,figcaption,figure,footer,header,i,kbd,main,mark,nav,noscript,rb,rp,rt,rtc,ruby,s,samp,section,small,strong,sub,sup,u,var,wbr^[HTMLElement]|accessKey,contentEditable,dir,!draggable,!hidden,innerText,lang,*abort,*beforecopy,*beforecut,*beforepaste,*blur,*cancel,*canplay,*canplaythrough,*change,*click,*close,*contextmenu,*copy,*cuechange,*cut,*dblclick,*drag,*dragend,*dragenter,*dragleave,*dragover,*dragstart,*drop,*durationchange,*emptied,*ended,*error,*focus,*input,*invalid,*keydown,*keypress,*keyup,*load,*loadeddata,*loadedmetadata,*loadstart,*message,*mousedown,*mouseenter,*mouseleave,*mousemove,*mouseout,*mouseover,*mouseup,*mousewheel,*mozfullscreenchange,*mozfullscreenerror,*mozpointerlockchange,*mozpointerlockerror,*paste,*pause,*play,*playing,*progress,*ratechange,*reset,*resize,*scroll,*search,*seeked,*seeking,*select,*selectstart,*show,*stalled,*submit,*suspend,*timeupdate,*toggle,*volumechange,*waiting,*webglcontextcreationerror,*webglcontextlost,*webglcontextrestored,*webkitfullscreenchange,*webkitfullscreenerror,*wheel,outerText,!spellcheck,%style,#tabIndex,title,!translate","media^[HTMLElement]|!autoplay,!controls,%crossOrigin,#currentTime,!defaultMuted,#defaultPlaybackRate,!disableRemotePlayback,!loop,!muted,*encrypted,#playbackRate,preload,src,%srcObject,#volume",":svg:^[HTMLElement]|*abort,*blur,*cancel,*canplay,*canplaythrough,*change,*click,*close,*contextmenu,*cuechange,*dblclick,*drag,*dragend,*dragenter,*dragleave,*dragover,*dragstart,*drop,*durationchange,*emptied,*ended,*error,*focus,*input,*invalid,*keydown,*keypress,*keyup,*load,*loadeddata,*loadedmetadata,*loadstart,*mousedown,*mouseenter,*mouseleave,*mousemove,*mouseout,*mouseover,*mouseup,*mousewheel,*pause,*play,*playing,*progress,*ratechange,*reset,*resize,*scroll,*seeked,*seeking,*select,*show,*stalled,*submit,*suspend,*timeupdate,*toggle,*volumechange,*waiting,%style,#tabIndex",":svg:graphics^:svg:|",":svg:animation^:svg:|*begin,*end,*repeat",":svg:geometry^:svg:|",":svg:componentTransferFunction^:svg:|",":svg:gradient^:svg:|",":svg:textContent^:svg:graphics|",":svg:textPositioning^:svg:textContent|","a^[HTMLElement]|charset,coords,download,hash,host,hostname,href,hreflang,name,password,pathname,ping,port,protocol,referrerPolicy,rel,rev,search,shape,target,text,type,username","area^[HTMLElement]|alt,coords,hash,host,hostname,href,!noHref,password,pathname,ping,port,protocol,referrerPolicy,search,shape,target,username","audio^media|","br^[HTMLElement]|clear","base^[HTMLElement]|href,target","body^[HTMLElement]|aLink,background,bgColor,link,*beforeunload,*blur,*error,*focus,*hashchange,*languagechange,*load,*message,*offline,*online,*pagehide,*pageshow,*popstate,*rejectionhandled,*resize,*scroll,*storage,*unhandledrejection,*unload,text,vLink","button^[HTMLElement]|!autofocus,!disabled,formAction,formEnctype,formMethod,!formNoValidate,formTarget,name,type,value","canvas^[HTMLElement]|#height,#width","content^[HTMLElement]|select","dl^[HTMLElement]|!compact","datalist^[HTMLElement]|","details^[HTMLElement]|!open","dialog^[HTMLElement]|!open,returnValue","dir^[HTMLElement]|!compact","div^[HTMLElement]|align","embed^[HTMLElement]|align,height,name,src,type,width","fieldset^[HTMLElement]|!disabled,name","font^[HTMLElement]|color,face,size","form^[HTMLElement]|acceptCharset,action,autocomplete,encoding,enctype,method,name,!noValidate,target","frame^[HTMLElement]|frameBorder,longDesc,marginHeight,marginWidth,name,!noResize,scrolling,src","frameset^[HTMLElement]|cols,*beforeunload,*blur,*error,*focus,*hashchange,*languagechange,*load,*message,*offline,*online,*pagehide,*pageshow,*popstate,*rejectionhandled,*resize,*scroll,*storage,*unhandledrejection,*unload,rows","hr^[HTMLElement]|align,color,!noShade,size,width","head^[HTMLElement]|","h1,h2,h3,h4,h5,h6^[HTMLElement]|align","html^[HTMLElement]|version","iframe^[HTMLElement]|align,!allowFullscreen,frameBorder,height,longDesc,marginHeight,marginWidth,name,referrerPolicy,%sandbox,scrolling,src,srcdoc,width","img^[HTMLElement]|align,alt,border,%crossOrigin,#height,#hspace,!isMap,longDesc,lowsrc,name,referrerPolicy,sizes,src,srcset,useMap,#vspace,#width","input^[HTMLElement]|accept,align,alt,autocapitalize,autocomplete,!autofocus,!checked,!defaultChecked,defaultValue,dirName,!disabled,%files,formAction,formEnctype,formMethod,!formNoValidate,formTarget,#height,!incremental,!indeterminate,max,#maxLength,min,#minLength,!multiple,name,pattern,placeholder,!readOnly,!required,selectionDirection,#selectionEnd,#selectionStart,#size,src,step,type,useMap,value,%valueAsDate,#valueAsNumber,#width","keygen^[HTMLElement]|!autofocus,challenge,!disabled,keytype,name","li^[HTMLElement]|type,#value","label^[HTMLElement]|htmlFor","legend^[HTMLElement]|align","link^[HTMLElement]|as,charset,%crossOrigin,!disabled,href,hreflang,integrity,media,rel,%relList,rev,%sizes,target,type","map^[HTMLElement]|name","marquee^[HTMLElement]|behavior,bgColor,direction,height,#hspace,#loop,#scrollAmount,#scrollDelay,!trueSpeed,#vspace,width","menu^[HTMLElement]|!compact","meta^[HTMLElement]|content,httpEquiv,name,scheme","meter^[HTMLElement]|#high,#low,#max,#min,#optimum,#value","ins,del^[HTMLElement]|cite,dateTime","ol^[HTMLElement]|!compact,!reversed,#start,type","object^[HTMLElement]|align,archive,border,code,codeBase,codeType,data,!declare,height,#hspace,name,standby,type,useMap,#vspace,width","optgroup^[HTMLElement]|!disabled,label","option^[HTMLElement]|!defaultSelected,!disabled,label,!selected,text,value","output^[HTMLElement]|defaultValue,%htmlFor,name,value","p^[HTMLElement]|align","param^[HTMLElement]|name,type,value,valueType","picture^[HTMLElement]|","pre^[HTMLElement]|#width","progress^[HTMLElement]|#max,#value","q,blockquote,cite^[HTMLElement]|","script^[HTMLElement]|!async,charset,%crossOrigin,!defer,event,htmlFor,integrity,src,text,type","select^[HTMLElement]|!autofocus,!disabled,#length,!multiple,name,!required,#selectedIndex,#size,value","shadow^[HTMLElement]|","source^[HTMLElement]|media,sizes,src,srcset,type","span^[HTMLElement]|","style^[HTMLElement]|!disabled,media,type","caption^[HTMLElement]|align","th,td^[HTMLElement]|abbr,align,axis,bgColor,ch,chOff,#colSpan,headers,height,!noWrap,#rowSpan,scope,vAlign,width","col,colgroup^[HTMLElement]|align,ch,chOff,#span,vAlign,width","table^[HTMLElement]|align,bgColor,border,%caption,cellPadding,cellSpacing,frame,rules,summary,%tFoot,%tHead,width","tr^[HTMLElement]|align,bgColor,ch,chOff,vAlign","tfoot,thead,tbody^[HTMLElement]|align,ch,chOff,vAlign","template^[HTMLElement]|","textarea^[HTMLElement]|autocapitalize,!autofocus,#cols,defaultValue,dirName,!disabled,#maxLength,#minLength,name,placeholder,!readOnly,!required,#rows,selectionDirection,#selectionEnd,#selectionStart,value,wrap","title^[HTMLElement]|text","track^[HTMLElement]|!default,kind,label,src,srclang","ul^[HTMLElement]|!compact,type","unknown^[HTMLElement]|","video^media|#height,poster,#width",":svg:a^:svg:graphics|",":svg:animate^:svg:animation|",":svg:animateMotion^:svg:animation|",":svg:animateTransform^:svg:animation|",":svg:circle^:svg:geometry|",":svg:clipPath^:svg:graphics|",":svg:cursor^:svg:|",":svg:defs^:svg:graphics|",":svg:desc^:svg:|",":svg:discard^:svg:|",":svg:ellipse^:svg:geometry|",":svg:feBlend^:svg:|",":svg:feColorMatrix^:svg:|",":svg:feComponentTransfer^:svg:|",":svg:feComposite^:svg:|",":svg:feConvolveMatrix^:svg:|",":svg:feDiffuseLighting^:svg:|",":svg:feDisplacementMap^:svg:|",":svg:feDistantLight^:svg:|",":svg:feDropShadow^:svg:|",":svg:feFlood^:svg:|",":svg:feFuncA^:svg:componentTransferFunction|",":svg:feFuncB^:svg:componentTransferFunction|",":svg:feFuncG^:svg:componentTransferFunction|",":svg:feFuncR^:svg:componentTransferFunction|",":svg:feGaussianBlur^:svg:|",":svg:feImage^:svg:|",":svg:feMerge^:svg:|",":svg:feMergeNode^:svg:|",":svg:feMorphology^:svg:|",":svg:feOffset^:svg:|",":svg:fePointLight^:svg:|",":svg:feSpecularLighting^:svg:|",":svg:feSpotLight^:svg:|",":svg:feTile^:svg:|",":svg:feTurbulence^:svg:|",":svg:filter^:svg:|",":svg:foreignObject^:svg:graphics|",":svg:g^:svg:graphics|",":svg:image^:svg:graphics|",":svg:line^:svg:geometry|",":svg:linearGradient^:svg:gradient|",":svg:mpath^:svg:|",":svg:marker^:svg:|",":svg:mask^:svg:|",":svg:metadata^:svg:|",":svg:path^:svg:geometry|",":svg:pattern^:svg:|",":svg:polygon^:svg:geometry|",":svg:polyline^:svg:geometry|",":svg:radialGradient^:svg:gradient|",":svg:rect^:svg:geometry|",":svg:svg^:svg:graphics|#currentScale,#zoomAndPan",":svg:script^:svg:|type",":svg:set^:svg:animation|",":svg:stop^:svg:|",":svg:style^:svg:|!disabled,media,title,type",":svg:switch^:svg:graphics|",":svg:symbol^:svg:|",":svg:tspan^:svg:textPositioning|",":svg:text^:svg:textPositioning|",":svg:textPath^:svg:textContent|",":svg:title^:svg:|",":svg:use^:svg:graphics|",":svg:view^:svg:|#zoomAndPan","data^[HTMLElement]|value","menuitem^[HTMLElement]|type,label,icon,!disabled,!checked,radiogroup,!default","summary^[HTMLElement]|","time^[HTMLElement]|dateTime"],Wd={"class":"className","for":"htmlFor",formaction:"formAction",innerHtml:"innerHTML",readonly:"readOnly",tabindex:"tabIndex"},Gd=function(t){function n(){var e=this;t.call(this),this._schema={},zd.forEach(function(t){var n={},r=t.split("|"),i=r[0],o=r[1],s=o.split(","),a=i.split("^"),u=a[0],c=a[1];u.split(",").forEach(function(t){return e._schema[t.toLowerCase()]=n});var p=c&&e._schema[c.toLowerCase()];p&&Object.keys(p).forEach(function(t){n[t]=p[t]}),s.forEach(function(t){if(t.length>0)switch(t[0]){case"*":break;case"!":n[t.substring(1)]=Ud;break;case"#":n[t.substring(1)]=Bd;break;case"%":n[t.substring(1)]=qd;break;default:n[t]=Hd}})})}return Ld(n,t),n.prototype.hasProperty=function(t,n,r){if(r.some(function(t){return t.name===e.NO_ERRORS_SCHEMA.name}))return!0;if(t.indexOf("-")>-1){if("ng-container"===t||"ng-content"===t)return!1;if(r.some(function(t){return t.name===e.CUSTOM_ELEMENTS_SCHEMA.name}))return!0}var i=this._schema[t.toLowerCase()]||this._schema.unknown;return!!i[n]},n.prototype.hasElement=function(t,n){if(n.some(function(t){return t.name===e.NO_ERRORS_SCHEMA.name}))return!0;if(t.indexOf("-")>-1){if("ng-container"===t||"ng-content"===t)return!0;if(n.some(function(t){return t.name===e.CUSTOM_ELEMENTS_SCHEMA.name}))return!0}return!!this._schema[t.toLowerCase()]},n.prototype.securityContext=function(t,n,r){r&&(n=this.getMappedPropName(n)),t=t.toLowerCase(),n=n.toLowerCase();var i=jd[t+"|"+n];return i?i:(i=jd["*|"+n],i?i:e.SecurityContext.NONE)},n.prototype.getMappedPropName=function(t){return Wd[t]||t},n.prototype.getDefaultComponentElementName=function(){return"ng-component"},n.prototype.validateProperty=function(t){if(t.toLowerCase().startsWith("on")){var e="Binding to event property '"+t+"' is disallowed for security reasons, "+("please use ("+t.slice(2)+")=...")+("\nIf '"+t+"' is a directive input, make sure the directive is imported by the")+" current module.";return{error:!0,msg:e}}return{error:!1}},n.prototype.validateAttribute=function(t){if(t.toLowerCase().startsWith("on")){var e="Binding to event attribute '"+t+"' is disallowed for security reasons, "+("please use ("+t.slice(2)+")=...");return{error:!0,msg:e}}return{error:!1}},n.prototype.allKnownElementNames=function(){return Object.keys(this._schema)},n.prototype.normalizeAnimationStyleProperty=function(t){return d(t)},n.prototype.normalizeAnimationStyleValue=function(t,e,n){var r="",i=n.toString().trim(),o=null;if(Zn(t)&&0!==n&&"0"!==n)if("number"==typeof n)r="px";else{var s=n.match(/^[+-]?[\d\.]+([a-z]*)$/);s&&0==s[1].length&&(o="Please provide a CSS unit value for "+e+":"+n)}return{error:o,value:i+r}},n=Vd([M(),Fd("design:paramtypes",[])],n)}(Mp),Kd=function(){function t(){this.strictStyling=!0}return t.prototype.shimCssText=function(t,e,n){void 0===n&&(n="");var r=tr(t);return t=Jn(t),t=this._insertDirectives(t),this._scopeCssText(t,e,n)+r},t.prototype._insertDirectives=function(t){return t=this._insertPolyfillDirectivesInCssText(t),this._insertPolyfillRulesInCssText(t)},t.prototype._insertPolyfillDirectivesInCssText=function(t){return t.replace(Qd,function(){for(var t=[],e=0;e<arguments.length;e++)t[e-0]=arguments[e];return t[2]+"{"})},t.prototype._insertPolyfillRulesInCssText=function(t){return t.replace(Yd,function(){for(var t=[],e=0;e<arguments.length;e++)t[e-0]=arguments[e];var n=t[0].replace(t[1],"").replace(t[2],"");return t[4]+n})},t.prototype._scopeCssText=function(t,e,n){var r=this._extractUnscopedRulesFromCssText(t);return t=this._insertPolyfillHostInCssText(t),t=this._convertColonHost(t),t=this._convertColonHostContext(t),t=this._convertShadowDOMSelectors(t),e&&(t=this._scopeSelectors(t,e,n)),t=t+"\n"+r,t.trim()},t.prototype._extractUnscopedRulesFromCssText=function(t){var e,n="";for($d.lastIndex=0;null!==(e=$d.exec(t));){var r=e[0].replace(e[2],"").replace(e[1],e[4]);n+=r+"\n\n"}return n},t.prototype._convertColonHost=function(t){return this._convertColonRule(t,ey,this._colonHostPartReplacer)},t.prototype._convertColonHostContext=function(t){return this._convertColonRule(t,ny,this._colonHostContextPartReplacer)},t.prototype._convertColonRule=function(t,e,n){return t.replace(e,function(){for(var t=[],e=0;e<arguments.length;e++)t[e-0]=arguments[e];if(t[2]){for(var r=t[2].split(","),i=[],o=0;o<r.length;o++){var s=r[o].trim();if(!s)break;i.push(n(ry,s,t[3]))}return i.join(",")}return ry+t[3]})},t.prototype._colonHostContextPartReplacer=function(t,e,n){return e.indexOf(Zd)>-1?this._colonHostPartReplacer(t,e,n):t+e+n+", "+e+" "+t+n},t.prototype._colonHostPartReplacer=function(t,e,n){return t+e.replace(Zd,"")+n},t.prototype._convertShadowDOMSelectors=function(t){return oy.reduce(function(t,e){return t.replace(e," ")},t)},t.prototype._scopeSelectors=function(t,e,n){var r=this;return er(t,function(t){var i=t.selector,o=t.content;return"@"!=t.selector[0]?i=r._scopeSelector(t.selector,e,n,r.strictStyling):(t.selector.startsWith("@media")||t.selector.startsWith("@supports")||t.selector.startsWith("@page")||t.selector.startsWith("@document"))&&(o=r._scopeSelectors(t.content,e,n)),new gy(i,o)})},t.prototype._scopeSelector=function(t,e,n,r){var i=this;return t.split(",").map(function(t){return t.trim().split(sy)}).map(function(t){var o=t[0],s=t.slice(1),a=function(t){return i._selectorNeedsScoping(t,e)?r?i._applyStrictSelectorScope(t,e,n):i._applySelectorScope(t,e,n):t};return[a(o)].concat(s).join(" ")}).join(", ")},t.prototype._selectorNeedsScoping=function(t,e){var n=this._makeScopeMatcher(e);return!n.test(t)},t.prototype._makeScopeMatcher=function(t){var e=/\[/g,n=/\]/g;return t=t.replace(e,"\\[").replace(n,"\\]"),new RegExp("^("+t+")"+ay,"m")},t.prototype._applySelectorScope=function(t,e,n){return this._applySimpleSelectorScope(t,e,n)},t.prototype._applySimpleSelectorScope=function(t,e,n){if(uy.lastIndex=0,uy.test(t)){var r=this.strictStyling?"["+n+"]":e;return t.replace(iy,function(t,e){return e.replace(/([^:]*)(:*)(.*)/,function(t,e,n,i){return e+r+n+i})}).replace(uy,r+" ")}return e+" "+t},t.prototype._applyStrictSelectorScope=function(t,e,n){var r=this,i=/\[is=([^\]]*)\]/g;e=e.replace(i,function(){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return t[0]});var o="["+e+"]",s=function(t){var i=t.trim();if(!i)return"";if(t.indexOf(ry)>-1)i=r._applySimpleSelectorScope(t,e,n);else{var s=t.replace(uy,"");if(s.length>0){var a=s.match(/([^:]*)(:*)(.*)/);a&&(i=a[1]+o+a[2]+a[3])}}return i},a=new Xd(t);t=a.content();for(var u,c="",p=0,l=/( |>|\+|~(?!=))\s*/g,h=t.indexOf(ry);null!==(u=l.exec(t));){var f=u[1],d=t.slice(p,u.index).trim(),y=p>=h?s(d):d;c+=y+" "+f+" ",p=l.lastIndex}return c+=s(t.substring(p)),a.restore(c)},t.prototype._insertPolyfillHostInCssText=function(t){return t.replace(py,Jd).replace(cy,Zd)},t}(),Xd=function(){function t(t){var e=this;this.placeholders=[],this.index=0,t=t.replace(/(\[[^\]]*\])/g,function(t,n){var r="__ph-"+e.index+"__";return e.placeholders.push(n),e.index++,r}),this._content=t.replace(/(:nth-[-\w]+)(\([^)]+\))/g,function(t,n,r){var i="__ph-"+e.index+"__";return e.placeholders.push(r),e.index++,n+i})}return t.prototype.restore=function(t){var e=this;return t.replace(/__ph-(\d+)__/g,function(t,n){return e.placeholders[+n]})},t.prototype.content=function(){return this._content},t}(),Qd=/polyfill-next-selector[^}]*content:[\s]*?(['"])(.*?)\1[;\s]*}([^{]*?){/gim,Yd=/(polyfill-rule)[^}]*(content:[\s]*(['"])(.*?)\3)[;\s]*[^}]*}/gim,$d=/(polyfill-unscoped-rule)[^}]*(content:[\s]*(['"])(.*?)\3)[;\s]*[^}]*}/gim,Zd="-shadowcsshost",Jd="-shadowcsscontext",ty=")(?:\\(((?:\\([^)(]*\\)|[^)(]*)+?)\\))?([^,{]*)",ey=new RegExp("("+Zd+ty,"gim"),ny=new RegExp("("+Jd+ty,"gim"),ry=Zd+"-no-combinator",iy=/-shadowcsshost-no-combinator([^\s]*)/,oy=[/::shadow/g,/::content/g,/\/shadow-deep\//g,/\/shadow\//g],sy=/(?:>>>)|(?:\/deep\/)/g,ay="([>\\s~+[.,{:][\\s\\S]*)?$",uy=/-shadowcsshost/gim,cy=/:host/gim,py=/:host-context/gim,ly=/\/\*\s*[\s\S]*?\*\//g,hy=/\/\*\s*#\s*sourceMappingURL=[\s\S]+?\*\//,fy=/(\s*)([^;\{\}]+?)(\s*)((?:{%BLOCK%}?\s*;?)|(?:\s*;))/g,dy=/([{}])/g,yy="{",my="}",vy="%BLOCK%",gy=function(){function t(t,e){this.selector=t,this.content=e}return t}(),_y=function(){function t(t,e){this.escapedString=t,this.blocks=e}return t}(),by=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},wy=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},Ey="%COMP%",Sy="_nghost-"+Ey,Cy="_ngcontent-"+Ey,xy=function(){function t(t,e,n,r){this.name=t,this.moduleUrl=e,this.isShimmed=n,this.valuePlaceholder=r}return t}(),Ty=function(){function t(t,e){this.componentStylesheet=t,this.externalStylesheets=e}return t}(),Py=function(){function t(t,e,n,r,i){this.statements=t,this.stylesVar=e,this.dependencies=n,this.isShimmed=r,this.meta=i}return t}(),Oy=function(){function t(t){this._urlResolver=t,this._shadowCss=new Kd}return t.prototype.compileComponent=function(t){var e=this,n=[],r=this._compileStyles(t,new xs({styles:t.template.styles,styleUrls:t.template.styleUrls,moduleUrl:w(t.type)}),!0);return t.template.externalStylesheets.forEach(function(r){var i=e._compileStyles(t,r,!1);n.push(i)}),new Ty(r,n)},t.prototype._compileStyles=function(t,n,r){for(var i=this,o=t.template.encapsulation===e.ViewEncapsulation.Emulated,s=n.styles.map(function(t){return tn(i._shimIfNeeded(t,o))}),a=[],u=0;u<n.styleUrls.length;u++){var c={reference:null};a.push(new xy(rr(null),n.styleUrls[u],o,c)),s.push(new Gh(c))}var p=rr(r?t:null),l=Ge(p).set(Ye(s,new Th(Oh,[wh.Const]))).toDeclStmt(null,[cf.Final]);return new Py([l],p,a,o,n)},t.prototype._shimIfNeeded=function(t,e){return e?this._shadowCss.shimCssText(t,Cy,Sy):t},t=by([M(),wy("design:paramtypes",[ph])],t)}(),Ay=function(){function t(t,e){this.nodeIndex=t,this.sourceAst=e}return t}(),My=new Ay(null,null),Ry=function(){function t(t){this._view=t,this._newState=My,this._currState=My,this._bodyStatements=[],this._debugEnabled=this._view.genConfig.genDebugInfo}return t.prototype._updateDebugContextIfNeeded=function(){if(this._newState.nodeIndex!==this._currState.nodeIndex||this._newState.sourceAst!==this._currState.sourceAst){var t=this._updateDebugContext(this._newState);t&&this._bodyStatements.push(t.toStmt())}},t.prototype._updateDebugContext=function(t){if(this._currState=this._newState=t,this._debugEnabled){var e=t.sourceAst?t.sourceAst.sourceSpan.start:null;return of.callMethod("debug",[tn(t.nodeIndex),e?tn(e.line):af,e?tn(e.col):af])}return null},t.prototype.resetDebugInfoExpr=function(t,e){var n=this._updateDebugContext(new Ay(t,e));return n||af},t.prototype.resetDebugInfo=function(t,e){this._newState=new Ay(t,e)},t.prototype.push=function(){for(var t=[],e=0;e<arguments.length;e++)t[e-0]=arguments[e];this.addStmts(t)},t.prototype.addStmt=function(t){this._updateDebugContextIfNeeded(),this._bodyStatements.push(t)},t.prototype.addStmts=function(t){this._updateDebugContextIfNeeded(),(e=this._bodyStatements).push.apply(e,t);var e},t.prototype.finish=function(){return this._bodyStatements},t.prototype.isEmpty=function(){return 0===this._bodyStatements.length;
-
-},t}(),ky=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Ny=function(t){function e(e,n){t.call(this),this._viewExpr=e,this._view=n}return ky(e,t),e.prototype._isThis=function(t){return t instanceof Lh&&t.builtin===jh.This},e.prototype.visitReadVarExpr=function(t){return this._isThis(t)?this._viewExpr:t},e.prototype.visitReadPropExpr=function(e,n){return this._isThis(e.receiver)&&(this._view.fields.some(function(t){return t.name==e.name})||this._view.getters.some(function(t){return t.name==e.name}))?this._viewExpr.cast(this._view.classType).prop(e.name):t.prototype.visitReadPropExpr.call(this,e,n)},e}(Sf),Iy=function(){function t(t,e){this.view=t,this.values=e}return t}(),Dy=function(){function t(t,e,n,r){this.meta=t,this.queryList=e,this.ownerDirectiveExpression=n,this.view=r,this._values=new Iy(r,[])}return t.prototype.addValue=function(t,e){for(var n=e,r=[];n&&n!==this.view;){var i=n.declarationElement;r.unshift(i),n=i.view}var o=ir(this.queryList,e,this.view),s=this._values;r.forEach(function(t){var e=s.values.length>0?s.values[s.values.length-1]:null;if(e instanceof Iy&&e.view===t.embeddedView)s=e;else{var n=new Iy(t.embeddedView,[]);s.values.push(n),s=n}}),s.values.push(t),r.length>0&&e.dirtyParentQueriesMethod.addStmt(o.callMethod("setDirty",[]).toStmt())},t.prototype._isStatic=function(){return!this._values.values.some(function(t){return t instanceof Iy})},t.prototype.generateStatements=function(t,e){var n=ur(this._values),r=[this.queryList.callMethod("reset",[Ye(n)]).toStmt()];if(this.ownerDirectiveExpression){var i=this.meta.first?this.queryList.prop("first"):this.queryList;r.push(this.ownerDirectiveExpression.prop(this.meta.propertyName).set(i).toStmt())}this.meta.first||r.push(this.queryList.callMethod("notifyOnChanges",[]).toStmt()),this.meta.first&&this._isStatic()?t.addStmts(r):e.addStmt(new bf(this.queryList.prop("dirty"),r))},t}(),jy=function(){function t(){}return t.fromValue=function(t){return un(_p.ViewType,t)},t}(),Ly=function(){function t(){}return t.fromValue=function(t){return un(_p.ViewEncapsulation,t)},t}(),Vy=function(){function t(){}return t.fromValue=function(t){return un(_p.ChangeDetectorStatus,t)},t}(),Fy=function(){function t(){}return t.viewUtils=Ge("viewUtils"),t.parentView=Ge("parentView"),t.parentIndex=Ge("parentIndex"),t.parentElement=Ge("parentElement"),t}(),Uy=function(){function t(){}return t.renderer=of.prop("renderer"),t.viewUtils=of.prop("viewUtils"),t}(),By=function(){function t(){}return t.token=Ge("token"),t.requestNodeIndex=Ge("requestNodeIndex"),t.notFoundResult=Ge("notFoundResult"),t}(),Hy=function(){function t(){}return t.throwOnChange=Ge("throwOnChange"),t.changes=Ge("changes"),t.changed=Ge("changed"),t}(),qy=function(){function t(t,e,n){this.comp=t,this.name=e,this.placeholder=n}return t}(),zy=function(){function t(t,e){this.comp=t,this.placeholder=e}return t}(),Wy=function(){function t(t,e,n){this.dir=t,this.name=e,this.placeholder=n}return t}(),Gy=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Ky=function(){function t(t,e,n,r,i){this.parent=t,this.view=e,this.nodeIndex=n,this.renderNode=r,this.sourceAst=i}return t.prototype.isNull=function(){return!this.renderNode},t.prototype.isRootElement=function(){return this.view!=this.parent.view},t}(),Xy=function(t){function e(e,n,r,i,o,s,a,u,c,p,l){var h=this;t.call(this,e,n,r,i,o),this.component=s,this._directives=a,this._resolvedProvidersArray=u,this.hasViewContainer=c,this.hasEmbeddedView=p,this.compViewExpr=null,this.instances=new Map,this.directiveWrapperInstance=new Map,this._queryCount=0,this._queries=new Map,this.contentNodesByNgContentIndex=null,this.referenceTokens={},l.forEach(function(t){return h.referenceTokens[t.name]=t.value}),this.elementRef=Ke(Yt(_p.ElementRef)).instantiate([this.renderNode]),this.instances.set(Qt(_p.ElementRef),this.elementRef),this.instances.set(Qt(_p.Injector),of.callMethod("injector",[tn(this.nodeIndex)])),this.instances.set(Qt(_p.Renderer),of.prop("renderer")),(this.hasViewContainer||this.hasEmbeddedView)&&this._createViewContainer(),this.component&&this._createComponentFactoryResolver()}return Gy(e,t),e.createNull=function(){return new e(null,null,null,null,null,null,[],[],!1,!1,[])},e.prototype._createViewContainer=function(){var t="_vc_"+this.nodeIndex,e=this.isRootElement()?null:this.parent.nodeIndex;this.view.fields.push(new mf(t,Xe(Yt(_p.ViewContainer)),[cf.Private]));var n=of.prop(t).set(Ke(Yt(_p.ViewContainer)).instantiate([tn(this.nodeIndex),tn(e),of,this.renderNode])).toStmt();this.view.createMethod.addStmt(n),this.viewContainer=of.prop(t),this.instances.set(Qt(_p.ViewContainer),this.viewContainer),this.view.viewContainers.push(this.viewContainer)},e.prototype._createComponentFactoryResolver=function(){var t=this,e=this.component.entryComponents.map(function(e){var n={reference:null};return t.view.targetDependencies.push(new zy(e,n)),n});if(e&&0!==e.length){var n=Ke(Yt(_p.CodegenComponentFactoryResolver)).instantiate([Ye(e.map(function(t){return Ke(t)})),or(this.view,Zt(_p.ComponentFactoryResolver),!1)]),r={token:Zt(_p.ComponentFactoryResolver),useValue:n};this._resolvedProvidersArray.unshift(new Qi(r.token,!1,!0,[r],Yi.PrivateService,[],this.sourceAst.sourceSpan))}},e.prototype.setComponentView=function(t){this.compViewExpr=t,this.contentNodesByNgContentIndex=new Array(this.component.template.ngContentSelectors.length);for(var e=0;e<this.contentNodesByNgContentIndex.length;e++)this.contentNodesByNgContentIndex[e]=[]},e.prototype.setEmbeddedView=function(t){if(this.embeddedView=t,r(t)){var e=Ke(Yt(_p.TemplateRef_)).instantiate([of,tn(this.nodeIndex),this.renderNode]),n={token:Zt(_p.TemplateRef),useValue:e};this._resolvedProvidersArray.unshift(new Qi(n.token,!1,!0,[n],Yi.Builtin,[],this.sourceAst.sourceSpan))}},e.prototype.beforeChildren=function(){var t=this;this.hasViewContainer&&this.instances.set(Qt(_p.ViewContainerRef),this.viewContainer.prop("vcRef")),this._resolvedProviders=new Map,this._resolvedProvidersArray.forEach(function(e){return t._resolvedProviders.set(S(e.token),e)}),Array.from(this._resolvedProviders.values()).forEach(function(e){var n=e.providerType===Yi.Component||e.providerType===Yi.Directive,r=e.providers.map(function(r){if(r.useExisting)return t._getDependency(e.providerType,{token:r.useExisting});if(r.useFactory){var i=r.deps||r.useFactory.diDeps,o=i.map(function(n){return t._getDependency(e.providerType,n)});return Ke(r.useFactory).callFn(o)}if(r.useClass){var i=r.deps||r.useClass.diDeps,o=i.map(function(n){return t._getDependency(e.providerType,n)});if(n){var s={reference:null};return t.view.targetDependencies.push(new Wy(r.useClass,Yf.dirWrapperClassName(r.useClass),s)),Jf.create(s,o)}return Ke(r.useClass).instantiate(o,Xe(r.useClass))}return Kn(r.useValue)}),i="_"+E(e.token)+"_"+t.nodeIndex+"_"+t.instances.size,o=fr(i,r,e.multiProvider,e.eager,t);n?(t.directiveWrapperInstance.set(S(e.token),o),t.instances.set(S(e.token),Jf.context(o))):t.instances.set(S(e.token),o)});for(var e=function(e){var r=n._directives[e],i=n.instances.get(S($t(r.type)));r.queries.forEach(function(e){t._addQuery(e,i)})},n=this,r=0;r<this._directives.length;r++)e(r);Object.keys(this.referenceTokens).forEach(function(e){var n,r=t.referenceTokens[e];n=r?t.instances.get(S(r)):t.renderNode,t.view.locals.set(e,n)})},e.prototype.afterChildren=function(t){var e=this;Array.from(this._resolvedProviders.values()).forEach(function(n){var r=e.instances.get(S(n.token)),i=n.providerType===Yi.PrivateService?0:t;e.view.injectorGetMethod.addStmt(hr(e.nodeIndex,i,n,r))})},e.prototype.finish=function(){var t=this;Array.from(this._queries.values()).forEach(function(e){return e.forEach(function(e){return e.generateStatements(t.view.createMethod,t.view.updateContentQueriesMethod)})})},e.prototype.addContentNode=function(t,e){this.contentNodesByNgContentIndex[t].push(e)},e.prototype.getComponent=function(){return r(this.component)?this.instances.get(S($t(this.component.type))):null},e.prototype.getProviderTokens=function(){return Array.from(this._resolvedProviders.values()).map(function(t){return t.token})},e.prototype.getQueriesFor=function(t){for(var e,n=[],i=this,o=0;!i.isNull();)e=i._queries.get(S(t)),r(e)&&n.push.apply(n,e.filter(function(t){return t.meta.descendants||1>=o})),i._directives.length>0&&o++,i=i.parent;return e=this.view.componentView.viewQueries.get(S(t)),r(e)&&n.push.apply(n,e),n},e.prototype._addQuery=function(t,e){var n="_query_"+E(t.selectors[0])+"_"+this.nodeIndex+"_"+this._queryCount++,r=pr(n,this.view),i=new Dy(t,r,e,this.view);return lr(this._queries,i),i},e.prototype._getLocalDependency=function(t,e){var n=null;if(r(e.token)){if(!n&&S(e.token)===Qt(_p.ChangeDetectorRef))return t===Yi.Component?this.compViewExpr.prop("ref"):ir(of.prop("ref"),this.view,this.view.componentView);if(!n){var i=this._resolvedProviders.get(S(e.token));if(i&&(t===Yi.Directive||t===Yi.PublicService)&&i.providerType===Yi.PrivateService)return null;n=this.instances.get(S(e.token))}}return n},e.prototype._getDependency=function(t,e){var n=this,r=null;for(e.isValue&&(r=tn(e.value)),r||e.isSkipSelf||(r=this._getLocalDependency(t,e));!r&&!n.parent.isNull();)n=n.parent,r=n._getLocalDependency(Yi.PublicService,{token:e.token});return r||(r=or(this.view,e.token,e.isOptional)),r||(r=af),ir(r,this.view,n.view)},e}(Ky),Qy=function(){function t(t,e){var n=this;this.view=t,this.meta=e,this._purePipeProxyCount=0,this.instance=of.prop("_pipe_"+e.name+"_"+t.pipeCount++);var r=this.meta.type.diDeps.map(function(e){return S(e.token)===Qt(_p.ChangeDetectorRef)?ir(of.prop("ref"),n.view,n.view.componentView):or(t,e.token,!1)});this.view.fields.push(new mf(this.instance.name,Xe(this.meta.type))),this.view.createMethod.resetDebugInfo(null,null),this.view.createMethod.addStmt(of.prop(this.instance.name).set(Ke(this.meta.type).instantiate(r)).toStmt())}return t.call=function(e,n,r){var i,o=e.componentView,s=dr(o,n);return s.pure?(i=o.purePipes.get(n),i||(i=new t(o,s),o.purePipes.set(n,i),o.pipes.push(i))):(i=new t(e,s),e.pipes.push(i)),i._call(e,r)},Object.defineProperty(t.prototype,"pure",{get:function(){return this.meta.pure},enumerable:!0,configurable:!0}),t.prototype._call=function(t,e){if(this.meta.pure){var n=of.prop(this.instance.name+"_"+this._purePipeProxyCount++),r=ir(this.instance,t,this.view);return an(r.prop("transform").callMethod(Bh.Bind,[r]),e.length,n,{fields:t.fields,ctorStmts:t.createMethod}),Ke(Yt(_p.castByValue)).callFn([n,r.prop("transform")]).callFn(e)}return ir(this.instance,t,this.view).callMethod("transform",e)},t}(),Yy={};Yy.Node=0,Yy.ViewContainer=1,Yy.NgContent=2,Yy[Yy.Node]="Node",Yy[Yy.ViewContainer]="ViewContainer",Yy[Yy.NgContent]="NgContent";var $y=function(){function t(t,e,n){this.type=t,this.expr=e,this.ngContentIndex=n}return t}(),Zy=function(){function t(t,e,n,r,i,o,s,a,u){var c=this;this.component=t,this.genConfig=e,this.pipeMetas=n,this.styles=r,this.animations=i,this.viewIndex=o,this.declarationElement=s,this.templateVariableBindings=a,this.targetDependencies=u,this.viewChildren=[],this.nodes=[],this.rootNodes=[],this.lastRenderNode=af,this.viewContainers=[],this.methods=[],this.ctorStmts=[],this.fields=[],this.getters=[],this.disposables=[],this.purePipes=new Map,this.pipes=[],this.locals=new Map,this.literalArrayCount=0,this.literalMapCount=0,this.pipeCount=0,this.createMethod=new Ry(this),this.animationBindingsMethod=new Ry(this),this.injectorGetMethod=new Ry(this),this.updateContentQueriesMethod=new Ry(this),this.dirtyParentQueriesMethod=new Ry(this),this.updateViewQueriesMethod=new Ry(this),this.detectChangesInInputsMethod=new Ry(this),this.detectChangesRenderPropertiesMethod=new Ry(this),this.afterContentLifecycleCallbacksMethod=new Ry(this),this.afterViewLifecycleCallbacksMethod=new Ry(this),this.destroyMethod=new Ry(this),this.detachMethod=new Ry(this),this.viewType=yr(t,o),this.className=sr(t,o),this.classType=Qe(Ge(this.className)),this.classExpr=Ge(this.className),this.componentView=this.viewType===go.COMPONENT||this.viewType===go.HOST?this:this.declarationElement.view.componentView,this.componentContext=ir(of.prop("context"),this,this.componentView);var p=new Map;if(this.viewType===go.COMPONENT){var l=of.prop("context");this.component.viewQueries.forEach(function(t,e){var n="_viewQuery_"+E(t.selectors[0])+"_"+e,r=pr(n,c),i=new Dy(t,r,l,c);lr(p,i)})}this.viewQueries=p,a.forEach(function(t){c.locals.set(t[1],of.prop("context").prop(t[0]))}),this.declarationElement.isNull()||this.declarationElement.setEmbeddedView(this)}return t.prototype.callPipe=function(t,e,n){return Qy.call(this,t,[e].concat(n))},t.prototype.getLocal=function(t){if(t==Af.event.name)return Af.event;for(var e=this,n=e.locals.get(t);!n&&r(e.declarationElement.view);)e=e.declarationElement.view,n=e.locals.get(t);return r(n)?ir(n,this,e):null},t.prototype.finish=function(){var t=this;Array.from(this.viewQueries.values()).forEach(function(e){return e.forEach(function(e){return e.generateStatements(t.createMethod,t.updateViewQueriesMethod)})})},t}(),Jy=of.prop("numberOfChecks").identical(new Wh(0)),tm=(Ze(Hy.throwOnChange),function(){function t(t,e){this.query=t,this.read=t.meta.read||e}return t}()),em=function(){function t(t,e){this.view=t,this._schemaRegistry=e,this._nodeIndex=0}return t.prototype.visitBoundText=function(t){var e=this.view.nodes[this._nodeIndex++];return Pr(t,e,this.view),null},t.prototype.visitText=function(){return this._nodeIndex++,null},t.prototype.visitNgContent=function(){return null},t.prototype.visitElement=function(t){var e=this,r=this.view.nodes[this._nodeIndex++];Rr(r);var i=mr(t.outputs,t.directives,r,!0);return Or(t.inputs,t.outputs,i,r),t.directives.forEach(function(n,i){var o=r.directiveWrapperInstance.get(n.directive.type.reference);Mr(n,o,i,r),Ar(n,o,r,t.name,e._schemaRegistry)}),n(this,t.children,r),t.directives.forEach(function(t){var e=r.instances.get(t.directive.type.reference),n=r.directiveWrapperInstance.get(t.directive.type.reference);Er(t.directive,e,r),Sr(t.directive,e,r),Cr(t,n,r)}),t.providers.forEach(function(t){var e=r.instances.get(S(t.token));xr(t,e,r)}),null},t.prototype.visitEmbeddedTemplate=function(t){var e=this.view.nodes[this._nodeIndex++];return Rr(e),mr(t.outputs,t.directives,e,!1),t.directives.forEach(function(t,n){var r=e.instances.get(t.directive.type.reference),i=e.directiveWrapperInstance.get(t.directive.type.reference);Mr(t,i,n,e),Er(t.directive,r,e),Sr(t.directive,r,e),Cr(t,i,e)}),t.providers.forEach(function(t){var n=e.instances.get(S(t.token));xr(t,n,e)}),kr(e.embeddedView,t.children,this._schemaRegistry),null},t.prototype.visitAttr=function(){return null},t.prototype.visitDirective=function(){return null},t.prototype.visitEvent=function(){return null},t.prototype.visitReference=function(){return null},t.prototype.visitVariable=function(){return null},t.prototype.visitDirectiveProperty=function(){return null},t.prototype.visitElementProperty=function(){return null},t}(),nm="$implicit",rm="class",im="style",om="ng-container",sm=Ge("parentRenderNode"),am=Ge("rootSelector"),um=function(){function t(t,e){this.view=t,this.targetDependencies=e,this.nestedViewCount=0}return t.prototype._isRootNode=function(t){return t.view!==this.view},t.prototype._addRootNodeAndProject=function(t){var e=Dr(t),n=e.parent,i=e.sourceAst.ngContentIndex,o=t instanceof Xy&&t.hasViewContainer?t.viewContainer:null;this._isRootNode(n)?this.view.viewType!==go.COMPONENT&&this.view.rootNodes.push(new $y(o?Yy.ViewContainer:Yy.Node,o||t.renderNode)):r(n.component)&&r(i)&&n.addContentNode(i,new $y(o?Yy.ViewContainer:Yy.Node,o||t.renderNode))},t.prototype._getParentRenderNode=function(t){return t=jr(t),this._isRootNode(t)?this.view.viewType===go.COMPONENT?sm:af:r(t.component)&&t.component.template.encapsulation!==e.ViewEncapsulation.Native?af:t.renderNode},t.prototype.getOrCreateLastRenderNode=function(){var t=this.view;if(0===t.rootNodes.length||t.rootNodes[t.rootNodes.length-1].type!==Yy.Node){var e="_el_"+t.nodes.length;t.fields.push(new mf(e,Xe(t.genConfig.renderTypes.renderElement))),t.createMethod.addStmt(of.prop(e).set(Uy.renderer.callMethod("createTemplateAnchor",[af,af])).toStmt()),t.rootNodes.push(new $y(Yy.Node,of.prop(e)))}return t.rootNodes[t.rootNodes.length-1].expr},t.prototype.visitBoundText=function(t,e){return this._visitText(t,"",e)},t.prototype.visitText=function(t,e){return this._visitText(t,t.value,e)},t.prototype._visitText=function(t,e,n){var r="_text_"+this.view.nodes.length;this.view.fields.push(new mf(r,Xe(this.view.genConfig.renderTypes.renderText)));var i=of.prop(r),o=new Ky(n,this.view,this.view.nodes.length,i,t),s=of.prop(r).set(Uy.renderer.callMethod("createText",[this._getParentRenderNode(n),tn(e),this.view.createMethod.resetDebugInfoExpr(this.view.nodes.length,t)])).toStmt();return this.view.nodes.push(o),this.view.createMethod.addStmt(s),this._addRootNodeAndProject(o),i},t.prototype.visitNgContent=function(t,e){this.view.createMethod.resetDebugInfo(null,t);var n=this._getParentRenderNode(e);return n!==af?this.view.createMethod.addStmt(of.callMethod("projectNodes",[n,tn(t.index)]).toStmt()):this._isRootNode(e)?this.view.viewType!==go.COMPONENT&&this.view.rootNodes.push(new $y(Yy.NgContent,null,t.index)):r(e.component)&&r(t.ngContentIndex)&&e.addContentNode(t.ngContentIndex,new $y(Yy.NgContent,null,t.index)),null},t.prototype.visitElement=function(t,e){var i,o=this.view.nodes.length,s=this.view.createMethod.resetDebugInfoExpr(o,t),a=t.directives.map(function(t){return t.directive}),u=a.find(function(t){return t.isComponent});if(t.name===om)i=Uy.renderer.callMethod("createTemplateAnchor",[this._getParentRenderNode(e),s]);else{var c=Fr(t.attrs),p=sn(Vr(c,a).map(function(t){return tn(t)}));i=0===o&&this.view.viewType===go.HOST?Ke(Yt(_p.selectOrCreateRenderHostElement)).callFn([Uy.renderer,tn(t.name),p,am,s]):Ke(Yt(_p.createRenderElement)).callFn([Uy.renderer,this._getParentRenderNode(e),tn(t.name),p,s])}var l="_el_"+o;this.view.fields.push(new mf(l,Xe(this.view.genConfig.renderTypes.renderElement))),this.view.createMethod.addStmt(of.prop(l).set(i).toStmt());var h=of.prop(l),f=new Xy(e,this.view,o,h,t,u,a,t.providers,t.hasViewContainer,!1,t.references);this.view.nodes.push(f);var d=null;if(r(u)){var y={reference:null};this.targetDependencies.push(new qy(u.type,sr(u,0),y)),d=of.prop("compView_"+o),this.view.fields.push(new mf(d.name,Xe(Yt(_p.AppView),[Xe(u.type)]))),this.view.viewChildren.push(d),f.setComponentView(d),this.view.createMethod.addStmt(d.set(Ke(y).instantiate([Uy.viewUtils,of,tn(o),h])).toStmt())}return f.beforeChildren(),this._addRootNodeAndProject(f),n(this,t.children,f),f.afterChildren(this.view.nodes.length-o-1),r(d)&&this.view.createMethod.addStmt(d.callMethod("create",[f.getComponent()]).toStmt()),null},t.prototype.visitEmbeddedTemplate=function(t,e){var n=this.view.nodes.length,r="_anchor_"+n;this.view.fields.push(new mf(r,Xe(this.view.genConfig.renderTypes.renderComment))),this.view.createMethod.addStmt(of.prop(r).set(Uy.renderer.callMethod("createTemplateAnchor",[this._getParentRenderNode(e),this.view.createMethod.resetDebugInfoExpr(n,t)])).toStmt());var i=of.prop(r),o=t.variables.map(function(t){return[t.value.length>0?t.value:nm,t.name]}),s=t.directives.map(function(t){return t.directive}),a=new Xy(e,this.view,n,i,t,null,s,t.providers,t.hasViewContainer,!0,t.references);this.view.nodes.push(a),this.nestedViewCount++;var u=new Zy(this.view.component,this.view.genConfig,this.view.pipeMetas,af,this.view.animations,this.view.viewIndex+this.nestedViewCount,a,o,this.targetDependencies);return this.nestedViewCount+=Nr(u,t.children,this.targetDependencies),a.beforeChildren(),this._addRootNodeAndProject(a),a.afterChildren(0),null},t.prototype.visitAttr=function(){return null},t.prototype.visitDirective=function(){return null},t.prototype.visitEvent=function(){return null},t.prototype.visitReference=function(){return null},t.prototype.visitVariable=function(){return null},t.prototype.visitDirectiveProperty=function(){return null},t.prototype.visitElementProperty=function(){return null},t}(),cm=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},pm=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},lm=function(){function t(t,e,n){this.statements=t,this.viewClassVar=e,this.dependencies=n}return t}(),hm=function(){function t(t,e){this._genConfig=t,this._schemaRegistry=e}return t.prototype.compileComponent=function(t,e,n,r,i){var o=[],s=new Zy(t,this._genConfig,r,n,i,0,Xy.createNull(),[],o),a=[];return Nr(s,e,o),kr(s,e,this._schemaRegistry),Ir(s,a),new lm(a,s.classExpr.name,o)},t=cm([M(),pm("design:paramtypes",[kl,Mp])],t)}(),fm=function(){function t(t,e,n){this.name=t,this.statements=e,this.fnExp=n}return t}(),dm=function(){function t(){}return t.prototype.compile=function(t,e){return e.map(function(e){var n=t+"_"+e.name,r=new Mm(e.name,n);return r.build(e)})},t}(),ym=Ge("element"),mm=Ge("defaultStateStyles"),vm=Ge("view"),gm=vm.prop("animationContext"),_m=vm.prop("renderer"),bm=Ge("currentState"),wm=Ge("nextState"),Em=Ge("player"),Sm=Ge("totalTime"),Cm=Ge("startStateStyles"),xm=Ge("endStateStyles"),Tm=Ge("collectedStyles"),Pm=Ge("previousPlayers"),Om=$e([]),Am=Ye([]),Mm=function(){function t(t,e){this.animationName=t,this._fnVarName=e+"_factory",this._statesMapVarName=e+"_states",this._statesMapVar=Ge(this._statesMapVarName)}return t.prototype.visitAnimationStyles=function(t,e){var n=[];return e.isExpectingFirstStyleStep&&(n.push(Cm),e.isExpectingFirstStyleStep=!1),t.styles.forEach(function(t){var e=Object.keys(t).map(function(e){return[e,tn(t[e])]});n.push($e(e,null,!0))}),Ke(Yt(_p.AnimationStyles)).instantiate([Ke(Yt(_p.collectAndResolveStyles)).callFn([Tm,Ye(n)])])},t.prototype.visitAnimationKeyframe=function(t,e){return Ke(Yt(_p.AnimationKeyframe)).instantiate([tn(t.offset),t.styles.visit(this,e)])},t.prototype.visitAnimationStep=function(t,e){var n=this;if(e.endStateAnimateStep===t)return this._visitEndStateAnimation(t,e);var r=t.startingStyles.visit(this,e),i=t.keyframes.map(function(t){return t.visit(n,e)});return this._callAnimateMethod(t,r,Ye(i),e)},t.prototype._visitEndStateAnimation=function(t,e){var n=this,r=t.startingStyles.visit(this,e),i=t.keyframes.map(function(t){return t.visit(n,e)}),o=Ke(Yt(_p.balanceAnimationKeyframes)).callFn([Tm,xm,Ye(i)]);return this._callAnimateMethod(t,r,o,e)},t.prototype._callAnimateMethod=function(t,e,n,r){var i=Am;return r.isExpectingFirstAnimateStep&&(i=Pm,r.isExpectingFirstAnimateStep=!1),r.totalTransitionTime+=t.duration+t.delay,_m.callMethod("animate",[ym,e,n,tn(t.duration),tn(t.delay),tn(t.easing),i])},t.prototype.visitAnimationSequence=function(t,e){var n=this,r=t.steps.map(function(t){return t.visit(n,e)});return Ke(Yt(_p.AnimationSequencePlayer)).instantiate([Ye(r)])},t.prototype.visitAnimationGroup=function(t,e){var n=this,r=t.steps.map(function(t){return t.visit(n,e)});return Ke(Yt(_p.AnimationGroupPlayer)).instantiate([Ye(r)])},t.prototype.visitAnimationStateDeclaration=function(t,e){var n={};ni(t).forEach(function(t){Object.keys(t).forEach(function(e){n[e]=t[e]})}),e.stateMap.registerState(t.stateName,n)},t.prototype.visitAnimationStateTransition=function(t,e){var n=t.animation.steps,r=n[n.length-1];ei(r)&&(e.endStateAnimateStep=r),e.totalTransitionTime=0,e.isExpectingFirstStyleStep=!0,e.isExpectingFirstAnimateStep=!0;var i=[];t.stateChanges.forEach(function(t){i.push(ti(bm,t.fromState).and(ti(wm,t.toState))),t.fromState!=Do&&e.stateMap.registerState(t.fromState),t.toState!=Do&&e.stateMap.registerState(t.toState)});var o=t.animation.visit(this,e),s=i.reduce(function(t,e){return t.or(e)}),a=Em.equals(af).and(s),u=Em.set(o).toStmt(),c=Sm.set(tn(e.totalTransitionTime)).toStmt();return new bf(a,[u,c])},t.prototype.visitAnimationEntry=function(t,e){var n=this;t.stateDeclarations.forEach(function(t){return t.visit(n,e)}),e.stateMap.registerState(jo,{});var r=[];r.push(Pm.set(gm.callMethod("getAnimationPlayers",[ym,wm.equals(tn(Lo)).conditional(af,tn(this.animationName))])).toDeclStmt()),r.push(Tm.set(Om).toDeclStmt()),r.push(Em.set(af).toDeclStmt()),r.push(Sm.set(tn(0)).toDeclStmt()),r.push(mm.set(this._statesMapVar.key(tn(jo))).toDeclStmt()),r.push(Cm.set(this._statesMapVar.key(bm)).toDeclStmt()),r.push(new bf(Cm.equals(af),[Cm.set(mm).toStmt()])),r.push(xm.set(this._statesMapVar.key(wm)).toDeclStmt()),r.push(new bf(xm.equals(af),[xm.set(mm).toStmt()]));var i=Ke(Yt(_p.renderStyles));return t.stateTransitions.forEach(function(t){return r.push(t.visit(n,e))}),r.push(new bf(Em.equals(af),[Em.set(Ke(Yt(_p.NoOpAnimationPlayer)).instantiate([])).toStmt()])),r.push(Em.callMethod("onDone",[Je([],[Em.callMethod("destroy",[]).toStmt(),i.callFn([ym,_m,Ke(Yt(_p.prepareFinalAnimationStyles)).callFn([Cm,xm])]).toStmt()])]).toStmt()),r.push(Ke(Yt(_p.AnimationSequencePlayer)).instantiate([Pm]).callMethod("destroy",[]).toStmt()),r.push(i.callFn([ym,_m,Ke(Yt(_p.clearStyles)).callFn([Cm])]).toStmt()),r.push(gm.callMethod("queueAnimation",[ym,tn(this.animationName),Em]).toStmt()),r.push(new df(Ke(Yt(_p.AnimationTransition)).instantiate([Em,bm,wm,Sm]))),Je([new Yh(vm.name,Xe(Yt(_p.AppView),[Oh])),new Yh(ym.name,Oh),new Yh(bm.name,Oh),new Yh(wm.name,Oh)],r,Xe(Yt(_p.AnimationTransition)))},t.prototype.build=function(t){var e=new Rm,n=t.visit(this,e).toDeclStmt(this._fnVarName),i=Ge(this._fnVarName),o=[];Object.keys(e.stateMap.states).forEach(function(t){var n=e.stateMap.states[t],i=Om;if(r(n)){var s=[];Object.keys(n).forEach(function(t){s.push([t,tn(n[t])])}),i=$e(s,null,!0)}o.push([t,i])});var s=this._statesMapVar.set($e(o,null,!0)).toDeclStmt(),a=[s,n];return new fm(this.animationName,a,i)},t}(),Rm=function(){function t(){this.stateMap=new km,this.endStateAnimateStep=null,this.isExpectingFirstStyleStep=!1,this.isExpectingFirstAnimateStep=!1,this.totalTransitionTime=0}return t}(),km=function(){function t(){this._states={}}return Object.defineProperty(t.prototype,"states",{get:function(){return this._states},enumerable:!0,configurable:!0}),t.prototype.registerState=function(t,e){void 0===e&&(e=null);var n=this._states[t];n||(this._states[t]=e)},t}(),Nm=function(){function t(t,e,n){this.srcFileUrl=t,this.genFileUrl=e,this.source=n}return t}(),Im=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Dm=/(\.ts|\.d\.ts|\.js|\.jsx|\.tsx)$/,jm=function(t){function e(e){t.call(this),this.host=e,this.symbols=[],this.indexBySymbol=new Map,this.processedSummaryBySymbol=new Map,this.processedSummaries=[]}return Im(e,t),e.prototype.addOrMergeSummary=function(t){var e=t.metadata;e&&"class"===e.__symbolic&&(e={__symbolic:"class",statics:e.statics});var n=this.processedSummaryBySymbol.get(t.symbol);n||(n=this.processValue({symbol:t.symbol}),this.processedSummaries.push(n),this.processedSummaryBySymbol.set(t.symbol,n)),null==n.metadata&&null!=e&&(n.metadata=this.processValue(e)),null==n.type&&null!=t.type&&(n.type=this.processValue(t.type))},e.prototype.serialize=function(){var t=this;return JSON.stringify({summaries:this.processedSummaries,symbols:this.symbols.map(function(e,n){return{__symbol:n,name:e.name,filePath:t.host.getOutputFileName(e.filePath)}})})},e.prototype.processValue=function(t){return g(t,this,null)},e.prototype.visitOther=function(t){if(t instanceof Ji){var e=this.indexBySymbol.get(t);return null==e&&(e=this.indexBySymbol.size,this.indexBySymbol.set(t,e),this.symbols.push(t)),{__symbol:e}}},e}(as),Lm=function(t){function e(e){t.call(this),this.symbolCache=e}return Im(e,t),e.prototype.deserialize=function(t){var e=this,n=JSON.parse(t);return this.symbols=n.symbols.map(function(t){return e.symbolCache.get(t.filePath,t.name)}),g(n.summaries,this,null)},e.prototype.visitStringMap=function(e,n){return"__symbol"in e?this.symbols[e.__symbol]:t.prototype.visitStringMap.call(this,e,n)},e}(as),Vm=function(){function t(t,e,n,r,i,o,s,a,u,c,p,l,h){this._host=t,this._metadataResolver=e,this._templateParser=n,this._styleCompiler=r,this._viewCompiler=i,this._dirWrapperCompiler=o,this._ngModuleCompiler=s,this._outputEmitter=a,this._summaryResolver=u,this._localeId=c,this._translationFormat=p,this._animationParser=l,this._symbolResolver=h,this._animationCompiler=new dm}return t.prototype.clearCache=function(){this._metadataResolver.clearCache()},t.prototype.compileAll=function(t){var e=this,n=mi(this._symbolResolver,t,this._host),r=di(n,this._host,this._metadataResolver),i=r.ngModuleByPipeOrDirective,o=r.files,s=r.ngModules;return Promise.all(s.map(function(t){return e._metadataResolver.loadNgModuleDirectiveAndPipeMetadata(t.type.reference,!1)})).then(function(){var t=o.map(function(t){return e._compileSrcFile(t.srcUrl,i,t.directives,t.pipes,t.ngModules,t.injectables)});return io.flatten(t)})},t.prototype._compileSrcFile=function(t,e,n,r,i,o){var s=this,a=hi(t)[1],u=[],c=[],p=[];if(p.push(this._createSummary(t,n,r,i,o)),c.push.apply(c,i.map(function(t){return s._compileModule(t,u)})),c.push.apply(c,n.map(function(t){return s._compileDirectiveWrapper(t,u)})),n.forEach(function(n){var r=s._metadataResolver.getDirectiveMetadata(n);if(!r.isComponent)return Promise.resolve(null);var i=e.get(n);if(!i)throw new Error("Internal Error: cannot determine the module for component "+b(r.type)+"!");li(r);var o=s._styleCompiler.compileComponent(r);o.externalStylesheets.forEach(function(e){p.push(s._codgenStyles(t,e,a))}),c.push(s._compileComponentFactory(r,i,a,u),s._compileComponent(r,i,i.transitiveModule.directives,o.componentStylesheet,a,u))}),u.length>0){var l=this._codegenSourceModule(t,ui(t),u,c);p.unshift(l)}return p},t.prototype._createSummary=function(t,e,n,r,i){var o=this,s=this._symbolResolver.getSymbolsOf(t).map(function(t){return o._symbolResolver.resolveSymbol(t)}),a=r.map(function(t){return o._metadataResolver.getNgModuleSummary(t)}).concat(e.map(function(t){return o._metadataResolver.getDirectiveSummary(t)}),n.map(function(t){return o._metadataResolver.getPipeSummary(t)}),i.map(function(t){return o._metadataResolver.getInjectableSummary(t)})),u=ri(this._host,this._summaryResolver,this._symbolResolver,s,a);return new Nm(t,oi(t),u)},t.prototype._compileModule=function(t,e){var n=this,r=this._metadataResolver.getNgModuleMetadata(t),i=[];this._localeId&&i.push({token:Zt(_p.LOCALE_ID),useValue:this._localeId}),this._translationFormat&&i.push({token:Zt(_p.TRANSLATIONS_FORMAT),useValue:this._translationFormat});var o=this._ngModuleCompiler.compile(r,i);return o.dependencies.forEach(function(t){t.placeholder.reference=n._symbolResolver.getStaticSymbol(ui(w(t.comp)),ci(t.comp))}),e.push.apply(e,o.statements),o.ngModuleFactoryVar},t.prototype._compileDirectiveWrapper=function(t,e){var n=this._metadataResolver.getDirectiveMetadata(t),r=this._dirWrapperCompiler.compile(n);return e.push.apply(e,r.statements),r.dirWrapperClassVar},t.prototype._compileComponentFactory=function(t,e,n,r){var i=C(this._symbolResolver.getStaticSymbol(w(t.type),b(t.type)+"_Host"),t),o=this._compileComponent(i,e,[t.type],null,n,r),s=ci(t.type);return r.push(Ge(s).set(Ke(Yt(_p.ComponentFactory),[Xe(t.type)]).instantiate([tn(t.selector),Ge(o),Ke(t.type)],Xe(Yt(_p.ComponentFactory),[Xe(t.type)],[wh.Const]))).toDeclStmt(null,[cf.Final])),s},t.prototype._compileComponent=function(t,e,n,r,i,o){var s=this,a=this._animationParser.parseComponent(t),u=n.map(function(t){
-return s._metadataResolver.getDirectiveSummary(t.reference)}),c=e.transitiveModule.pipes.map(function(t){return s._metadataResolver.getPipeSummary(t.reference)}),p=this._templateParser.parse(t,t.template.template,u,c,e.schemas,b(t.type)),l=r?Ge(r.stylesVar):Ye([]),h=this._animationCompiler.compile(b(t.type),a),f=this._viewCompiler.compileComponent(t,p,l,c,h);return r&&o.push.apply(o,ai(this._symbolResolver,r,i)),h.forEach(function(t){return o.push.apply(o,t.statements)}),o.push.apply(o,si(this._symbolResolver,f)),f.viewClassVar},t.prototype._codgenStyles=function(t,e,n){return ai(this._symbolResolver,e,n),this._codegenSourceModule(t,pi(e.meta.moduleUrl,e.isShimmed,n),e.statements,[e.stylesVar])},t.prototype._codegenSourceModule=function(t,e,n,r){return new Nm(t,e,this._outputEmitter.emitStatements(e,n,r))},t}(),Fm=function(){function t(t){this.staticDelegate=t,this.dynamicDelegate=new Ao}return t.install=function(e){Po.updateCapabilities(new t(e))},t.prototype.isReflectionEnabled=function(){return!0},t.prototype.factory=function(t){return this.dynamicDelegate.factory(t)},t.prototype.hasLifecycleHook=function(t,e){return gi(t)?this.staticDelegate.hasLifecycleHook(t,e):this.dynamicDelegate.hasLifecycleHook(t,e)},t.prototype.parameters=function(t){return gi(t)?this.staticDelegate.parameters(t):this.dynamicDelegate.parameters(t)},t.prototype.annotations=function(t){return gi(t)?this.staticDelegate.annotations(t):this.dynamicDelegate.annotations(t)},t.prototype.propMetadata=function(t){return gi(t)?this.staticDelegate.propMetadata(t):this.dynamicDelegate.propMetadata(t)},t.prototype.getter=function(t){return this.dynamicDelegate.getter(t)},t.prototype.setter=function(t){return this.dynamicDelegate.setter(t)},t.prototype.method=function(t){return this.dynamicDelegate.method(t)},t.prototype.importUri=function(t){return this.staticDelegate.importUri(t)},t.prototype.resolveIdentifier=function(t,e){return this.staticDelegate.resolveIdentifier(t,e)},t.prototype.resolveEnum=function(t,e){return gi(t)?this.staticDelegate.resolveEnum(t,e):null},t}(),Um=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Bm={coreDecorators:"@angular/core/src/metadata",diDecorators:"@angular/core/src/di/metadata",diMetadata:"@angular/core/src/di/metadata",diOpaqueToken:"@angular/core/src/di/opaque_token",animationMetadata:"@angular/core/src/animation/metadata",provider:"@angular/core/src/di/provider"},Hm=/^\$.*\$$/,qm=function(){function t(t,e,n,r){var i=this;void 0===e&&(e=[]),void 0===n&&(n=[]),this.symbolResolver=t,this.errorRecorder=r,this.annotationCache=new Map,this.propertyCache=new Map,this.parameterCache=new Map,this.methodCache=new Map,this.conversionMap=new Map,this.initializeConversionMap(),e.forEach(function(t){return i._registerDecoratorOrConstructor(i.getStaticSymbol(t.filePath,t.name),t.ctor)}),n.forEach(function(t){return i._registerFunction(i.getStaticSymbol(t.filePath,t.name),t.fn)})}return t.prototype.importUri=function(t){var e=this.findSymbolDeclaration(t);return e?e.filePath:null},t.prototype.resolveIdentifier=function(t,e){return this.findDeclaration(e,t)},t.prototype.findDeclaration=function(t,e,n){return this.findSymbolDeclaration(this.symbolResolver.getSymbolByModule(t,e,n))},t.prototype.findSymbolDeclaration=function(t){var e=this.symbolResolver.resolveSymbol(t);return e&&e.metadata instanceof Ji?this.findSymbolDeclaration(e.metadata):t},t.prototype.resolveEnum=function(t,e){var n=t;return this.getStaticSymbol(n.filePath,n.name,[e])},t.prototype.annotations=function(t){var e=this.annotationCache.get(t);if(!e){e=[];var n=this.getTypeMetadata(t);if(n["extends"]){var r=this.annotations(this.simplify(t,n["extends"]));e.push.apply(e,r)}if(n.decorators){var i=this.simplify(t,n.decorators);e.push.apply(e,i)}this.annotationCache.set(t,e.filter(function(t){return!!t}))}return e},t.prototype.propMetadata=function(t){var e=this,n=this.propertyCache.get(t);if(!n){var r=this.getTypeMetadata(t);if(n={},r["extends"]){var i=this.propMetadata(this.simplify(t,r["extends"]));Object.keys(i).forEach(function(t){n[t]=i[t]})}var o=r.members||{};Object.keys(o).forEach(function(r){var i=o[r],s=i.find(function(t){return"property"==t.__symbolic||"method"==t.__symbolic}),a=[];n[r]&&a.push.apply(a,n[r]),n[r]=a,s&&s.decorators&&a.push.apply(a,e.simplify(t,s.decorators))}),this.propertyCache.set(t,n)}return n},t.prototype.parameters=function(t){if(!(t instanceof Ji))return this.reportError(new Error("parameters received "+JSON.stringify(t)+" which is not a StaticSymbol"),t),[];try{var e=this.parameterCache.get(t);if(!e){var n=this.getTypeMetadata(t),r=n?n.members:null,i=r?r.__ctor__:null;if(i){var o=i.find(function(t){return"constructor"==t.__symbolic}),s=this.simplify(t,o.parameters||[]),a=this.simplify(t,o.parameterDecorators||[]);e=[],s.forEach(function(t,n){var r=[];t&&r.push(t);var i=a?a[n]:null;i&&r.push.apply(r,i),e.push(r)})}else n["extends"]&&(e=this.parameters(this.simplify(t,n["extends"])));e||(e=[]),this.parameterCache.set(t,e)}return e}catch(u){throw console.error("Failed on type "+JSON.stringify(t)+" with error "+u),u}},t.prototype._methodNames=function(t){var e=this.methodCache.get(t);if(!e){var n=this.getTypeMetadata(t);if(e={},n["extends"]){var r=this._methodNames(this.simplify(t,n["extends"]));Object.keys(r).forEach(function(t){e[t]=r[t]})}var i=n.members||{};Object.keys(i).forEach(function(t){var n=i[t],r=n.some(function(t){return"method"==t.__symbolic});e[t]=e[t]||r}),this.methodCache.set(t,e)}return e},t.prototype.hasLifecycleHook=function(t,e){t instanceof Ji||this.reportError(new Error("hasLifecycleHook received "+JSON.stringify(t)+" which is not a StaticSymbol"),t);try{return!!this._methodNames(t)[e]}catch(n){throw console.error("Failed on type "+JSON.stringify(t)+" with error "+n),n}},t.prototype._registerDecoratorOrConstructor=function(t,e){this.conversionMap.set(t,function(t,n){return new(e.bind.apply(e,[void 0].concat(n)))})},t.prototype._registerFunction=function(t,e){this.conversionMap.set(t,function(t,n){return e.apply(void 0,n)})},t.prototype.initializeConversionMap=function(){{var t=Bm.coreDecorators,n=Bm.diDecorators,r=Bm.diMetadata,i=Bm.diOpaqueToken,o=Bm.animationMetadata;Bm.provider}this.opaqueToken=this.findDeclaration(i,"OpaqueToken"),this._registerDecoratorOrConstructor(this.findDeclaration(n,"Host"),e.Host),this._registerDecoratorOrConstructor(this.findDeclaration(n,"Injectable"),e.Injectable),this._registerDecoratorOrConstructor(this.findDeclaration(n,"Self"),e.Self),this._registerDecoratorOrConstructor(this.findDeclaration(n,"SkipSelf"),e.SkipSelf),this._registerDecoratorOrConstructor(this.findDeclaration(n,"Inject"),e.Inject),this._registerDecoratorOrConstructor(this.findDeclaration(n,"Optional"),e.Optional),this._registerDecoratorOrConstructor(this.findDeclaration(t,"Attribute"),e.Attribute),this._registerDecoratorOrConstructor(this.findDeclaration(t,"ContentChild"),e.ContentChild),this._registerDecoratorOrConstructor(this.findDeclaration(t,"ContentChildren"),e.ContentChildren),this._registerDecoratorOrConstructor(this.findDeclaration(t,"ViewChild"),e.ViewChild),this._registerDecoratorOrConstructor(this.findDeclaration(t,"ViewChildren"),e.ViewChildren),this._registerDecoratorOrConstructor(this.findDeclaration(t,"Input"),e.Input),this._registerDecoratorOrConstructor(this.findDeclaration(t,"Output"),e.Output),this._registerDecoratorOrConstructor(this.findDeclaration(t,"Pipe"),e.Pipe),this._registerDecoratorOrConstructor(this.findDeclaration(t,"HostBinding"),e.HostBinding),this._registerDecoratorOrConstructor(this.findDeclaration(t,"HostListener"),e.HostListener),this._registerDecoratorOrConstructor(this.findDeclaration(t,"Directive"),e.Directive),this._registerDecoratorOrConstructor(this.findDeclaration(t,"Component"),e.Component),this._registerDecoratorOrConstructor(this.findDeclaration(t,"NgModule"),e.NgModule),this._registerDecoratorOrConstructor(this.findDeclaration(r,"Host"),e.Host),this._registerDecoratorOrConstructor(this.findDeclaration(r,"Self"),e.Self),this._registerDecoratorOrConstructor(this.findDeclaration(r,"SkipSelf"),e.SkipSelf),this._registerDecoratorOrConstructor(this.findDeclaration(r,"Optional"),e.Optional),this._registerFunction(this.findDeclaration(o,"trigger"),e.trigger),this._registerFunction(this.findDeclaration(o,"state"),e.state),this._registerFunction(this.findDeclaration(o,"transition"),e.transition),this._registerFunction(this.findDeclaration(o,"style"),e.style),this._registerFunction(this.findDeclaration(o,"animate"),e.animate),this._registerFunction(this.findDeclaration(o,"keyframes"),e.keyframes),this._registerFunction(this.findDeclaration(o,"sequence"),e.sequence),this._registerFunction(this.findDeclaration(o,"group"),e.group)},t.prototype.getStaticSymbol=function(t,e,n){return this.symbolResolver.getStaticSymbol(t,e,n)},t.prototype.reportError=function(t,e,n){if(!this.errorRecorder)throw t;this.errorRecorder(t,e&&e.filePath||n)},t.prototype.simplify=function(t,e){function n(t,e,r){function a(t){var e=i.symbolResolver.resolveSymbol(t);return e?e.metadata:null}function u(e,i,a){if(i&&"function"==i.__symbolic){if(s.get(e))throw new Error("Recursion not supported");s.set(e,!0);try{var u=i.value;if(u&&(0!=r||"error"!=u.__symbolic)){var p=i.parameters,l=i.defaults;a=a.map(function(e){return n(t,e,r+1)}),l&&l.length>a.length&&a.push.apply(a,l.slice(a.length).map(function(t){return c(t)}));for(var h=zm.build(),f=0;f<p.length;f++)h.define(p[f],a[f]);var d,y=o;try{o=h.done(),d=n(e,u,r+1)}finally{o=y}return d}}finally{s["delete"](e)}}return 0===r?{__symbolic:"ignore"}:c({__symbolic:"error",message:"Function call not supported",context:e})}function c(e){if(Ei(e))return e;if(e instanceof Array){for(var s=[],p=0,l=e;p<l.length;p++){var h=l[p];if(h&&"spread"===h.__symbolic){var f=c(h.expression);if(Array.isArray(f)){for(var d=0,y=f;d<y.length;d++){var m=y[d];s.push(m)}continue}}var v=c(h);Si(v)||s.push(v)}return s}if(e instanceof Ji){if(e===i.opaqueToken||i.conversionMap.has(e))return e;var g=e,_=a(g);return _?n(g,_,r+1):g}if(e){if(e.__symbolic){var g=void 0;switch(e.__symbolic){case"binop":var b=c(e.left);if(Si(b))return b;var w=c(e.right);if(Si(w))return w;switch(e.operator){case"&&":return b&&w;case"||":return b||w;case"|":return b|w;case"^":return b^w;case"&":return b&w;case"==":return b==w;case"!=":return b!=w;case"===":return b===w;case"!==":return b!==w;case"<":return w>b;case">":return b>w;case"<=":return w>=b;case">=":return b>=w;case"<<":return b<<w;case">>":return b>>w;case"+":return b+w;case"-":return b-w;case"*":return b*w;case"/":return b/w;case"%":return b%w}return null;case"if":var E=c(e.condition);return c(E?e.thenExpression:e.elseExpression);case"pre":var S=c(e.operand);if(Si(S))return S;switch(e.operator){case"+":return S;case"-":return-S;case"!":return!S;case"~":return~S}return null;case"index":var C=c(e.expression),x=c(e.index);return C&&Ei(x)?C[x]:null;case"select":var T=e.member,P=t,O=c(e.expression);if(O instanceof Ji){var A=O.members.concat(T);P=i.getStaticSymbol(O.filePath,O.name,A);var _=a(P);return _?n(P,_,r+1):P}return O&&Ei(T)?n(P,O[T],r+1):null;case"reference":var M=e.name,R=o.resolve(M);if(R!=zm.missing)return R;break;case"class":return t;case"function":return t;case"new":case"call":if(g=n(t,e.expression,r+1),g instanceof Ji){if(g===i.opaqueToken)return t;var k=e.arguments||[],N=i.conversionMap.get(g);if(N){var I=k.map(function(e){return n(t,e,r+1)});return N(t,I)}var D=a(g);return u(g,D,k)}break;case"error":var j=bi(e);if(e.line)throw j=j+" (position "+(e.line+1)+":"+(e.character+1)+" in the original .ts file)",Ci(j,t.filePath,e.line,e.character);throw new Error(j)}return null}return wi(e,function(t){return c(t)})}return null}try{return c(e)}catch(p){var l=t.members.length?"."+t.members.join("."):"",h=p.message+", resolving symbol "+t.name+l+" in "+t.filePath;if(p.fileName)throw Ci(h,p.fileName,p.line,p.column);throw new cs(h)}}var r=this,i=this,o=zm.empty,s=new Map,a=function(t,e,i){try{return n(t,e,i)}catch(o){r.reportError(o,t)}},u=this.errorRecorder?a(t,e,0):n(t,e,0);return Si(u)?void 0:u},t.prototype.getTypeMetadata=function(t){var e=this.symbolResolver.resolveSymbol(t);return e&&e.metadata?e.metadata:{__symbolic:"class"}},t}(),zm=function(){function t(){}return t.prototype.resolve=function(){},t.build=function(){var e=new Map;return{define:function(t,n){return e.set(t,n),this},done:function(){return e.size>0?new Wm(e):t.empty}}},t.missing={},t.empty={resolve:function(){return t.missing}},t}(),Wm=function(t){function e(e){t.call(this),this.bindings=e}return Um(e,t),e.prototype.resolve=function(t){return this.bindings.has(t)?this.bindings.get(t):zm.missing},e}(zm),Gm=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Km=function(){function t(t,e){this.symbol=t,this.metadata=e}return t}(),Xm=3,Qm=function(){function t(t,e,n,r){this.host=t,this.staticSymbolCache=e,this.summaryResolver=n,this.errorRecorder=r,this.metadataCache=new Map,this.resolvedSymbols=new Map,this.resolvedFilePaths=new Set}return t.prototype.resolveSymbol=function(t){if(t.members.length>0)return this._resolveSymbolMembers(t);var e=this._resolveSymbolFromSummary(t);return e||(this._createSymbolsOf(t.filePath),e=this.resolvedSymbols.get(t)),e},t.prototype._resolveSymbolMembers=function(t){var e=t.members,n=this.resolveSymbol(this.getStaticSymbol(t.filePath,t.name));if(!n)return null;var r=n.metadata;if(r instanceof Ji)return new Km(t,this.getStaticSymbol(r.filePath,r.name,e));if(!r||"class"!==r.__symbolic){for(var i=r,o=0;o<e.length&&i;o++)i=i[e[o]];return new Km(t,i)}return r.statics&&1===e.length?new Km(t,r.statics[e[0]]):null},t.prototype._resolveSymbolFromSummary=function(t){var e=this.summaryResolver.resolveSummary(t);return e?new Km(t,e.metadata):null},t.prototype.getStaticSymbol=function(t,e,n){return this.staticSymbolCache.get(t,e,n)},t.prototype.getSymbolsOf=function(t){var e=new Set(this.summaryResolver.getSymbolsOf(t));return this._createSymbolsOf(t),this.resolvedSymbols.forEach(function(n){n.symbol.filePath===t&&e.add(n.symbol)}),Array.from(e)},t.prototype._createSymbolsOf=function(t){var e=this;if(!this.resolvedFilePaths.has(t)){this.resolvedFilePaths.add(t);var n=[],r=this.getModuleMetadata(t);if(r.metadata&&Object.keys(r.metadata).forEach(function(i){var o=r.metadata[i];n.push(e.createResolvedSymbol(e.getStaticSymbol(t,i),o))}),r.exports)for(var i=function(r){if(r["export"])r["export"].forEach(function(i){var o;o="string"==typeof i?i:i.as;var s=o;"string"!=typeof i&&(s=i.name);var a=e.resolveModule(r.from,t);if(a){var u=e.getStaticSymbol(a,s),c=e.getStaticSymbol(t,o);n.push(new Km(c,u))}});else{var i=o.resolveModule(r.from,t);if(i){var s=o.getSymbolsOf(i);s.forEach(function(r){var i=e.getStaticSymbol(t,r.name);n.push(new Km(i,r))})}}},o=this,s=0,a=r.exports;s<a.length;s++){var u=a[s];i(u)}n.forEach(function(t){return e.resolvedSymbols.set(t.symbol,t)})}},t.prototype.createResolvedSymbol=function(t,e){var n=this,r=function(e){function r(){e.apply(this,arguments)}return Gm(r,e),r.prototype.visitStringMap=function(r,i){var o=r.__symbolic;if("function"===o){var s=i.length;i.push.apply(i,r.parameters||[]);var a=e.prototype.visitStringMap.call(this,r,i);return i.length=s,a}if("reference"===o){var u=r.module,c=r.name;if(!c)return null;var p=void 0;if(u){if(p=n.resolveModule(u,t.filePath),!p)return{__symbolic:"error",message:"Could not resolve "+u+" relative to "+t.filePath+"."}}else{var l=i.indexOf(c)>=0;l||(p=t.filePath)}return p?n.getStaticSymbol(p,c):{__symbolic:"reference",name:c}}return e.prototype.visitStringMap.call(this,r,i)},r}(as),i=g(e,new r,[]);return new Km(t,i)},t.prototype.reportError=function(t,e,n){if(!this.errorRecorder)throw t;this.errorRecorder(t,e&&e.filePath||n)},t.prototype.getModuleMetadata=function(t){var e=this.metadataCache.get(t);if(!e){var n=this.host.getMetadataFor(t);if(n){var r=-1;n.forEach(function(t){t.version>r&&(r=t.version,e=t)})}if(e||(e={__symbolic:"module",version:Xm,module:t,metadata:{}}),e.version!=Xm){var i=2==e.version?"Unsupported metadata version "+e.version+" for module "+t+". This module should be compiled with a newer version of ngc":"Metadata version mismatch for module "+t+", found version "+e.version+", expected "+Xm;this.reportError(new Error(i),null)}this.metadataCache.set(t,e)}return e},t.prototype.getSymbolByModule=function(t,e,n){var r=this.resolveModule(t,n);return r?this.getStaticSymbol(r,e):(this.reportError(new Error("Could not resolve module "+t+(n?" relative to $ {\n            containingFile\n          } ":"")),null),this.getStaticSymbol("ERROR:"+t,e))},t.prototype.resolveModule=function(t,e){try{return this.host.moduleNameToFileName(t,e)}catch(n){console.error("Could not resolve module '"+t+"' relative to file "+e),this.reportError(new n,null,e)}},t}(),Ym=function(){function t(t,e){this.host=t,this.staticSymbolCache=e,this.summaryCache=new Map,this.loadedFilePaths=new Set}return t.prototype._assertNoMembers=function(t){if(t.members.length)throw new Error("Internal state: StaticSymbols in summaries can't have members! "+JSON.stringify(t))},t.prototype.resolveSummary=function(t){this._assertNoMembers(t);var e=this.summaryCache.get(t);return e||(this._loadSummaryFile(t.filePath),e=this.summaryCache.get(t)),e},t.prototype.getSymbolsOf=function(t){return this._loadSummaryFile(t),Array.from(this.summaryCache.keys()).filter(function(e){return e.filePath===t})},t.prototype._loadSummaryFile=function(t){var e=this;if(!this.loadedFilePaths.has(t)&&(this.loadedFilePaths.add(t),!this.host.isSourceFile(t))){var n=oi(t),r=void 0;try{r=this.host.loadSummary(n)}catch(i){throw console.error("Error loading summary file "+n),i}if(r){var o=ii(this.staticSymbolCache,r);o.forEach(function(t){e.summaryCache.set(t.symbol,t)})}}},t}(),$m=function(){function t(t,e,n,r){this.parent=t,this.instance=e,this.className=n,this.vars=r}return t.prototype.createChildWihtLocalVars=function(){return new t(this,this.instance,this.className,new Map)},t}(),Zm=function(){function t(t){this.value=t}return t}(),Jm=function(){function t(){}return t.prototype.debugAst=function(t){return Yn(t)},t.prototype.visitDeclareVarStmt=function(t,e){return e.vars.set(t.name,t.value.visitExpression(this,e)),null},t.prototype.visitWriteVarExpr=function(t,e){for(var n=t.value.visitExpression(this,e),r=e;null!=r;){if(r.vars.has(t.name))return r.vars.set(t.name,n),n;r=r.parent}throw new Error("Not declared variable "+t.name)},t.prototype.visitReadVarExpr=function(t,e){var n=t.name;if(r(t.builtin))switch(t.builtin){case jh.Super:return e.instance.__proto__;case jh.This:return e.instance;case jh.CatchError:n=tv;break;case jh.CatchStack:n=ev;break;default:throw new Error("Unknown builtin variable "+t.builtin)}for(var i=e;null!=i;){if(i.vars.has(n))return i.vars.get(n);i=i.parent}throw new Error("Not declared variable "+n)},t.prototype.visitWriteKeyExpr=function(t,e){var n=t.receiver.visitExpression(this,e),r=t.index.visitExpression(this,e),i=t.value.visitExpression(this,e);return n[r]=i,i},t.prototype.visitWritePropExpr=function(t,e){var n=t.receiver.visitExpression(this,e),r=t.value.visitExpression(this,e);return n[t.name]=r,r},t.prototype.visitInvokeMethodExpr=function(t,e){var n,i=t.receiver.visitExpression(this,e),o=this.visitAllExpressions(t.args,e);if(r(t.builtin))switch(t.builtin){case Bh.ConcatArray:n=i.concat.apply(i,o);break;case Bh.SubscribeObservable:n=i.subscribe({next:o[0]});break;case Bh.Bind:n=i.bind.apply(i,o);break;default:throw new Error("Unknown builtin method "+t.builtin)}else n=i[t.name].apply(i,o);return n},t.prototype.visitInvokeFunctionExpr=function(t,e){var n=this.visitAllExpressions(t.args,e),r=t.fn;if(r instanceof Lh&&r.builtin===jh.Super)return e.instance.constructor.prototype.constructor.apply(e.instance,n),null;var i=t.fn.visitExpression(this,e);return i.apply(null,n)},t.prototype.visitReturnStmt=function(t,e){return new Zm(t.value.visitExpression(this,e))},t.prototype.visitDeclareClassStmt=function(t,e){var n=Oi(t,e,this);return e.vars.set(t.name,n),null},t.prototype.visitExpressionStmt=function(t,e){return t.expr.visitExpression(this,e)},t.prototype.visitIfStmt=function(t,e){var n=t.condition.visitExpression(this,e);return n?this.visitAllStatements(t.trueCase,e):r(t.falseCase)?this.visitAllStatements(t.falseCase,e):null},t.prototype.visitTryCatchStmt=function(t,e){try{return this.visitAllStatements(t.bodyStmts,e)}catch(n){var r=e.createChildWihtLocalVars();return r.vars.set(tv,n),r.vars.set(ev,n.stack),this.visitAllStatements(t.catchStmts,r)}},t.prototype.visitThrowStmt=function(t,e){throw t.error.visitExpression(this,e)},t.prototype.visitCommentStmt=function(){return null},t.prototype.visitInstantiateExpr=function(t,e){var n=this.visitAllExpressions(t.args,e),r=t.classExpr.visitExpression(this,e);return new(r.bind.apply(r,[void 0].concat(n)))},t.prototype.visitLiteralExpr=function(t){return t.value},t.prototype.visitExternalExpr=function(t){return t.value.reference},t.prototype.visitConditionalExpr=function(t,e){return t.condition.visitExpression(this,e)?t.trueCase.visitExpression(this,e):r(t.falseCase)?t.falseCase.visitExpression(this,e):null},t.prototype.visitNotExpr=function(t,e){return!t.condition.visitExpression(this,e)},t.prototype.visitCastExpr=function(t,e){return t.value.visitExpression(this,e)},t.prototype.visitFunctionExpr=function(t,e){var n=t.params.map(function(t){return t.name});return Ai(n,t.statements,e,this)},t.prototype.visitDeclareFunctionStmt=function(t,e){var n=t.params.map(function(t){return t.name});return e.vars.set(t.name,Ai(n,t.statements,e,this)),null},t.prototype.visitBinaryOperatorExpr=function(t,e){var n=this,r=function(){return t.lhs.visitExpression(n,e)},i=function(){return t.rhs.visitExpression(n,e)};switch(t.operator){case Ih.Equals:return r()==i();case Ih.Identical:return r()===i();case Ih.NotEquals:return r()!=i();case Ih.NotIdentical:return r()!==i();case Ih.And:return r()&&i();case Ih.Or:return r()||i();case Ih.Plus:return r()+i();case Ih.Minus:return r()-i();case Ih.Divide:return r()/i();case Ih.Multiply:return r()*i();case Ih.Modulo:return r()%i();case Ih.Lower:return r()<i();case Ih.LowerEquals:return r()<=i();case Ih.Bigger:return r()>i();case Ih.BiggerEquals:return r()>=i();default:throw new Error("Unknown operator "+t.operator)}},t.prototype.visitReadPropExpr=function(t,e){var n,r=t.receiver.visitExpression(this,e);return n=r[t.name]},t.prototype.visitReadKeyExpr=function(t,e){var n=t.receiver.visitExpression(this,e),r=t.index.visitExpression(this,e);return n[r]},t.prototype.visitLiteralArrayExpr=function(t,e){return this.visitAllExpressions(t.entries,e)},t.prototype.visitLiteralMapExpr=function(t,e){var n=this,r={};return t.entries.forEach(function(t){return r[t.key]=t.value.visitExpression(n,e)}),r},t.prototype.visitAllExpressions=function(t,e){var n=this;return t.map(function(t){return t.visitExpression(n,e)})},t.prototype.visitAllStatements=function(t,e){for(var n=0;n<t.length;n++){var r=t[n],i=r.visitStatement(this,e);if(i instanceof Zm)return i}return null},t}(),tv="error",ev="stack",nv=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},rv=function(t){function e(){t.call(this,!1)}return nv(e,t),e.prototype.visitDeclareClassStmt=function(t,e){var n=this;return e.pushClass(t),this._visitClassConstructor(t,e),r(t.parent)&&(e.print(t.name+".prototype = Object.create("),t.parent.visitExpression(this,e),e.println(".prototype);")),t.getters.forEach(function(r){return n._visitClassGetter(t,r,e)}),t.methods.forEach(function(r){return n._visitClassMethod(t,r,e)}),e.popClass(),null},e.prototype._visitClassConstructor=function(t,e){e.print("function "+t.name+"("),r(t.constructorMethod)&&this._visitParams(t.constructorMethod.params,e),e.println(") {"),e.incIndent(),r(t.constructorMethod)&&t.constructorMethod.body.length>0&&(e.println("var self = this;"),this.visitAllStatements(t.constructorMethod.body,e)),e.decIndent(),e.println("}")},e.prototype._visitClassGetter=function(t,e,n){n.println("Object.defineProperty("+t.name+".prototype, '"+e.name+"', { get: function() {"),n.incIndent(),e.body.length>0&&(n.println("var self = this;"),this.visitAllStatements(e.body,n)),n.decIndent(),n.println("}});")},e.prototype._visitClassMethod=function(t,e,n){n.print(t.name+".prototype."+e.name+" = function("),this._visitParams(e.params,n),n.println(") {"),n.incIndent(),e.body.length>0&&(n.println("var self = this;"),this.visitAllStatements(e.body,n)),n.decIndent(),n.println("};")},e.prototype.visitReadVarExpr=function(e,n){if(e.builtin===jh.This)n.print("self");else{if(e.builtin===jh.Super)throw new Error("'super' needs to be handled at a parent ast node, not at the variable level!");t.prototype.visitReadVarExpr.call(this,e,n)}return null},e.prototype.visitDeclareVarStmt=function(t,e){return e.print("var "+t.name+" = "),t.value.visitExpression(this,e),e.println(";"),null},e.prototype.visitCastExpr=function(t,e){return t.value.visitExpression(this,e),null},e.prototype.visitInvokeFunctionExpr=function(e,n){var r=e.fn;return r instanceof Lh&&r.builtin===jh.Super?(n.currentClass.parent.visitExpression(this,n),n.print(".call(this"),e.args.length>0&&(n.print(", "),this.visitAllExpressions(e.args,n,",")),n.print(")")):t.prototype.visitInvokeFunctionExpr.call(this,e,n),null},e.prototype.visitFunctionExpr=function(t,e){return e.print("function("),this._visitParams(t.params,e),e.println(") {"),e.incIndent(),this.visitAllStatements(t.statements,e),e.decIndent(),e.print("}"),null},e.prototype.visitDeclareFunctionStmt=function(t,e){return e.print("function "+t.name+"("),this._visitParams(t.params,e),e.println(") {"),e.incIndent(),this.visitAllStatements(t.statements,e),e.decIndent(),e.println("}"),null},e.prototype.visitTryCatchStmt=function(t,e){e.println("try {"),e.incIndent(),this.visitAllStatements(t.bodyStmts,e),e.decIndent(),e.println("} catch ("+Pd.name+") {"),e.incIndent();var n=[Od.set(Pd.prop("stack")).toDeclStmt(null,[cf.Final])].concat(t.catchStmts);return this.visitAllStatements(n,e),e.decIndent(),e.println("}"),null},e.prototype._visitParams=function(t,e){this.visitAllObjects(function(t){return e.print(t.name)},t,e,",")},e.prototype.getBuiltinMethodName=function(t){var e;switch(t){case Bh.ConcatArray:e="concat";break;case Bh.SubscribeObservable:e="subscribe";break;case Bh.Bind:e="bind";break;default:throw new Error("Unknown builtin method: "+t)}return e},e}(Rd),iv=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},ov=function(t){function e(){t.apply(this,arguments),this._evalArgNames=[],this._evalArgValues=[]}return iv(e,t),e.prototype.getArgs=function(){for(var t={},e=0;e<this._evalArgNames.length;e++)t[this._evalArgNames[e]]=this._evalArgValues[e];return t},e.prototype.visitExternalExpr=function(t,e){var n=t.value.reference,r=this._evalArgValues.indexOf(n);if(-1===r){r=this._evalArgValues.length,this._evalArgValues.push(n);var i=b(t.value)||"val";this._evalArgNames.push("jit_"+i+r)}return e.print(this._evalArgNames[r]),null},e}(rv),sv=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},av=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},uv=function(){function t(t,e,n,r,i,o,s,a,u){this._injector=t,this._metadataResolver=e,this._templateParser=n,this._styleCompiler=r,this._viewCompiler=i,this._ngModuleCompiler=o,this._directiveWrapperCompiler=s,this._compilerConfig=a,this._animationParser=u,this._compiledTemplateCache=new Map,this._compiledHostTemplateCache=new Map,this._compiledDirectiveWrapperCache=new Map,this._compiledNgModuleCache=new Map,this._animationCompiler=new dm}return Object.defineProperty(t.prototype,"injector",{get:function(){return this._injector},enumerable:!0,configurable:!0}),t.prototype.compileModuleSync=function(t){return this._compileModuleAndComponents(t,!0).syncResult},t.prototype.compileModuleAsync=function(t){return this._compileModuleAndComponents(t,!1).asyncResult},t.prototype.compileModuleAndAllComponentsSync=function(t){return this._compileModuleAndAllComponents(t,!0).syncResult},t.prototype.compileModuleAndAllComponentsAsync=function(t){return this._compileModuleAndAllComponents(t,!1).asyncResult},t.prototype.getNgContentSelectors=function(t){var e=this._compiledTemplateCache.get(t);if(!e)throw new Error("The component "+s(t)+" is not yet compiled!");return e.compMeta.template.ngContentSelectors},t.prototype._compileModuleAndComponents=function(t,e){var n=this,r=this._loadModules(t,e),i=function(){return n._compileComponents(t,null),n._compileModule(t)};return e?new us(i()):new us(null,r.then(i))},t.prototype._compileModuleAndAllComponents=function(t,n){var r=this,i=this._loadModules(t,n),o=function(){var n=[];return r._compileComponents(t,n),new e.ModuleWithComponentFactories(r._compileModule(t),n)};return n?new us(o()):new us(null,i.then(o))},t.prototype._loadModules=function(t,e){var n=this,r=[],i=this._metadataResolver.getNgModuleMetadata(t);return i.transitiveModule.modules.forEach(function(t){r.push(n._metadataResolver.loadNgModuleDirectiveAndPipeMetadata(t.reference,e))}),Promise.all(r)},t.prototype._compileModule=function(t){var n=this,r=this._compiledNgModuleCache.get(t);if(!r){var i=this._metadataResolver.getNgModuleMetadata(t),o=[this._metadataResolver.getProviderMetadata(new Rs(e.Compiler,{useFactory:function(){return new pv(n,i.type.reference)}}))],s=this._ngModuleCompiler.compile(i,o);s.dependencies.forEach(function(t){t.placeholder.reference=n._assertComponentKnown(t.comp.reference,!0).proxyComponentFactory}),r=this._compilerConfig.useJit?Ri("/"+b(i.type)+"/module.ngfactory.js",s.statements,s.ngModuleFactoryVar):Ti(s.statements,s.ngModuleFactoryVar),this._compiledNgModuleCache.set(i.type.reference,r)}return r},t.prototype._compileComponents=function(t,e){var n=this,r=this._metadataResolver.getNgModuleMetadata(t),i=new Map,o=new Set;r.transitiveModule.modules.forEach(function(t){var r=n._metadataResolver.getNgModuleMetadata(t.reference);r.declaredDirectives.forEach(function(t){i.set(t.reference,r);var s=n._metadataResolver.getDirectiveMetadata(t.reference);if(n._compileDirectiveWrapper(s,r),s.isComponent&&(o.add(n._createCompiledTemplate(s,r)),e)){var a=n._createCompiledHostTemplate(s.type.reference,r);o.add(a),e.push(a.proxyComponentFactory)}})}),r.transitiveModule.modules.forEach(function(t){var e=n._metadataResolver.getNgModuleMetadata(t.reference);e.declaredDirectives.forEach(function(t){var e=n._metadataResolver.getDirectiveMetadata(t.reference);e.isComponent&&e.entryComponents.forEach(function(t){var e=i.get(t.reference);o.add(n._createCompiledHostTemplate(t.reference,e))})}),e.entryComponents.forEach(function(t){var e=i.get(t.reference);o.add(n._createCompiledHostTemplate(t.reference,e))})}),o.forEach(function(t){return n._compileTemplate(t)})},t.prototype.clearCacheFor=function(t){this._compiledNgModuleCache["delete"](t),this._metadataResolver.clearCacheFor(t),this._compiledHostTemplateCache["delete"](t);var e=this._compiledTemplateCache.get(t);e&&this._compiledTemplateCache["delete"](t)},t.prototype.clearCache=function(){this._metadataResolver.clearCache(),this._compiledTemplateCache.clear(),this._compiledHostTemplateCache.clear(),
-this._compiledNgModuleCache.clear()},t.prototype._createCompiledHostTemplate=function(t,e){if(!e)throw new Error("Component "+s(t)+" is not part of any NgModule or the module has not been imported into your module.");var n=this._compiledHostTemplateCache.get(t);if(!n){var r=this._metadataResolver.getDirectiveMetadata(t);ki(r);var i=function(){};i.overriddenName=b(r.type)+"_Host";var o=C(i,r);n=new cv(!0,r.selector,r.type,o,e,[r.type]),this._compiledHostTemplateCache.set(t,n)}return n},t.prototype._createCompiledTemplate=function(t,e){var n=this._compiledTemplateCache.get(t.type.reference);return n||(ki(t),n=new cv(!1,t.selector,t.type,t,e,e.transitiveModule.directives),this._compiledTemplateCache.set(t.type.reference,n)),n},t.prototype._assertComponentKnown=function(t,e){var n=e?this._compiledHostTemplateCache.get(t):this._compiledTemplateCache.get(t);if(!n)throw new Error("Illegal state: Compiled view for component "+s(t)+" (host: "+e+") does not exist!");return n},t.prototype._assertDirectiveWrapper=function(t){var e=this._compiledDirectiveWrapperCache.get(t);if(!e)throw new Error("Illegal state: Directive wrapper for "+s(t)+" has not been compiled!");return e},t.prototype._compileDirectiveWrapper=function(t,e){var n,r=this._directiveWrapperCompiler.compile(t),i=r.statements;n=this._compilerConfig.useJit?Ri("/"+b(e.type)+"/"+b(t.type)+"/wrapper.ngfactory.js",i,r.dirWrapperClassVar):Ti(i,r.dirWrapperClassVar),this._compiledDirectiveWrapperCache.set(t.type.reference,n)},t.prototype._compileTemplate=function(t){var e=this;if(!t.isCompiled){var n=t.compMeta,r=new Map,i=this._styleCompiler.compileComponent(n);i.externalStylesheets.forEach(function(t){r.set(t.meta.moduleUrl,t)}),this._resolveStylesCompileResult(i.componentStylesheet,r);var o=this._animationParser.parseComponent(n),s=t.directives.map(function(t){return e._metadataResolver.getDirectiveSummary(t.reference)}),a=t.ngModule.transitiveModule.pipes.map(function(t){return e._metadataResolver.getPipeSummary(t.reference)}),u=this._templateParser.parse(n,n.template.template,s,a,t.ngModule.schemas,b(n.type)),c=this._animationCompiler.compile(b(n.type),o),p=this._viewCompiler.compileComponent(n,u,Ge(i.componentStylesheet.stylesVar),a,c);p.dependencies.forEach(function(t){var n;if(t instanceof qy){var r=t;n=e._assertComponentKnown(r.comp.reference,!1),r.placeholder.reference=n.proxyViewClass}else if(t instanceof zy){var i=t;n=e._assertComponentKnown(i.comp.reference,!0),i.placeholder.reference=n.proxyComponentFactory}else if(t instanceof Wy){var o=t;o.placeholder.reference=e._assertDirectiveWrapper(o.dir.reference)}});var l,h=(f=i.componentStylesheet.statements).concat.apply(f,c.map(function(t){return t.statements})).concat(p.statements);l=this._compilerConfig.useJit?Ri("/"+b(t.ngModule.type)+"/"+b(t.compType)+"/"+(t.isHost?"host":"component")+".ngfactory.js",h,p.viewClassVar):Ti(h,p.viewClassVar),t.compiled(l);var f}},t.prototype._resolveStylesCompileResult=function(t,e){var n=this;t.dependencies.forEach(function(t){var r=e.get(t.moduleUrl),i=n._resolveAndEvalStylesCompileResult(r,e);t.valuePlaceholder.reference=i})},t.prototype._resolveAndEvalStylesCompileResult=function(t,e){return this._resolveStylesCompileResult(t,e),this._compilerConfig.useJit?Ri("/"+t.meta.moduleUrl+".ngstyle.js",t.statements,t.stylesVar):Ti(t.statements,t.stylesVar)},t=sv([M(),av("design:paramtypes",[e.Injector,fd,xl,Oy,hm,wd,Yf,kl,ih])],t)}(),cv=function(){function t(t,n,r,i,o,a){this.isHost=t,this.compType=r,this.compMeta=i,this.ngModule=o,this.directives=a,this._viewClass=null,this.isCompiled=!1;var u=this;this.proxyViewClass=function(){if(!u._viewClass)throw new Error("Illegal state: CompiledTemplate for "+s(u.compType)+" is not compiled yet!");return u._viewClass.apply(this,arguments)},this.proxyComponentFactory=t?new e.ComponentFactory(n,this.proxyViewClass,r.reference):null}return t.prototype.compiled=function(t){this._viewClass=t,this.proxyViewClass.prototype=t.prototype,this.isCompiled=!0},t}(),pv=function(){function t(t,e){this._delegate=t,this._ngModule=e}return Object.defineProperty(t.prototype,"_injector",{get:function(){return this._delegate.injector},enumerable:!0,configurable:!0}),t.prototype.compileModuleSync=function(t){return this._delegate.compileModuleSync(t)},t.prototype.compileModuleAsync=function(t){return this._delegate.compileModuleAsync(t)},t.prototype.compileModuleAndAllComponentsSync=function(t){return this._delegate.compileModuleAndAllComponentsSync(t)},t.prototype.compileModuleAndAllComponentsAsync=function(t){return this._delegate.compileModuleAndAllComponentsAsync(t)},t.prototype.getNgContentSelectors=function(t){return this._delegate.getNgContentSelectors(t)},t.prototype.clearCache=function(){this._delegate.clearCache()},t.prototype.clearCacheFor=function(t){this._delegate.clearCacheFor(t)},t}(),lv=function(){function t(t,e,n){this._htmlParser=t,this._implicitTags=e,this._implicitAttrs=n,this._messages=[]}return t.prototype.updateFromTemplate=function(t,e,n){var r=this._htmlParser.parse(t,e,!0,n);if(r.errors.length)return r.errors;var i=lt(r.rootNodes,n,this._implicitTags,this._implicitAttrs);if(i.errors.length)return i.errors;(o=this._messages).push.apply(o,i.messages);var o},t.prototype.getMessages=function(){return this._messages},t.prototype.write=function(t){return t.write(this._messages)},t}(),hv=function(){function t(t,e,n,r){this.host=t,this.staticSymbolResolver=e,this.messageBundle=n,this.metadataResolver=r}return t.prototype.extract=function(t){var e=this,n=mi(this.staticSymbolResolver,t,this.host),r=di(n,this.host,this.metadataResolver),i=r.files,o=r.ngModules;return Promise.all(o.map(function(t){return e.metadataResolver.loadNgModuleDirectiveAndPipeMetadata(t.type.reference,!1)})).then(function(){var t=[];if(i.forEach(function(n){var r=[];n.directives.forEach(function(t){var n=e.metadataResolver.getDirectiveMetadata(t);n&&n.isComponent&&r.push(n)}),r.forEach(function(r){var i=r.template.template,o=Ia.fromArray(r.template.interpolation);t.push.apply(t,e.messageBundle.updateFromTemplate(i,n.srcUrl,o))})}),t.length)throw new Error(t.map(function(t){return t.toString()}).join("\n"));return e.messageBundle})},t.create=function(n){var r=new dp(new lp),i=je(),o=new to,s=new Ym(n,o),a=new Qm(n,o,s),u=new qm(a);Fm.install(u);var c=new kl({genDebugInfo:!1,defaultEncapsulation:e.ViewEncapsulation.Emulated,logBindingUpdate:!1,useJit:!1}),p=new yh({get:function(t){return n.loadResource(t)}},i,r,c),l=new Gd,h=new fd(new nd(u),new _h(u),new od(u),s,l,p,u),f=new lv(r,[],{}),d=new t(n,a,f,h);return{extractor:d,staticReflector:u}},t}(),fv=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},dv=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},yv={get:function(t){throw new Error("No ResourceLoader implementation has been provided. Can't read the url \""+t+'"')}},mv=new e.OpaqueToken("HtmlParser"),vv=[{provide:Oo,useValue:Po},{provide:co,useExisting:Oo},{provide:sh,useValue:yv},ud,To,fu,wu,{provide:mv,useClass:lp},{provide:dp,useFactory:function(t,e,n){return new dp(t,e,n)},deps:[mv,[new e.Optional,new e.Inject(e.TRANSLATIONS)],[new e.Optional,new e.Inject(e.TRANSLATIONS_FORMAT)]]},{provide:lp,useExisting:dp},xl,yh,fd,ch,Oy,hm,wd,Yf,{provide:kl,useValue:new kl},uv,{provide:e.Compiler,useExisting:uv},Gd,{provide:Mp,useExisting:Gd},ph,_h,od,nd,ih],gv=function(){function t(t){this._defaultOptions=[{useDebug:e.isDevMode(),useJit:!0,defaultEncapsulation:e.ViewEncapsulation.Emulated}].concat(t)}return t.prototype.createCompiler=function(t){void 0===t&&(t=[]);var n=Ii(this._defaultOptions.concat(t)),r=e.ReflectiveInjector.resolveAndCreate([vv,{provide:kl,useFactory:function(){return new kl({genDebugInfo:n.useDebug,useJit:n.useJit,defaultEncapsulation:n.defaultEncapsulation,logBindingUpdate:n.useDebug})},deps:[]},n.providers]);return r.get(e.Compiler)},t.ctorParameters=function(){return[{type:Array,decorators:[{type:e.Inject,args:[e.COMPILER_OPTIONS]}]}]},t=fv([M(),dv("design:paramtypes",[Array])],t)}(),_v=e.createPlatformFactory(e.platformCore,"coreDynamic",[{provide:e.COMPILER_OPTIONS,useValue:{},multi:!0},{provide:e.CompilerFactory,useClass:gv},{provide:e.PLATFORM_INITIALIZER,useValue:Ni,multi:!0}]),bv=function(){function t(){}return t.prototype.fileNameToModuleName=function(){},t}();t.VERSION=Li,t.TextAst=Vi,t.BoundTextAst=Fi,t.AttrAst=Ui,t.BoundElementPropertyAst=Bi,t.BoundEventAst=Hi,t.ReferenceAst=qi,t.VariableAst=zi,t.ElementAst=Wi,t.EmbeddedTemplateAst=Gi,t.BoundDirectivePropertyAst=Ki,t.DirectiveAst=Xi,t.ProviderAst=Qi,t.ProviderAstType=Yi,t.NgContentAst=$i,t.PropertyBindingType=Zi,t.templateVisitAll=n,t.TEMPLATE_TRANSFORMS=El,t.CompilerConfig=kl,t.RenderTypes=Nl,t.CompileAnimationEntryMetadata=hs,t.CompileAnimationStateMetadata=fs,t.CompileAnimationStateDeclarationMetadata=ds,t.CompileAnimationStateTransitionMetadata=ys,t.CompileAnimationMetadata=ms,t.CompileAnimationKeyframesSequenceMetadata=vs,t.CompileAnimationStyleMetadata=gs,t.CompileAnimationAnimateMetadata=_s,t.CompileAnimationWithStepsMetadata=bs,t.CompileAnimationSequenceMetadata=ws,t.CompileAnimationGroupMetadata=Es,t.identifierName=b,t.identifierModuleUrl=w,t.CompileSummaryKind=Cs,t.tokenName=E,t.tokenReference=S,t.CompileStylesheetMetadata=xs,t.CompileTemplateMetadata=Ts,t.CompileDirectiveMetadata=Ps,t.createHostComponentMeta=C,t.CompilePipeMetadata=Os,t.CompileNgModuleMetadata=As,t.TransitiveCompileNgModuleMetadata=Ms,t.ProviderMeta=Rs,t.createAotCompiler=xi,t.AotCompiler=Vm,t.analyzeNgModules=fi,t.analyzeAndValidateNgModules=di,t.extractProgramSymbols=mi,t.StaticReflector=qm,t.StaticAndDynamicReflectionCapabilities=Fm,t.StaticSymbol=Ji,t.StaticSymbolCache=to,t.ResolvedStaticSymbol=Km,t.StaticSymbolResolver=Qm,t.AotSummaryResolver=Ym,t.SummaryResolver=ud,t.JitCompiler=uv,t.COMPILER_PROVIDERS=vv,t.JitCompilerFactory=gv,t.platformCoreDynamic=_v,t.createUrlResolverWithoutPackagePrefix=De,t.createOfflineCompileUrlResolver=je,t.DEFAULT_PACKAGE_URL_PROVIDER=ch,t.UrlResolver=ph,t.getUrlScheme=Le,t.ResourceLoader=sh,t.DirectiveResolver=_h,t.PipeResolver=od,t.NgModuleResolver=nd,t.DEFAULT_INTERPOLATION_CONFIG=Da,t.InterpolationConfig=Ia,t.ElementSchemaRegistry=Mp,t.Extractor=hv,t.I18NHtmlParser=dp,t.MessageBundle=lv,t.Serializer=Sc,t.Xliff=Bc,t.Xmb=$c,t.Xtb=op,t.DirectiveNormalizer=yh,t.TokenType=lu,t.Lexer=fu,t.Token=du,t.EOF=yu,t.isIdentifier=B,t.isQuote=W,t.SplitInterpolation=_u,t.TemplateBindingParseResult=bu,t.Parser=wu,t._ParseAST=Eu,t.ERROR_COLLECTOR_TOKEN=hd,t.CompileMetadataResolver=fd,t.componentModuleUrl=zn,t.ParseTreeResult=Wu,t.TreeError=zu,t.HtmlParser=lp,t.NgModuleCompiler=wd,t.DirectiveWrapperCompiler=Yf,t.ImportResolver=bv,t.debugOutputAstAsTypeScript=Yn,t.TypeScriptEmitter=Id,t.ParseLocation=Cu,t.ParseSourceFile=xu,t.ParseSourceSpan=Tu,t.ParseErrorLevel=Pu,t.ParseError=Ou,t.DomElementSchemaRegistry=Gd,t.CssSelector=Zo,t.SelectorMatcher=Jo,t.SelectorListContext=ts,t.SelectorContext=es,t.StylesCompileDependency=xy,t.StylesCompileResult=Ty,t.CompiledStylesheet=Py,t.StyleCompiler=Oy,t.TemplateParseError=Sl,t.TemplateParseResult=Cl,t.TemplateParser=xl,t.splitClasses=me,t.createElementCssSelector=ve,t.removeSummaryDuplicates=_e,t.ViewCompiler=hm,t.AnimationParser=ih,t.SyntaxError=cs})},{"@angular/core":7}],7:[function(e,n,r){(function(i){!function(i,o){"object"==typeof r&&"undefined"!=typeof n?o(r,e("rxjs/symbol/observable"),e("rxjs/Subject"),e("rxjs/Observable")):"function"==typeof t&&t.amd?t(["exports","rxjs/symbol/observable","rxjs/Subject","rxjs/Observable"],o):o((i.ng=i.ng||{},i.ng.core=i.ng.core||{}),i.rxjs_symbol_observable,i.Rx,i.Rx)}(this,function(t,e,n){"use strict";function r(t){Zone.current.scheduleMicroTask("scheduleMicrotask",t)}function o(t){return t.name||typeof t}function s(t){return null!=t}function a(t){return null==t}function u(t){if("string"==typeof t)return t;if(null==t)return""+t;if(t.overriddenName)return""+t.overriddenName;if(t.name)return""+t.name;var e=t.toString(),n=e.indexOf("\n");return-1===n?e:e.substring(0,n)}function c(t,e){return t===e||"number"==typeof t&&"number"==typeof e&&isNaN(t)&&isNaN(e)}function p(t){return null!==t&&("function"==typeof t||"object"==typeof t)}function l(t){console.log(t)}function h(t){console.warn(t)}function f(){if(!fe)if(le.Symbol&&Symbol.iterator)fe=Symbol.iterator;else for(var t=Object.getOwnPropertyNames(Map.prototype),e=0;e<t.length;++e){var n=t[e];"entries"!==n&&"size"!==n&&Map.prototype[n]===Map.prototype.entries&&(fe=n)}return fe}function d(t){return!p(t)}function y(t){return"function"==typeof t&&t.hasOwnProperty("annotation")&&(t=t.annotation),t}function m(t,e){if(t===Object||t===String||t===Function||t===Number||t===Array)throw new Error("Can not use native "+u(t)+" as constructor");if("function"==typeof t)return t;if(Array.isArray(t)){var n=t,r=n.length-1,i=t[r];if("function"!=typeof i)throw new Error("Last position of Class method array must be Function in key "+e+" was '"+u(i)+"'");if(r!=i.length)throw new Error("Number of annotations ("+r+") does not match number of arguments ("+i.length+") in the function: "+u(i));for(var o=[],s=0,a=n.length-1;a>s;s++){var c=[];o.push(c);var p=n[s];if(Array.isArray(p))for(var l=0;l<p.length;l++)c.push(y(p[l]));else c.push("function"==typeof p?y(p):p)}return ye.defineMetadata("parameters",o,i),i}throw new Error("Only Function or Array is supported in Class definition for key '"+e+"' is '"+u(t)+"'")}function v(t){var e=m(t.hasOwnProperty("constructor")?t.constructor:void 0,"constructor"),n=e.prototype;if(t.hasOwnProperty("extends")){if("function"!=typeof t["extends"])throw new Error("Class definition 'extends' property must be a constructor function was: "+u(t["extends"]));e.prototype=n=Object.create(t["extends"].prototype)}for(var r in t)"extends"!==r&&"prototype"!==r&&t.hasOwnProperty(r)&&(n[r]=m(t[r],r));this&&this.annotations instanceof Array&&ye.defineMetadata("annotations",this.annotations,e);var i=e.name;return i&&"constructor"!==i||(e.overriddenName="class"+de++),e}function g(t,e,n,r){function i(t){if(!ye||!ye.getOwnMetadata)throw"reflect-metadata shim is required when using class decorators";if(this instanceof i)return o.call(this,t),this;var e=new i(t),n="function"==typeof this&&Array.isArray(this.annotations)?this.annotations:[];n.push(e);var s=function(t){var n=ye.getOwnMetadata("annotations",t)||[];return n.push(e),ye.defineMetadata("annotations",n,t),t};return s.annotations=n,s.Class=v,r&&r(s),s}void 0===r&&(r=null);var o=_([e]);return n&&(i.prototype=Object.create(n.prototype)),i.prototype.toString=function(){return"@"+t},i.annotationCls=i,i}function _(t){return function(){for(var e=this,n=[],r=0;r<arguments.length;r++)n[r-0]=arguments[r];t.forEach(function(t,r){var i=n[r];if(Array.isArray(t))e[t[0]]=void 0===i?t[1]:i;else for(var o in t)e[o]=i&&i.hasOwnProperty(o)?i[o]:t[o]})}}function b(t,e,n){function r(){function t(t,e,n){for(var r=ye.getOwnMetadata("parameters",t)||[];r.length<=n;)r.push(null);return r[n]=r[n]||[],r[n].push(o),ye.defineMetadata("parameters",r,t),t}for(var e=[],n=0;n<arguments.length;n++)e[n-0]=arguments[n];if(this instanceof r)return i.apply(this,e),this;var o=new((s=r).bind.apply(s,[void 0].concat(e)));return t.annotation=o,t;var s}var i=_(e);return n&&(r.prototype=Object.create(n.prototype)),r.prototype.toString=function(){return"@"+t},r.annotationCls=r,r}function w(t,e,n){function r(){for(var t=[],e=0;e<arguments.length;e++)t[e-0]=arguments[e];if(this instanceof r)return i.apply(this,t),this;var n=new((o=r).bind.apply(o,[void 0].concat(t)));return function(t,e){var r=ye.getOwnMetadata("propMetadata",t.constructor)||{};r[e]=r.hasOwnProperty(e)&&r[e]||[],r[e].unshift(n),ye.defineMetadata("propMetadata",r,t.constructor)};var o}var i=_(e);return n&&(r.prototype=Object.create(n.prototype)),r.prototype.toString=function(){return"@"+t},r.annotationCls=r,r}function E(t){return a(t)||t===Me.Default}function S(t){return t.__forward_ref__=S,t.toString=function(){return u(this())},t}function C(t){return"function"==typeof t&&t.hasOwnProperty("__forward_ref__")&&t.__forward_ref__===S?t():t}function x(t){for(var e=[],n=0;n<t.length;++n){if(e.indexOf(t[n])>-1)return e.push(t[n]),e;e.push(t[n])}return e}function T(t){if(t.length>1){var e=x(t.slice().reverse()),n=e.map(function(t){return u(t.token)});return" ("+n.join(" -> ")+")"}return""}function P(t){return"function"==typeof t}function O(t){return t?t.map(function(t){var e=t.type,n=e.annotationCls,r=t.args?t.args:[];return new(n.bind.apply(n,[void 0].concat(r)))}):[]}function A(t){var e=Object.getPrototypeOf(t.prototype),n=e?e.constructor:null;return n||Object}function M(t){var e,n;if(t.useClass){var r=C(t.useClass);e=On.factory(r),n=j(r)}else t.useExisting?(e=function(t){return t},n=[An.fromKey(_n.get(t.useExisting))]):t.useFactory?(e=t.useFactory,n=D(t.useFactory,t.deps)):(e=function(){return t.useValue},n=Mn);return new kn(e,n)}function R(t){return new Rn(_n.get(t.provide),[M(t)],t.multi)}function k(t){var e=I(t,[]),n=e.map(R),r=N(n,new Map);return Array.from(r.values())}function N(t,e){for(var n=0;n<t.length;n++){var r=t[n],i=e.get(r.key.id);if(i){if(r.multiProvider!==i.multiProvider)throw new gn(i,r);if(r.multiProvider)for(var o=0;o<r.resolvedFactories.length;o++)i.resolvedFactories.push(r.resolvedFactories[o]);else e.set(r.key.id,r)}else{var s=void 0;s=r.multiProvider?new Rn(r.key,r.resolvedFactories.slice(),r.multiProvider):r,e.set(r.key.id,s)}}return e}function I(t,e){return t.forEach(function(t){if(t instanceof En)e.push({provide:t,useClass:t});else if(t&&"object"==typeof t&&void 0!==t.provide)e.push(t);else{if(!(t instanceof Array))throw new yn(t);I(t,e)}}),e}function D(t,e){if(e){var n=e.map(function(t){return[t]});return e.map(function(e){return L(t,e,n)})}return j(t)}function j(t){var e=On.parameters(t);if(!e)return[];if(e.some(function(t){return null==t}))throw new mn(t,e);return e.map(function(n){return L(t,n,e)})}function L(t,e,n){var r=null,i=!1;if(!Array.isArray(e))return e instanceof me?V(e.token,i,null):V(e,i,null);for(var o=null,s=0;s<e.length;++s){var a=e[s];a instanceof En?r=a:a instanceof me?r=a.token:a instanceof ve?i=!0:(a instanceof _e||a instanceof be)&&(o=a)}if(r=C(r),null!=r)return V(r,i,o);throw new mn(t,n)}function V(t,e,n){return new An(_n.get(t),e,n)}function F(t,e){for(var n=new Array(t._providers.length),r=0;r<t._providers.length;++r)n[r]=e(t.getProviderAtIndex(r));return n}function U(t){return p(t)?Array.isArray(t)||!(t instanceof Map)&&f()in t:!1}function B(t,e,n){for(var r=t[f()](),i=e[f()]();;){var o=r.next(),s=i.next();if(o.done&&s.done)return!0;if(o.done||s.done)return!1;if(!n(o.value,s.value))return!1}}function H(t,e){if(Array.isArray(t))for(var n=0;n<t.length;n++)e(t[n]);else for(var r=t[f()](),i=void 0;!(i=r.next()).done;)e(i.value)}function q(t){return!!t&&"function"==typeof t.then}function z(t){return!(!t||!t[e.$$observable])}function W(){return""+G()+G()+G()}function G(){return String.fromCharCode(97+Math.floor(25*Math.random()))}function K(){throw new Error("Runtime compiler is not loaded")}function X(t,e,n){var r=t.previousIndex;if(null===r)return r;var i=0;return n&&r<n.length&&(i=n[r]),r+e+i}function Q(t,e){return U(t)&&U(e)?B(t,e,Q):U(t)||d(t)||U(e)||d(e)?c(t,e):!0}function Y(t,e,n,r,i){return new xr(""+Fr++,t,e,n,r,i)}function $(t,e){e.push(t)}function Z(t,e){for(var n="",r=0;2*t>r;r+=2)n=n+e[r]+tt(e[r+1]);return n+e[2*t]}function J(t,e,n,r,i,o,s,a,u,c,p,l,h,f,d,y,m,v,g,_){switch(t){case 1:return e+tt(n)+r;case 2:return e+tt(n)+r+tt(i)+o;case 3:return e+tt(n)+r+tt(i)+o+tt(s)+a;case 4:return e+tt(n)+r+tt(i)+o+tt(s)+a+tt(u)+c;case 5:return e+tt(n)+r+tt(i)+o+tt(s)+a+tt(u)+c+tt(p)+l;case 6:return e+tt(n)+r+tt(i)+o+tt(s)+a+tt(u)+c+tt(p)+l+tt(h)+f;case 7:return e+tt(n)+r+tt(i)+o+tt(s)+a+tt(u)+c+tt(p)+l+tt(h)+f+tt(d)+y;case 8:return e+tt(n)+r+tt(i)+o+tt(s)+a+tt(u)+c+tt(p)+l+tt(h)+f+tt(d)+y+tt(m)+v;case 9:return e+tt(n)+r+tt(i)+o+tt(s)+a+tt(u)+c+tt(p)+l+tt(h)+f+tt(d)+y+tt(m)+v+tt(g)+_;default:throw new Error("Does not support more than 9 expressions")}}function tt(t){return null!=t?t.toString():""}function et(t,e,n){if(t){if(!Q(e,n))throw new Dr(e,n);return!1}return!c(e,n)}function nt(t){return t}function rt(t){var e,n=mr;return function(r){return c(n,r)||(n=r,e=t(r)),e}}function it(t){var e,n=mr,r=mr;return function(i,o){return c(n,i)&&c(r,o)||(n=i,r=o,e=t(i,o)),e}}function ot(t){var e,n=mr,r=mr,i=mr;return function(o,s,a){return c(n,o)&&c(r,s)&&c(i,a)||(n=o,r=s,i=a,e=t(o,s,a)),e}}function st(t){var e,n,r,i,o;return n=r=i=o=mr,function(s,a,u,p){return c(n,s)&&c(r,a)&&c(i,u)&&c(o,p)||(n=s,r=a,i=u,o=p,e=t(s,a,u,p)),e}}function at(t){var e,n,r,i,o,s;return n=r=i=o=s=mr,function(a,u,p,l,h){return c(n,a)&&c(r,u)&&c(i,p)&&c(o,l)&&c(s,h)||(n=a,r=u,i=p,o=l,s=h,e=t(a,u,p,l,h)),e}}function ut(t){var e,n,r,i,o,s,a;return n=r=i=o=s=a=mr,function(u,p,l,h,f,d){return c(n,u)&&c(r,p)&&c(i,l)&&c(o,h)&&c(s,f)&&c(a,d)||(n=u,r=p,i=l,o=h,s=f,a=d,e=t(u,p,l,h,f,d)),e}}function ct(t){var e,n,r,i,o,s,a,u;return n=r=i=o=s=a=u=mr,function(p,l,h,f,d,y,m){return c(n,p)&&c(r,l)&&c(i,h)&&c(o,f)&&c(s,d)&&c(a,y)&&c(u,m)||(n=p,r=l,i=h,o=f,s=d,a=y,u=m,e=t(p,l,h,f,d,y,m)),e}}function pt(t){var e,n,r,i,o,s,a,u,p;return n=r=i=o=s=a=u=p=mr,function(l,h,f,d,y,m,v,g){return c(n,l)&&c(r,h)&&c(i,f)&&c(o,d)&&c(s,y)&&c(a,m)&&c(u,v)&&c(p,g)||(n=l,r=h,i=f,o=d,s=y,a=m,u=v,p=g,e=t(l,h,f,d,y,m,v,g)),e}}function lt(t){var e,n,r,i,o,s,a,u,p,l;return n=r=i=o=s=a=u=p=l=mr,function(h,f,d,y,m,v,g,_,b){return c(n,h)&&c(r,f)&&c(i,d)&&c(o,y)&&c(s,m)&&c(a,v)&&c(u,g)&&c(p,_)&&c(l,b)||(n=h,r=f,i=d,o=y,s=m,a=v,u=g,p=_,l=b,e=t(h,f,d,y,m,v,g,_,b)),e}}function ht(t){var e,n,r,i,o,s,a,u,p,l,h;return n=r=i=o=s=a=u=p=l=h=mr,function(f,d,y,m,v,g,_,b,w,E){return c(n,f)&&c(r,d)&&c(i,y)&&c(o,m)&&c(s,v)&&c(a,g)&&c(u,_)&&c(p,b)&&c(l,w)&&c(h,E)||(n=f,r=d,i=y,o=m,s=v,a=g,u=_,p=b,l=w,h=E,e=t(f,d,y,m,v,g,_,b,w,E)),e}}function ft(t,e,n){Object.keys(n).forEach(function(r){dt(t,e,r,n[r].currentValue)})}function dt(t,e,n,r){try{t.setBindingDebugInfo(e,"ng-reflect-"+yt(n),r?r.toString():null)}catch(i){t.setBindingDebugInfo(e,"ng-reflect-"+yt(n),"[ERROR] Exception while trying to serialize the value")}}function yt(t){return t.replace(Hr,function(){for(var t=[],e=0;e<arguments.length;e++)t[e-0]=arguments[e];return"-"+t[1].toLowerCase()})}function mt(t,e,n,r,i){for(var o=t.createElement(e,n,i),s=0;s<r.length;s+=2)t.setElementAttribute(o,r.get(s),r.get(s+1));return o}function vt(t,e,n,r,i){var o;if(s(r)){o=t.selectRootElement(r,i);for(var a=0;a<n.length;a+=2)t.setElementAttribute(o,n.get(a),n.get(a+1));t.setElementAttribute(o,"ng-version",en.full)}else o=mt(t,null,e,n,i);return o}function gt(t,e,n,r){for(var i=wt(n.length/2),o=0;o<n.length;o+=2){var s=n.get(o),a=n.get(o+1),u=void 0;u=a?t.renderer.listenGlobal(a,s,r.bind(t,a+":"+s)):t.renderer.listen(e,s,r.bind(t,s)),i.set(o/2,u)}return _t.bind(null,i)}function _t(t){for(var e=0;e<t.length;e++)t.get(e)()}function bt(){}function wt(t){var e;return new(e=2>=t?zr:4>=t?Wr:8>=t?Gr:16>=t?Kr:Xr)(t)}function Et(){var t=he.wtf;return t&&(Mr=t.trace)?(Rr=Mr.events,!0):!1}function St(t,e){return void 0===e&&(e=null),Rr.createScope(t,e)}function Ct(t,e){return Mr.leaveScope(t,e),e}function xt(t,e){return Mr.beginTimeRange(t,e)}function Tt(t){Mr.endTimeRange(t)}function Pt(){return null}function Ot(t){di=t}function At(){if(vi)throw new Error("Cannot enable prod mode after platform setup.");mi=!1}function Mt(){return vi=!0,mi}function Rt(t){if(kr&&!kr.destroyed)throw new Error("There can be only one platform. Destroy the previous one to create a new one.");kr=t.get(_i);var e=t.get(zn,null);return e&&e.forEach(function(t){return t()}),kr}function kt(t,e,n){void 0===n&&(n=[]);var r=new Ee("Platform: "+e);return function(e){return void 0===e&&(e=[]),Dt()||(t?t(n.concat(e).concat({provide:r,useValue:!0})):Rt(In.resolveAndCreate(n.concat(e).concat({provide:r,useValue:!0})))),Nt(r)}}function Nt(t){var e=Dt();if(!e)throw new Error("No platform exists!");if(!e.injector.get(t,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}function It(){kr&&!kr.destroyed&&kr.destroy()}function Dt(){return kr&&!kr.destroyed?kr:null}function jt(t,e){try{var n=e();return q(n)?n["catch"](function(e){throw t.handleError(e),e}):n}catch(r){throw t.handleError(r),r}}function Lt(t,e){var n=Ai.get(t);if(n)throw new Error("Duplicate module registered for "+t+" - "+n.moduleType.name+" vs "+e.moduleType.name);Ai.set(t,e)}function Vt(t){var e=Ai.get(t);if(!e)throw new Error("No module with ID "+t+" loaded");return e}function Ft(t,e,n){if(!t)throw new Error("Cannot find '"+n+"' in '"+e+"'");return t}function Ut(t){return t.map(function(t){return t.nativeElement})}function Bt(t,e,n){t.childNodes.forEach(function(t){t instanceof Xi&&(e(t)&&n.push(t),Bt(t,e,n))})}function Ht(t,e,n){t instanceof Xi&&t.childNodes.forEach(function(t){e(t)&&n.push(t),t instanceof Xi&&Ht(t,e,n)})}function qt(t){return Qi.get(t)}function zt(t){Qi.set(t.nativeNode,t)}function Wt(t){Qi["delete"](t.nativeNode)}function Gt(){return On}function Kt(){return Sr}function Xt(){return Cr}function Qt(t){return t||"en-US"}function Yt(t,e){void 0===e&&(e=null);var n=e;if(!s(n)){var r={};n=new bo([r],1)}return new wo(t,n)}function $t(t){return new Co(t)}function Zt(t){return new So(t)}function Jt(t){var e,n=null;return"string"==typeof t?e=[t]:(e=Array.isArray(t)?t:[t],e.forEach(function(t){var e=t.offset;s(e)&&(n=null==n?parseFloat(e):n)})),new bo(e,n)}function te(t,e){return new mo(t,e)}function ee(t){return new _o(t)}function ne(t,e){var n=Array.isArray(e)?new So(e):e;return new vo(t,n)}function re(t,e){return new fo(t,e)}function ie(t,e,n){void 0===n&&(n=null);var r={};return Object.keys(e).forEach(function(t){var i=e[t];r[t]=i==ho?n:i.toString()}),Object.keys(t).forEach(function(t){s(r[t])||(r[t]=n)}),r}function oe(t,e,n){var r=n.length-1,i=n[0],o=ce(i.styles.styles),a={},u=!1;Object.keys(t).forEach(function(e){var n=t[e];o[e]||(o[e]=n,a[e]=n,u=!0)});var c=Vn.merge({},o),p=n[r];p.styles.styles.unshift(e);var l=ce(p.styles.styles),h={},f=!1;return Object.keys(c).forEach(function(t){s(l[t])||(h[t]=ho,f=!0)}),f&&p.styles.styles.push(h),Object.keys(l).forEach(function(t){s(o[t])||(a[t]=ho,u=!0)}),u&&i.styles.styles.push(a),ae(t,[e]),n}function se(t){var e={};return Object.keys(t).forEach(function(t){e[t]=null}),e}function ae(t,e){return e.map(function(e){var n={};return Object.keys(e).forEach(function(r){var i=e[r];i==no&&(i=t[r],s(i)||(i=ho)),t[r]=i,n[r]=i}),n})}function ue(t,e,n){Object.keys(n).forEach(function(r){e.setElementStyle(t,r,n[r])})}function ce(t){var e={};return t.forEach(function(t){Object.keys(t).forEach(function(n){e[n]=t[n]})}),e}function pe(t,e){t instanceof so||t instanceof po?t.players.forEach(function(t){return pe(t,e)}):e.push(t)}var le;le="undefined"==typeof window?"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:i:window;var he=le;he.assert=function(){};var fe=null,de=0,ye=he.Reflect,me=b("Inject",[["token",void 0]]),ve=b("Optional",[]),ge=g("Injectable",[]),_e=b("Self",[]),be=b("SkipSelf",[]),we=b("Host",[]),Ee=function(){function t(t){this._desc=t}return t.prototype.toString=function(){return"Token "+this._desc},t.decorators=[{type:ge}],t.ctorParameters=function(){return[null]},t}(),Se=new Ee("AnalyzeForEntryComponents"),Ce=b("Attribute",[["attributeName",void 0]]),xe=function(){function t(){}return t}(),Te=w("ContentChildren",[["selector",void 0],{first:!1,isViewQuery:!1,descendants:!1,read:void 0}],xe),Pe=w("ContentChild",[["selector",void 0],{first:!0,isViewQuery:!1,descendants:!0,read:void 0}],xe),Oe=w("ViewChildren",[["selector",void 0],{first:!1,isViewQuery:!0,descendants:!0,read:void 0}],xe),Ae=w("ViewChild",[["selector",void 0],{first:!0,isViewQuery:!0,descendants:!0,read:void 0}],xe),Me={};Me.OnPush=0,Me.Default=1,Me[Me.OnPush]="OnPush",Me[Me.Default]="Default";var Re={};Re.CheckOnce=0,Re.Checked=1,Re.CheckAlways=2,Re.Detached=3,Re.Errored=4,Re.Destroyed=5,Re[Re.CheckOnce]="CheckOnce",Re[Re.Checked]="Checked",Re[Re.CheckAlways]="CheckAlways",Re[Re.Detached]="Detached",Re[Re.Errored]="Errored",Re[Re.Destroyed]="Destroyed";var ke=g("Directive",{selector:void 0,inputs:void 0,outputs:void 0,host:void 0,providers:void 0,exportAs:void 0,queries:void 0}),Ne=g("Component",{selector:void 0,inputs:void 0,outputs:void 0,host:void 0,exportAs:void 0,moduleId:void 0,providers:void 0,viewProviders:void 0,changeDetection:Me.Default,queries:void 0,templateUrl:void 0,template:void 0,styleUrls:void 0,styles:void 0,animations:void 0,encapsulation:void 0,interpolation:void 0,entryComponents:void 0},ke),Ie=g("Pipe",{name:void 0,pure:!0}),De=w("Input",[["bindingPropertyName",void 0]]),je=w("Output",[["bindingPropertyName",void 0]]),Le=w("HostBinding",[["hostPropertyName",void 0]]),Ve=w("HostListener",[["eventName",void 0],["args",[]]]),Fe={};Fe.OnInit=0,Fe.OnDestroy=1,Fe.DoCheck=2,Fe.OnChanges=3,Fe.AfterContentInit=4,Fe.AfterContentChecked=5,Fe.AfterViewInit=6,Fe.AfterViewChecked=7,Fe[Fe.OnInit]="OnInit",Fe[Fe.OnDestroy]="OnDestroy",Fe[Fe.DoCheck]="DoCheck",Fe[Fe.OnChanges]="OnChanges",Fe[Fe.AfterContentInit]="AfterContentInit",Fe[Fe.AfterContentChecked]="AfterContentChecked",Fe[Fe.AfterViewInit]="AfterViewInit",Fe[Fe.AfterViewChecked]="AfterViewChecked";var Ue=[Fe.OnInit,Fe.OnDestroy,Fe.DoCheck,Fe.OnChanges,Fe.AfterContentInit,Fe.AfterContentChecked,Fe.AfterViewInit,Fe.AfterViewChecked],Be=function(){function t(){}return t.prototype.ngOnChanges=function(){},t}(),He=function(){function t(){}return t.prototype.ngOnInit=function(){},t}(),qe=function(){function t(){}return t.prototype.ngDoCheck=function(){},t}(),ze=function(){function t(){}return t.prototype.ngOnDestroy=function(){},t}(),We=function(){function t(){}return t.prototype.ngAfterContentInit=function(){},t}(),Ge=function(){function t(){}return t.prototype.ngAfterContentChecked=function(){},t}(),Ke=function(){function t(){}return t.prototype.ngAfterViewInit=function(){},t}(),Xe=function(){function t(){}return t.prototype.ngAfterViewChecked=function(){},t}(),Qe={name:"custom-elements"},Ye={name:"no-errors-schema"},$e=g("NgModule",{providers:void 0,declarations:void 0,imports:void 0,exports:void 0,entryComponents:void 0,bootstrap:void 0,schemas:void 0,id:void 0}),Ze={};Ze.Emulated=0,Ze.Native=1,Ze.None=2,Ze[Ze.Emulated]="Emulated",Ze[Ze.Native]="Native",Ze[Ze.None]="None";var Je=function(){function t(t){var e=void 0===t?{}:t,n=e.templateUrl,r=e.template,i=e.encapsulation,o=e.styles,s=e.styleUrls,a=e.animations,u=e.interpolation;this.templateUrl=n,this.template=r,this.styleUrls=s,this.styles=o,this.encapsulation=i,this.animations=a,this.interpolation=u}return t}(),tn=function(){function t(t){this.full=t}return Object.defineProperty(t.prototype,"major",{get:function(){return this.full.split(".")[0]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"minor",{get:function(){return this.full.split(".")[1]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"patch",{get:function(){return this.full.split(".").slice(2).join(".")},enumerable:!0,configurable:!0}),t}(),en=new tn("2.4.9"),nn=new Object,rn=nn,on=function(){function t(){}return t.prototype.get=function(t,e){if(void 0===e&&(e=nn),e===nn)throw new Error("No provider for "+u(t)+"!");return e},t}(),sn=function(){function t(){}return t.prototype.get=function(){},t.THROW_IF_NOT_FOUND=nn,t.NULL=new on,t}(),an=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},un=function(t){function e(e){t.call(this,e);var n=new Error(e);
-
-this._nativeError=n}return an(e,t),Object.defineProperty(e.prototype,"message",{get:function(){return this._nativeError.message},set:function(t){this._nativeError.message=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"name",{get:function(){return this._nativeError.name},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"stack",{get:function(){return this._nativeError.stack},set:function(t){this._nativeError.stack=t},enumerable:!0,configurable:!0}),e.prototype.toString=function(){return this._nativeError.toString()},e}(Error),cn=function(t){function e(e,n){t.call(this,e+" caused by: "+(n instanceof Error?n.message:n)),this.originalError=n}return an(e,t),Object.defineProperty(e.prototype,"stack",{get:function(){return(this.originalError instanceof Error?this.originalError:this._nativeError).stack},enumerable:!0,configurable:!0}),e}(un),pn=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},ln=function(t){function e(e,n,r){t.call(this,"DI Error"),this.keys=[n],this.injectors=[e],this.constructResolvingMessage=r,this.message=this.constructResolvingMessage(this.keys)}return pn(e,t),e.prototype.addKey=function(t,e){this.injectors.push(t),this.keys.push(e),this.message=this.constructResolvingMessage(this.keys)},e}(un),hn=function(t){function e(e,n){t.call(this,e,n,function(t){var e=u(t[0].token);return"No provider for "+e+"!"+T(t)})}return pn(e,t),e}(ln),fn=function(t){function e(e,n){t.call(this,e,n,function(t){return"Cannot instantiate cyclic dependency!"+T(t)})}return pn(e,t),e}(ln),dn=function(t){function e(e,n,r,i){t.call(this,"DI Error",n),this.keys=[i],this.injectors=[e]}return pn(e,t),e.prototype.addKey=function(t,e){this.injectors.push(t),this.keys.push(e)},Object.defineProperty(e.prototype,"message",{get:function(){var t=u(this.keys[0].token);return this.originalError.message+": Error during instantiation of "+t+"!"+T(this.keys)+"."},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"causeKey",{get:function(){return this.keys[0]},enumerable:!0,configurable:!0}),e}(cn),yn=function(t){function e(e){t.call(this,"Invalid provider - only instances of Provider and Type are allowed, got: "+e)}return pn(e,t),e}(un),mn=function(t){function e(n,r){t.call(this,e._genMessage(n,r))}return pn(e,t),e._genMessage=function(t,e){for(var n=[],r=0,i=e.length;i>r;r++){var o=e[r];n.push(o&&0!=o.length?o.map(u).join(" "):"?")}return"Cannot resolve all parameters for '"+u(t)+"'("+n.join(", ")+"). Make sure that all the parameters are decorated with Inject or have valid type annotations and that '"+u(t)+"' is decorated with Injectable."},e}(un),vn=function(t){function e(e){t.call(this,"Index "+e+" is out-of-bounds.")}return pn(e,t),e}(un),gn=function(t){function e(e,n){t.call(this,"Cannot mix multi providers and regular providers, got: "+e.toString()+" "+n.toString())}return pn(e,t),e}(un),_n=function(){function t(t,e){if(this.token=t,this.id=e,!t)throw new Error("Token must be defined!")}return Object.defineProperty(t.prototype,"displayName",{get:function(){return u(this.token)},enumerable:!0,configurable:!0}),t.get=function(t){return wn.get(C(t))},Object.defineProperty(t,"numberOfKeys",{get:function(){return wn.numberOfKeys},enumerable:!0,configurable:!0}),t}(),bn=function(){function t(){this._allKeys=new Map}return t.prototype.get=function(t){if(t instanceof _n)return t;if(this._allKeys.has(t))return this._allKeys.get(t);var e=new _n(t,_n.numberOfKeys);return this._allKeys.set(t,e),e},Object.defineProperty(t.prototype,"numberOfKeys",{get:function(){return this._allKeys.size},enumerable:!0,configurable:!0}),t}(),wn=new bn,En=Function,Sn=/^function\s+\S+\(\)\s*{\s*("use strict";)?\s*(return\s+)?\S+\.apply\(this,\s*arguments\)/,Cn=function(){function t(t){this._reflect=t||he.Reflect}return t.prototype.isReflectionEnabled=function(){return!0},t.prototype.factory=function(t){return function(){for(var e=[],n=0;n<arguments.length;n++)e[n-0]=arguments[n];return new(t.bind.apply(t,[void 0].concat(e)))}},t.prototype._zipTypesAndAnnotations=function(t,e){var n;n=new Array("undefined"==typeof t?e.length:t.length);for(var r=0;r<n.length;r++)n[r]="undefined"==typeof t?[]:t[r]!=Object?[t[r]]:[],e&&s(e[r])&&(n[r]=n[r].concat(e[r]));return n},t.prototype._ownParameters=function(t,e){if(Sn.exec(t.toString()))return null;if(t.parameters&&t.parameters!==e.parameters)return t.parameters;var n=t.ctorParameters;if(n&&n!==e.ctorParameters){var r="function"==typeof n?n():n,i=r.map(function(t){return t&&t.type}),o=r.map(function(t){return t&&O(t.decorators)});return this._zipTypesAndAnnotations(i,o)}if(s(this._reflect)&&s(this._reflect.getOwnMetadata)){var o=this._reflect.getOwnMetadata("parameters",t),i=this._reflect.getOwnMetadata("design:paramtypes",t);if(i||o)return this._zipTypesAndAnnotations(i,o)}return new Array(t.length).fill(void 0)},t.prototype.parameters=function(t){if(!P(t))return[];var e=A(t),n=this._ownParameters(t,e);return n||e===Object||(n=this.parameters(e)),n||[]},t.prototype._ownAnnotations=function(t,e){if(t.annotations&&t.annotations!==e.annotations){var n=t.annotations;return"function"==typeof n&&n.annotations&&(n=n.annotations),n}return t.decorators&&t.decorators!==e.decorators?O(t.decorators):this._reflect&&this._reflect.getOwnMetadata?this._reflect.getOwnMetadata("annotations",t):void 0},t.prototype.annotations=function(t){if(!P(t))return[];var e=A(t),n=this._ownAnnotations(t,e)||[],r=e!==Object?this.annotations(e):[];return r.concat(n)},t.prototype._ownPropMetadata=function(t,e){if(t.propMetadata&&t.propMetadata!==e.propMetadata){var n=t.propMetadata;return"function"==typeof n&&n.propMetadata&&(n=n.propMetadata),n}if(t.propDecorators&&t.propDecorators!==e.propDecorators){var r=t.propDecorators,i={};return Object.keys(r).forEach(function(t){i[t]=O(r[t])}),i}return this._reflect&&this._reflect.getOwnMetadata?this._reflect.getOwnMetadata("propMetadata",t):void 0},t.prototype.propMetadata=function(t){if(!P(t))return{};var e=A(t),n={};if(e!==Object){var r=this.propMetadata(e);Object.keys(r).forEach(function(t){n[t]=r[t]})}var i=this._ownPropMetadata(t,e);return i&&Object.keys(i).forEach(function(t){var e=[];n.hasOwnProperty(t)&&e.push.apply(e,n[t]),e.push.apply(e,i[t]),n[t]=e}),n},t.prototype.hasLifecycleHook=function(t,e){return t instanceof En&&e in t.prototype},t.prototype.getter=function(t){return new Function("o","return o."+t+";")},t.prototype.setter=function(t){return new Function("o","v","return o."+t+" = v;")},t.prototype.method=function(t){var e="if (!o."+t+") throw new Error('\""+t+"\" is undefined');\n        return o."+t+".apply(o, args);";return new Function("o","args",e)},t.prototype.importUri=function(t){return"object"==typeof t&&t.filePath?t.filePath:"./"+u(t)},t.prototype.resolveIdentifier=function(t,e,n){return n},t.prototype.resolveEnum=function(t,e){return t[e]},t}(),xn=function(){function t(){}return t.prototype.parameters=function(){},t.prototype.annotations=function(){},t.prototype.propMetadata=function(){},t.prototype.importUri=function(){},t.prototype.resolveIdentifier=function(){},t.prototype.resolveEnum=function(){},t}(),Tn=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Pn=function(t){function e(e){t.call(this),this.reflectionCapabilities=e}return Tn(e,t),e.prototype.updateCapabilities=function(t){this.reflectionCapabilities=t},e.prototype.factory=function(t){return this.reflectionCapabilities.factory(t)},e.prototype.parameters=function(t){return this.reflectionCapabilities.parameters(t)},e.prototype.annotations=function(t){return this.reflectionCapabilities.annotations(t)},e.prototype.propMetadata=function(t){return this.reflectionCapabilities.propMetadata(t)},e.prototype.hasLifecycleHook=function(t,e){return this.reflectionCapabilities.hasLifecycleHook(t,e)},e.prototype.getter=function(t){return this.reflectionCapabilities.getter(t)},e.prototype.setter=function(t){return this.reflectionCapabilities.setter(t)},e.prototype.method=function(t){return this.reflectionCapabilities.method(t)},e.prototype.importUri=function(t){return this.reflectionCapabilities.importUri(t)},e.prototype.resolveIdentifier=function(t,e,n){return this.reflectionCapabilities.resolveIdentifier(t,e,n)},e.prototype.resolveEnum=function(t,e){return this.reflectionCapabilities.resolveEnum(t,e)},e}(xn),On=new Pn(new Cn),An=function(){function t(t,e,n){this.key=t,this.optional=e,this.visibility=n}return t.fromKey=function(e){return new t(e,!1,null)},t}(),Mn=[],Rn=function(){function t(t,e,n){this.key=t,this.resolvedFactories=e,this.multiProvider=n}return Object.defineProperty(t.prototype,"resolvedFactory",{get:function(){return this.resolvedFactories[0]},enumerable:!0,configurable:!0}),t}(),kn=function(){function t(t,e){this.factory=t,this.dependencies=e}return t}(),Nn=new Object,In=function(){function t(){}return t.resolve=function(t){return k(t)},t.resolveAndCreate=function(e,n){void 0===n&&(n=null);var r=t.resolve(e);return t.fromResolvedProviders(r,n)},t.fromResolvedProviders=function(t,e){return void 0===e&&(e=null),new Dn(t,e)},t.prototype.parent=function(){},t.prototype.resolveAndCreateChild=function(){},t.prototype.createChildFromResolved=function(){},t.prototype.resolveAndInstantiate=function(){},t.prototype.instantiateResolved=function(){},t.prototype.get=function(){},t}(),Dn=function(){function t(t,e){void 0===e&&(e=null),this._constructionCounter=0,this._providers=t,this._parent=e;var n=t.length;this.keyIds=new Array(n),this.objs=new Array(n);for(var r=0;n>r;r++)this.keyIds[r]=t[r].key.id,this.objs[r]=Nn}return t.prototype.get=function(t,e){return void 0===e&&(e=rn),this._getByKey(_n.get(t),null,e)},Object.defineProperty(t.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),t.prototype.resolveAndCreateChild=function(t){var e=In.resolve(t);return this.createChildFromResolved(e)},t.prototype.createChildFromResolved=function(e){var n=new t(e);return n._parent=this,n},t.prototype.resolveAndInstantiate=function(t){return this.instantiateResolved(In.resolve([t])[0])},t.prototype.instantiateResolved=function(t){return this._instantiateProvider(t)},t.prototype.getProviderAtIndex=function(t){if(0>t||t>=this._providers.length)throw new vn(t);return this._providers[t]},t.prototype._new=function(t){if(this._constructionCounter++>this._getMaxNumberOfObjects())throw new fn(this,t.key);return this._instantiateProvider(t)},t.prototype._getMaxNumberOfObjects=function(){return this.objs.length},t.prototype._instantiateProvider=function(t){if(t.multiProvider){for(var e=new Array(t.resolvedFactories.length),n=0;n<t.resolvedFactories.length;++n)e[n]=this._instantiate(t,t.resolvedFactories[n]);return e}return this._instantiate(t,t.resolvedFactories[0])},t.prototype._instantiate=function(t,e){var n,r=this,i=e.factory;try{n=e.dependencies.map(function(t){return r._getByReflectiveDependency(t)})}catch(o){throw(o instanceof ln||o instanceof dn)&&o.addKey(this,t.key),o}var s;try{s=i.apply(void 0,n)}catch(o){throw new dn(this,o,o.stack,t.key)}return s},t.prototype._getByReflectiveDependency=function(t){return this._getByKey(t.key,t.visibility,t.optional?null:rn)},t.prototype._getByKey=function(t,e,n){return t===jn?this:e instanceof _e?this._getByKeySelf(t,n):this._getByKeyDefault(t,n,e)},t.prototype._getObjByKeyId=function(t){for(var e=0;e<this.keyIds.length;e++)if(this.keyIds[e]===t)return this.objs[e]===Nn&&(this.objs[e]=this._new(this._providers[e])),this.objs[e];return Nn},t.prototype._throwOrNull=function(t,e){if(e!==rn)return e;throw new hn(this,t)},t.prototype._getByKeySelf=function(t,e){var n=this._getObjByKeyId(t.id);return n!==Nn?n:this._throwOrNull(t,e)},t.prototype._getByKeyDefault=function(e,n,r){var i;for(i=r instanceof be?this._parent:this;i instanceof t;){var o=i,s=o._getObjByKeyId(e.id);if(s!==Nn)return s;i=o._parent}return null!==i?i.get(e.token,n):this._throwOrNull(e,n)},Object.defineProperty(t.prototype,"displayName",{get:function(){var t=F(this,function(t){return' "'+t.key.displayName+'" '}).join(", ");return"ReflectiveInjector(providers: ["+t+"])"},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return this.displayName},t}(),jn=_n.get(sn),Ln=function(){function t(t){void 0===t&&(t=!0),this._console=console,this.rethrowError=t}return t.prototype.handleError=function(t){var e=this._findOriginalError(t),n=this._findOriginalStack(t),r=this._findContext(t);if(this._console.error("EXCEPTION: "+this._extractMessage(t)),e&&this._console.error("ORIGINAL EXCEPTION: "+this._extractMessage(e)),n&&(this._console.error("ORIGINAL STACKTRACE:"),this._console.error(n)),r&&(this._console.error("ERROR CONTEXT:"),this._console.error(r)),this.rethrowError)throw t},t.prototype._extractMessage=function(t){return t instanceof Error?t.message:t.toString()},t.prototype._findContext=function(t){return t?t.context?t.context:this._findContext(t.originalError):null},t.prototype._findOriginalError=function(t){for(var e=t.originalError;e&&e.originalError;)e=e.originalError;return e},t.prototype._findOriginalStack=function(t){if(!(t instanceof Error))return null;for(var e=t,n=e.stack;e instanceof Error&&e.originalError;)e=e.originalError,e instanceof Error&&e.stack&&(n=e.stack);return n},t}(),Vn=function(){function t(){}return t.merge=function(t,e){for(var n={},r=0,i=Object.keys(t);r<i.length;r++){var o=i[r];n[o]=t[o]}for(var s=0,a=Object.keys(e);s<a.length;s++){var o=a[s];n[o]=e[o]}return n},t.equals=function(t,e){var n=Object.keys(t),r=Object.keys(e);if(n.length!=r.length)return!1;for(var i=0;i<n.length;i++){var o=n[i];if(t[o]!==e[o])return!1}return!0},t}(),Fn=function(){function t(){}return t.findLast=function(t,e){for(var n=t.length-1;n>=0;n--)if(e(t[n]))return t[n];return null},t.removeAll=function(t,e){for(var n=0;n<e.length;++n){var r=t.indexOf(e[n]);r>-1&&t.splice(r,1)}},t.remove=function(t,e){var n=t.indexOf(e);return n>-1?(t.splice(n,1),!0):!1},t.equals=function(t,e){if(t.length!=e.length)return!1;for(var n=0;n<t.length;++n)if(t[n]!==e[n])return!1;return!0},t.flatten=function(e){return e.reduce(function(e,n){var r=Array.isArray(n)?t.flatten(n):n;return e.concat(r)},[])},t}(),Un=new Ee("Application Initializer"),Bn=function(){function t(t){var e=this;this._done=!1;var n=[];if(t)for(var r=0;r<t.length;r++){var i=t[r]();q(i)&&n.push(i)}this._donePromise=Promise.all(n).then(function(){e._done=!0}),0===n.length&&(this._done=!0)}return Object.defineProperty(t.prototype,"done",{get:function(){return this._done},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"donePromise",{get:function(){return this._donePromise},enumerable:!0,configurable:!0}),t.decorators=[{type:ge}],t.ctorParameters=function(){return[{type:Array,decorators:[{type:me,args:[Un]},{type:ve}]}]},t}(),Hn=new Ee("AppId"),qn={provide:Hn,useFactory:W,deps:[]},zn=new Ee("Platform Initializer"),Wn=new Ee("appBootstrapListener"),Gn=new Ee("Application Packages Root URL"),Kn=function(){function t(){}return t.prototype.log=function(t){l(t)},t.prototype.warn=function(t){h(t)},t.decorators=[{type:ge}],t.ctorParameters=function(){return[]},t}(),Xn=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Qn=function(t){function e(e){t.call(this,"Can't compile synchronously as "+u(e)+" is still being loaded!"),this.compType=e}return Xn(e,t),e}(un),Yn=function(){function t(t,e){this.ngModuleFactory=t,this.componentFactories=e}return t}(),$n=function(){function t(){}return t.prototype.compileModuleSync=function(){throw K()},t.prototype.compileModuleAsync=function(){throw K()},t.prototype.compileModuleAndAllComponentsSync=function(){throw K()},t.prototype.compileModuleAndAllComponentsAsync=function(){throw K()},t.prototype.getNgContentSelectors=function(){throw K()},t.prototype.clearCache=function(){},t.prototype.clearCacheFor=function(){},t.decorators=[{type:ge}],t.ctorParameters=function(){return[]},t}(),Zn=new Ee("compilerOptions"),Jn=function(){function t(){}return t.prototype.createCompiler=function(){},t}(),tr=function(){function t(t){this.nativeElement=t}return t}(),er=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},nr=function(t){function e(e){void 0===e&&(e=!1),t.call(this),this.__isAsync=e}return er(e,t),e.prototype.emit=function(e){t.prototype.next.call(this,e)},e.prototype.subscribe=function(e,n,r){var i,o=function(){return null},s=function(){return null};return e&&"object"==typeof e?(i=this.__isAsync?function(t){setTimeout(function(){return e.next(t)})}:function(t){e.next(t)},e.error&&(o=this.__isAsync?function(t){setTimeout(function(){return e.error(t)})}:function(t){e.error(t)}),e.complete&&(s=this.__isAsync?function(){setTimeout(function(){return e.complete()})}:function(){e.complete()})):(i=this.__isAsync?function(t){setTimeout(function(){return e(t)})}:function(t){e(t)},n&&(o=this.__isAsync?function(t){setTimeout(function(){return n(t)})}:function(t){n(t)}),r&&(s=this.__isAsync?function(){setTimeout(function(){return r()})}:function(){r()})),t.prototype.subscribe.call(this,i,o,s)},e}(n.Subject),rr=function(){function t(t){var e=t.enableLongStackTrace,n=void 0===e?!1:e;if(this._hasPendingMicrotasks=!1,this._hasPendingMacrotasks=!1,this._isStable=!0,this._nesting=0,this._onUnstable=new nr(!1),this._onMicrotaskEmpty=new nr(!1),this._onStable=new nr(!1),this._onErrorEvents=new nr(!1),"undefined"==typeof Zone)throw new Error("Angular requires Zone.js prolyfill.");Zone.assertZonePatched(),this.outer=this.inner=Zone.current,Zone.wtfZoneSpec&&(this.inner=this.inner.fork(Zone.wtfZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(this.inner=this.inner.fork(Zone.longStackTraceZoneSpec)),this.forkInnerZoneWithAngularBehavior()}return t.isInAngularZone=function(){return Zone.current.get("isAngularZone")===!0},t.assertInAngularZone=function(){if(!t.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")},t.assertNotInAngularZone=function(){if(t.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")},t.prototype.run=function(t){return this.inner.run(t)},t.prototype.runGuarded=function(t){return this.inner.runGuarded(t)},t.prototype.runOutsideAngular=function(t){return this.outer.run(t)},Object.defineProperty(t.prototype,"onUnstable",{get:function(){return this._onUnstable},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"onMicrotaskEmpty",{get:function(){return this._onMicrotaskEmpty},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"onStable",{get:function(){return this._onStable},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"onError",{get:function(){return this._onErrorEvents},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isStable",{get:function(){return this._isStable},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hasPendingMicrotasks",{get:function(){return this._hasPendingMicrotasks},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hasPendingMacrotasks",{get:function(){return this._hasPendingMacrotasks},enumerable:!0,configurable:!0}),t.prototype.checkStable=function(){var t=this;if(0==this._nesting&&!this._hasPendingMicrotasks&&!this._isStable)try{this._nesting++,this._onMicrotaskEmpty.emit(null)}finally{if(this._nesting--,!this._hasPendingMicrotasks)try{this.runOutsideAngular(function(){return t._onStable.emit(null)})}finally{this._isStable=!0}}},t.prototype.forkInnerZoneWithAngularBehavior=function(){var t=this;this.inner=this.inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:function(e,n,r,i,o,s){try{return t.onEnter(),e.invokeTask(r,i,o,s)}finally{t.onLeave()}},onInvoke:function(e,n,r,i,o,s,a){try{return t.onEnter(),e.invoke(r,i,o,s,a)}finally{t.onLeave()}},onHasTask:function(e,n,r,i){e.hasTask(r,i),n===r&&("microTask"==i.change?t.setHasMicrotask(i.microTask):"macroTask"==i.change&&t.setHasMacrotask(i.macroTask))},onHandleError:function(e,n,r,i){return e.handleError(r,i),t.triggerError(i),!1}})},t.prototype.onEnter=function(){this._nesting++,this._isStable&&(this._isStable=!1,this._onUnstable.emit(null))},t.prototype.onLeave=function(){this._nesting--,this.checkStable()},t.prototype.setHasMicrotask=function(t){this._hasPendingMicrotasks=t,this.checkStable()},t.prototype.setHasMacrotask=function(t){this._hasPendingMacrotasks=t},t.prototype.triggerError=function(t){this._onErrorEvents.emit(t)},t}(),ir=function(){function t(t){this._zone=t,this.entries=[]}return t.prototype.enqueue=function(t){this.entries.push(t)},t.prototype.flush=function(){var t=this;this.entries.length&&this._zone.runOutsideAngular(function(){Promise.resolve(null).then(function(){return t._triggerAnimations()})})},t.prototype._triggerAnimations=function(){for(rr.assertNotInAngularZone();this.entries.length;){var t=this.entries.shift();t.hasStarted()||t.play()}},t.decorators=[{type:ge}],t.ctorParameters=function(){return[{type:rr}]},t}(),or=function(){function t(){}return t.prototype.supports=function(t){return U(t)},t.prototype.create=function(t,e){return new ar(e)},t}(),sr=function(t,e){return e},ar=function(){function t(t){this._trackByFn=t,this._length=null,this._collection=null,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=this._trackByFn||sr}return Object.defineProperty(t.prototype,"collection",{get:function(){return this._collection},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"length",{get:function(){return this._length},enumerable:!0,configurable:!0}),t.prototype.forEachItem=function(t){var e;for(e=this._itHead;null!==e;e=e._next)t(e)},t.prototype.forEachOperation=function(t){for(var e=this._itHead,n=this._removalsHead,r=0,i=null;e||n;){var o=!n||e&&e.currentIndex<X(n,r,i)?e:n,s=X(o,r,i),a=o.currentIndex;if(o===n)r--,n=n._nextRemoved;else if(e=e._next,null==o.previousIndex)r++;else{i||(i=[]);var u=s-r,c=a-r;if(u!=c){for(var p=0;u>p;p++){var l=p<i.length?i[p]:i[p]=0,h=l+p;h>=c&&u>h&&(i[p]=l+1)}var f=o.previousIndex;i[f]=c-u}}s!==a&&t(o,s,a)}},t.prototype.forEachPreviousItem=function(t){var e;for(e=this._previousItHead;null!==e;e=e._nextPrevious)t(e)},t.prototype.forEachAddedItem=function(t){var e;for(e=this._additionsHead;null!==e;e=e._nextAdded)t(e)},t.prototype.forEachMovedItem=function(t){var e;for(e=this._movesHead;null!==e;e=e._nextMoved)t(e)},t.prototype.forEachRemovedItem=function(t){var e;for(e=this._removalsHead;null!==e;e=e._nextRemoved)t(e)},t.prototype.forEachIdentityChange=function(t){var e;for(e=this._identityChangesHead;null!==e;e=e._nextIdentityChange)t(e)},t.prototype.diff=function(t){if(a(t)&&(t=[]),!U(t))throw new Error("Error trying to diff '"+t+"'");return this.check(t)?this:null},t.prototype.onDestroy=function(){},t.prototype.check=function(t){var e=this;this._reset();var n,r,i,o=this._itHead,s=!1;if(Array.isArray(t)){var a=t;this._length=t.length;for(var u=0;u<this._length;u++)r=a[u],i=this._trackByFn(u,r),null!==o&&c(o.trackById,i)?(s&&(o=this._verifyReinsertion(o,r,i,u)),c(o.item,r)||this._addIdentityChange(o,r)):(o=this._mismatch(o,r,i,u),s=!0),o=o._next}else n=0,H(t,function(t){i=e._trackByFn(n,t),null!==o&&c(o.trackById,i)?(s&&(o=e._verifyReinsertion(o,t,i,n)),c(o.item,t)||e._addIdentityChange(o,t)):(o=e._mismatch(o,t,i,n),s=!0),o=o._next,n++}),this._length=n;return this._truncate(o),this._collection=t,this.isDirty},Object.defineProperty(t.prototype,"isDirty",{get:function(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead},enumerable:!0,configurable:!0}),t.prototype._reset=function(){if(this.isDirty){var t=void 0,e=void 0;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=e)t.previousIndex=t.currentIndex,e=t._nextMoved;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}},t.prototype._mismatch=function(t,e,n,r){var i;return null===t?i=this._itTail:(i=t._prev,this._remove(t)),t=null===this._linkedRecords?null:this._linkedRecords.get(n,r),null!==t?(c(t.item,e)||this._addIdentityChange(t,e),this._moveAfter(t,i,r)):(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n),null!==t?(c(t.item,e)||this._addIdentityChange(t,e),this._reinsertAfter(t,i,r)):t=this._addAfter(new ur(e,n),i,r)),t},t.prototype._verifyReinsertion=function(t,e,n,r){var i=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n);return null!==i?t=this._reinsertAfter(i,t._prev,r):t.currentIndex!=r&&(t.currentIndex=r,this._addToMoves(t,r)),t},t.prototype._truncate=function(t){for(;null!==t;){var e=t._next;this._addToRemovals(this._unlink(t)),t=e}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)},t.prototype._reinsertAfter=function(t,e,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);var r=t._prevRemoved,i=t._nextRemoved;return null===r?this._removalsHead=i:r._nextRemoved=i,null===i?this._removalsTail=r:i._prevRemoved=r,this._insertAfter(t,e,n),this._addToMoves(t,n),t},t.prototype._moveAfter=function(t,e,n){return this._unlink(t),this._insertAfter(t,e,n),this._addToMoves(t,n),t},t.prototype._addAfter=function(t,e,n){return this._insertAfter(t,e,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t},t.prototype._insertAfter=function(t,e,n){var r=null===e?this._itHead:e._next;return t._next=r,t._prev=e,null===r?this._itTail=t:r._prev=t,null===e?this._itHead=t:e._next=t,null===this._linkedRecords&&(this._linkedRecords=new pr),this._linkedRecords.put(t),t.currentIndex=n,t},t.prototype._remove=function(t){return this._addToRemovals(this._unlink(t))},t.prototype._unlink=function(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);var e=t._prev,n=t._next;return null===e?this._itHead=n:e._next=n,null===n?this._itTail=e:n._prev=e,t},t.prototype._addToMoves=function(t,e){return t.previousIndex===e?t:(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t,t)},t.prototype._addToRemovals=function(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new pr),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t},t.prototype._addIdentityChange=function(t,e){return t.item=e,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t},t.prototype.toString=function(){var t=[];this.forEachItem(function(e){return t.push(e)});var e=[];this.forEachPreviousItem(function(t){return e.push(t)});var n=[];this.forEachAddedItem(function(t){return n.push(t)});var r=[];this.forEachMovedItem(function(t){return r.push(t)});var i=[];this.forEachRemovedItem(function(t){return i.push(t)});var o=[];return this.forEachIdentityChange(function(t){return o.push(t)}),"collection: "+t.join(", ")+"\nprevious: "+e.join(", ")+"\nadditions: "+n.join(", ")+"\nmoves: "+r.join(", ")+"\nremovals: "+i.join(", ")+"\nidentityChanges: "+o.join(", ")+"\n"},t}(),ur=function(){function t(t,e){this.item=t,this.trackById=e,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}return t.prototype.toString=function(){return this.previousIndex===this.currentIndex?u(this.item):u(this.item)+"["+u(this.previousIndex)+"->"+u(this.currentIndex)+"]"},t}(),cr=function(){function t(){this._head=null,this._tail=null}return t.prototype.add=function(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)},t.prototype.get=function(t,e){var n;for(n=this._head;null!==n;n=n._nextDup)if((null===e||e<n.currentIndex)&&c(n.trackById,t))return n;return null},t.prototype.remove=function(t){var e=t._prevDup,n=t._nextDup;return null===e?this._head=n:e._nextDup=n,null===n?this._tail=e:n._prevDup=e,null===this._head},t}(),pr=function(){function t(){this.map=new Map}return t.prototype.put=function(t){var e=t.trackById,n=this.map.get(e);n||(n=new cr,this.map.set(e,n)),n.add(t)},t.prototype.get=function(t,e){void 0===e&&(e=null);var n=t,r=this.map.get(n);return r?r.get(t,e):null},t.prototype.remove=function(t){var e=t.trackById,n=this.map.get(e);return n.remove(t)&&this.map["delete"](e),t},Object.defineProperty(t.prototype,"isEmpty",{get:function(){return 0===this.map.size},enumerable:!0,configurable:!0}),t.prototype.clear=function(){this.map.clear()},t.prototype.toString=function(){return"_DuplicateMap("+u(this.map)+")"},t}(),lr=function(){function t(){}return t.prototype.supports=function(t){return t instanceof Map||p(t)},t.prototype.create=function(){return new hr},t}(),hr=function(){function t(){this._records=new Map,this._mapHead=null,this._previousMapHead=null,this._changesHead=null,this._changesTail=null,this._additionsHead=null,this._additionsTail=null,this._removalsHead=null,this._removalsTail=null}return Object.defineProperty(t.prototype,"isDirty",{get:function(){return null!==this._additionsHead||null!==this._changesHead||null!==this._removalsHead},enumerable:!0,configurable:!0}),t.prototype.forEachItem=function(t){var e;for(e=this._mapHead;null!==e;e=e._next)t(e)},t.prototype.forEachPreviousItem=function(t){var e;for(e=this._previousMapHead;null!==e;e=e._nextPrevious)t(e)},t.prototype.forEachChangedItem=function(t){var e;for(e=this._changesHead;null!==e;e=e._nextChanged)t(e)},t.prototype.forEachAddedItem=function(t){var e;for(e=this._additionsHead;null!==e;e=e._nextAdded)t(e)},t.prototype.forEachRemovedItem=function(t){var e;for(e=this._removalsHead;null!==e;e=e._nextRemoved)t(e)},t.prototype.diff=function(t){if(t){if(!(t instanceof Map||p(t)))throw new Error("Error trying to diff '"+t+"'")}else t=new Map;return this.check(t)?this:null},t.prototype.onDestroy=function(){},t.prototype.check=function(t){var e=this;this._reset();var n=this._records,r=this._mapHead,i=null,o=null,s=!1;return this._forEach(t,function(t,a){var u;r&&a===r.key?(u=r,e._maybeAddToChanges(u,t)):(s=!0,null!==r&&(e._removeFromSeq(i,r),e._addToRemovals(r)),n.has(a)?(u=n.get(a),e._maybeAddToChanges(u,t)):(u=new fr(a),n.set(a,u),u.currentValue=t,e._addToAdditions(u))),s&&(e._isInRemovals(u)&&e._removeFromRemovals(u),null==o?e._mapHead=u:o._next=u),i=r,o=u,r=r&&r._next}),this._truncate(i,r),this.isDirty},t.prototype._reset=function(){if(this.isDirty){var t=void 0;for(t=this._previousMapHead=this._mapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;
-
-for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=this._removalsTail=null}},t.prototype._truncate=function(t,e){for(;null!==e;){null===t?this._mapHead=null:t._next=null;var n=e._next;this._addToRemovals(e),t=e,e=n}for(var r=this._removalsHead;null!==r;r=r._nextRemoved)r.previousValue=r.currentValue,r.currentValue=null,this._records["delete"](r.key)},t.prototype._maybeAddToChanges=function(t,e){c(e,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=e,this._addToChanges(t))},t.prototype._isInRemovals=function(t){return t===this._removalsHead||null!==t._nextRemoved||null!==t._prevRemoved},t.prototype._addToRemovals=function(t){null===this._removalsHead?this._removalsHead=this._removalsTail=t:(this._removalsTail._nextRemoved=t,t._prevRemoved=this._removalsTail,this._removalsTail=t)},t.prototype._removeFromSeq=function(t,e){var n=e._next;null===t?this._mapHead=n:t._next=n,e._next=null},t.prototype._removeFromRemovals=function(t){var e=t._prevRemoved,n=t._nextRemoved;null===e?this._removalsHead=n:e._nextRemoved=n,null===n?this._removalsTail=e:n._prevRemoved=e,t._prevRemoved=t._nextRemoved=null},t.prototype._addToAdditions=function(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)},t.prototype._addToChanges=function(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)},t.prototype.toString=function(){var t,e=[],n=[],r=[],i=[],o=[];for(t=this._mapHead;null!==t;t=t._next)e.push(u(t));for(t=this._previousMapHead;null!==t;t=t._nextPrevious)n.push(u(t));for(t=this._changesHead;null!==t;t=t._nextChanged)r.push(u(t));for(t=this._additionsHead;null!==t;t=t._nextAdded)i.push(u(t));for(t=this._removalsHead;null!==t;t=t._nextRemoved)o.push(u(t));return"map: "+e.join(", ")+"\nprevious: "+n.join(", ")+"\nadditions: "+i.join(", ")+"\nchanges: "+r.join(", ")+"\nremovals: "+o.join(", ")+"\n"},t.prototype._forEach=function(t,e){t instanceof Map?t.forEach(e):Object.keys(t).forEach(function(n){return e(t[n],n)})},t}(),fr=function(){function t(t){this.key=t,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._nextAdded=null,this._nextRemoved=null,this._prevRemoved=null,this._nextChanged=null}return t.prototype.toString=function(){return c(this.previousValue,this.currentValue)?u(this.key):u(this.key)+"["+u(this.previousValue)+"->"+u(this.currentValue)+"]"},t}(),dr=function(){function t(t){this.factories=t}return t.create=function(e,n){if(s(n)){var r=n.factories.slice();return e=e.concat(r),new t(e)}return new t(e)},t.extend=function(e){return{provide:t,useFactory:function(n){if(!n)throw new Error("Cannot extend IterableDiffers without a parent injector");return t.create(e,n)},deps:[[t,new be,new ve]]}},t.prototype.find=function(t){var e=this.factories.find(function(e){return e.supports(t)});if(s(e))return e;throw new Error("Cannot find a differ supporting object '"+t+"' of type '"+o(t)+"'")},t}(),yr=function(){function t(t){this.factories=t}return t.create=function(e,n){if(s(n)){var r=n.factories.slice();return e=e.concat(r),new t(e)}return new t(e)},t.extend=function(e){return{provide:t,useFactory:function(n){if(!n)throw new Error("Cannot extend KeyValueDiffers without a parent injector");return t.create(e,n)},deps:[[t,new be,new ve]]}},t.prototype.find=function(t){var e=this.factories.find(function(e){return e.supports(t)});if(s(e))return e;throw new Error("Cannot find a differ supporting object '"+t+"'")},t}(),mr={toString:function(){return"CD_INIT_VALUE"}},vr=function(){function t(t){this.wrapped=t}return t.wrap=function(e){return new t(e)},t}(),gr=function(){function t(){this.hasWrappedValue=!1}return t.prototype.unwrap=function(t){return t instanceof vr?(this.hasWrappedValue=!0,t.wrapped):t},t.prototype.reset=function(){this.hasWrappedValue=!1},t}(),_r=function(){function t(t,e){this.previousValue=t,this.currentValue=e}return t.prototype.isFirstChange=function(){return this.previousValue===mr},t}(),br=function(){function t(){}return t.prototype.markForCheck=function(){},t.prototype.detach=function(){},t.prototype.detectChanges=function(){},t.prototype.checkNoChanges=function(){},t.prototype.reattach=function(){},t}(),wr=[new lr],Er=[new or],Sr=new dr(Er),Cr=new yr(wr),xr=function(){function t(t,e,n,r,i,o){this.id=t,this.templateUrl=e,this.slotCount=n,this.encapsulation=r,this.styles=i,this.animations=o}return t}(),Tr=function(){function t(){}return t.prototype.injector=function(){},t.prototype.component=function(){},t.prototype.providerTokens=function(){},t.prototype.references=function(){},t.prototype.context=function(){},t.prototype.source=function(){},t}(),Pr=function(){function t(){}return t.prototype.selectRootElement=function(){},t.prototype.createElement=function(){},t.prototype.createViewRoot=function(){},t.prototype.createTemplateAnchor=function(){},t.prototype.createText=function(){},t.prototype.projectNodes=function(){},t.prototype.attachViewAfter=function(){},t.prototype.detachView=function(){},t.prototype.destroyView=function(){},t.prototype.listen=function(){},t.prototype.listenGlobal=function(){},t.prototype.setElementProperty=function(){},t.prototype.setElementAttribute=function(){},t.prototype.setBindingDebugInfo=function(){},t.prototype.setElementClass=function(){},t.prototype.setElementStyle=function(){},t.prototype.invokeElementMethod=function(){},t.prototype.setText=function(){},t.prototype.animate=function(){},t}(),Or=function(){function t(){}return t.prototype.renderComponent=function(){},t}(),Ar={};Ar.NONE=0,Ar.HTML=1,Ar.STYLE=2,Ar.SCRIPT=3,Ar.URL=4,Ar.RESOURCE_URL=5,Ar[Ar.NONE]="NONE",Ar[Ar.HTML]="HTML",Ar[Ar.STYLE]="STYLE",Ar[Ar.SCRIPT]="SCRIPT",Ar[Ar.URL]="URL",Ar[Ar.RESOURCE_URL]="RESOURCE_URL";var Mr,Rr,kr,Nr=function(){function t(){}return t.prototype.sanitize=function(){},t}(),Ir=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Dr=function(t){function e(e,n){var r="Expression has changed after it was checked. Previous value: '"+e+"'. Current value: '"+n+"'.";e===mr&&(r+=" It seems like the view has been created after its parent and its children have been dirty checked. Has it been created in a change detection hook ?"),t.call(this,r)}return Ir(e,t),e}(un),jr=function(t){function e(e,n){t.call(this,"Error in "+n.source,e),this.context=n}return Ir(e,t),e}(cn),Lr=function(t){function e(e){t.call(this,"Attempt to use a destroyed view: "+e)}return Ir(e,t),e}(un),Vr=function(){function t(t,e,n){this._renderer=t,this.animationQueue=n,this.sanitizer=e}return t.prototype.renderComponent=function(t){return this._renderer.renderComponent(t)},t.decorators=[{type:ge}],t.ctorParameters=function(){return[{type:Or},{type:Nr},{type:ir}]},t}(),Fr=0,Ur=[],Br={},Hr=/([A-Z])/g,qr=function(){function t(){this.length=0}return t.prototype.get=function(){return void 0},t.prototype.set=function(){},t}(),zr=function(){function t(t,e,n){this.length=t,this._v0=e,this._v1=n}return t.prototype.get=function(t){switch(t){case 0:return this._v0;case 1:return this._v1;default:return void 0}},t.prototype.set=function(t,e){switch(t){case 0:this._v0=e;break;case 1:this._v1=e}},t}(),Wr=function(){function t(t,e,n,r,i){this.length=t,this._v0=e,this._v1=n,this._v2=r,this._v3=i}return t.prototype.get=function(t){switch(t){case 0:return this._v0;case 1:return this._v1;case 2:return this._v2;case 3:return this._v3;default:return void 0}},t.prototype.set=function(t,e){switch(t){case 0:this._v0=e;break;case 1:this._v1=e;break;case 2:this._v2=e;break;case 3:this._v3=e}},t}(),Gr=function(){function t(t,e,n,r,i,o,s,a,u){this.length=t,this._v0=e,this._v1=n,this._v2=r,this._v3=i,this._v4=o,this._v5=s,this._v6=a,this._v7=u}return t.prototype.get=function(t){switch(t){case 0:return this._v0;case 1:return this._v1;case 2:return this._v2;case 3:return this._v3;case 4:return this._v4;case 5:return this._v5;case 6:return this._v6;case 7:return this._v7;default:return void 0}},t.prototype.set=function(t,e){switch(t){case 0:this._v0=e;break;case 1:this._v1=e;break;case 2:this._v2=e;break;case 3:this._v3=e;break;case 4:this._v4=e;break;case 5:this._v5=e;break;case 6:this._v6=e;break;case 7:this._v7=e}},t}(),Kr=function(){function t(t,e,n,r,i,o,s,a,u,c,p,l,h,f,d,y,m){this.length=t,this._v0=e,this._v1=n,this._v2=r,this._v3=i,this._v4=o,this._v5=s,this._v6=a,this._v7=u,this._v8=c,this._v9=p,this._v10=l,this._v11=h,this._v12=f,this._v13=d,this._v14=y,this._v15=m}return t.prototype.get=function(t){switch(t){case 0:return this._v0;case 1:return this._v1;case 2:return this._v2;case 3:return this._v3;case 4:return this._v4;case 5:return this._v5;case 6:return this._v6;case 7:return this._v7;case 8:return this._v8;case 9:return this._v9;case 10:return this._v10;case 11:return this._v11;case 12:return this._v12;case 13:return this._v13;case 14:return this._v14;case 15:return this._v15;default:return void 0}},t.prototype.set=function(t,e){switch(t){case 0:this._v0=e;break;case 1:this._v1=e;break;case 2:this._v2=e;break;case 3:this._v3=e;break;case 4:this._v4=e;break;case 5:this._v5=e;break;case 6:this._v6=e;break;case 7:this._v7=e;break;case 8:this._v8=e;break;case 9:this._v9=e;break;case 10:this._v10=e;break;case 11:this._v11=e;break;case 12:this._v12=e;break;case 13:this._v13=e;break;case 14:this._v14=e;break;case 15:this._v15=e}},t}(),Xr=function(){function t(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];this.length=t,this._values=e}return t.prototype.get=function(t){return this._values[t]},t.prototype.set=function(t,e){this._values[t]=e},t}(),Qr=new qr,Yr=Object.freeze({ViewUtils:Vr,createRenderComponentType:Y,addToArray:$,interpolate:Z,inlineInterpolate:J,checkBinding:et,castByValue:nt,EMPTY_ARRAY:Ur,EMPTY_MAP:Br,pureProxy1:rt,pureProxy2:it,pureProxy3:ot,pureProxy4:st,pureProxy5:at,pureProxy6:ut,pureProxy7:ct,pureProxy8:pt,pureProxy9:lt,pureProxy10:ht,setBindingDebugInfoForChanges:ft,setBindingDebugInfo:dt,createRenderElement:mt,selectOrCreateRenderHostElement:vt,subscribeToRenderElement:gt,noop:bt,InlineArray2:zr,InlineArray4:Wr,InlineArray8:Gr,InlineArray16:Kr,InlineArrayDynamic:Xr,EMPTY_INLINE_ARRAY:Qr}),$r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Zr=function(){function t(){}return t.prototype.location=function(){},t.prototype.injector=function(){},t.prototype.instance=function(){},t.prototype.hostView=function(){},t.prototype.changeDetectorRef=function(){},t.prototype.componentType=function(){},t.prototype.destroy=function(){},t.prototype.onDestroy=function(){},t}(),Jr=function(t){function e(e,n,r,i){t.call(this),this._index=e,this._parentView=n,this._nativeElement=r,this._component=i}return $r(e,t),Object.defineProperty(e.prototype,"location",{get:function(){return new tr(this._nativeElement)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"injector",{get:function(){return this._parentView.injector(this._index)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"instance",{get:function(){return this._component},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hostView",{get:function(){return this._parentView.ref},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"changeDetectorRef",{get:function(){return this._parentView.ref},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"componentType",{get:function(){return this._component.constructor},enumerable:!0,configurable:!0}),e.prototype.destroy=function(){this._parentView.detachAndDestroy()},e.prototype.onDestroy=function(t){this.hostView.onDestroy(t)},e}(Zr),ti=function(){function t(t,e,n){this.selector=t,this._viewClass=e,this._componentType=n}return Object.defineProperty(t.prototype,"componentType",{get:function(){return this._componentType},enumerable:!0,configurable:!0}),t.prototype.create=function(t,e,n){void 0===e&&(e=null),void 0===n&&(n=null);var r=t.get(Vr);e||(e=[]);var i=new this._viewClass(r,null,null,null);return i.createHostView(n,t,e)},t}(),ei=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},ni=function(t){function e(e){t.call(this,"No component factory found for "+u(e)+". Did you add it to @NgModule.entryComponents?"),this.component=e}return ei(e,t),e}(un),ri=function(){function t(){}return t.prototype.resolveComponentFactory=function(t){throw new ni(t)},t}(),ii=function(){function t(){}return t.prototype.resolveComponentFactory=function(){},t.NULL=new ri,t}(),oi=function(){function t(t,e){this._parent=e,this._factories=new Map;for(var n=0;n<t.length;n++){var r=t[n];this._factories.set(r.componentType,r)}}return t.prototype.resolveComponentFactory=function(t){var e=this._factories.get(t);return e||(e=this._parent.resolveComponentFactory(t)),e},t}(),si=Et(),ai=si?St:function(){return Pt},ui=si?Ct:function(t,e){return e},ci=si?xt:function(){return null},pi=si?Tt:function(){return null},li=function(){function t(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this._watchAngularEvents()}return t.prototype._watchAngularEvents=function(){var t=this;this._ngZone.onUnstable.subscribe({next:function(){t._didWork=!0,t._isZoneStable=!1}}),this._ngZone.runOutsideAngular(function(){t._ngZone.onStable.subscribe({next:function(){rr.assertNotInAngularZone(),r(function(){t._isZoneStable=!0,t._runCallbacksIfReady()})}})})},t.prototype.increasePendingRequestCount=function(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount},t.prototype.decreasePendingRequestCount=function(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount},t.prototype.isStable=function(){return this._isZoneStable&&0==this._pendingCount&&!this._ngZone.hasPendingMacrotasks},t.prototype._runCallbacksIfReady=function(){var t=this;this.isStable()?r(function(){for(;0!==t._callbacks.length;)t._callbacks.pop()(t._didWork);t._didWork=!1}):this._didWork=!0},t.prototype.whenStable=function(t){this._callbacks.push(t),this._runCallbacksIfReady()},t.prototype.getPendingRequestCount=function(){return this._pendingCount},t.prototype.findBindings=function(){return[]},t.prototype.findProviders=function(){return[]},t.decorators=[{type:ge}],t.ctorParameters=function(){return[{type:rr}]},t}(),hi=function(){function t(){this._applications=new Map,di.addToWindow(this)}return t.prototype.registerApplication=function(t,e){this._applications.set(t,e)},t.prototype.getTestability=function(t){return this._applications.get(t)},t.prototype.getAllTestabilities=function(){return Array.from(this._applications.values())},t.prototype.getAllRootElements=function(){return Array.from(this._applications.keys())},t.prototype.findTestabilityInTree=function(t,e){return void 0===e&&(e=!0),di.findTestabilityInTree(this,t,e)},t.decorators=[{type:ge}],t.ctorParameters=function(){return[]},t}(),fi=function(){function t(){}return t.prototype.addToWindow=function(){},t.prototype.findTestabilityInTree=function(){return null},t}(),di=new fi,yi=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},mi=!0,vi=!1,gi=function(){function t(t,e){this.name=t,this.token=e}return t}(),_i=function(){function t(){}return t.prototype.bootstrapModuleFactory=function(){},t.prototype.bootstrapModule=function(){},t.prototype.onDestroy=function(){},t.prototype.injector=function(){},t.prototype.destroy=function(){},t.prototype.destroyed=function(){},t}(),bi=function(t){function e(e){t.call(this),this._injector=e,this._modules=[],this._destroyListeners=[],this._destroyed=!1}return yi(e,t),e.prototype.onDestroy=function(t){this._destroyListeners.push(t)},Object.defineProperty(e.prototype,"injector",{get:function(){return this._injector},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"destroyed",{get:function(){return this._destroyed},enumerable:!0,configurable:!0}),e.prototype.destroy=function(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(function(t){return t.destroy()}),this._destroyListeners.forEach(function(t){return t()}),this._destroyed=!0},e.prototype.bootstrapModuleFactory=function(t){return this._bootstrapModuleFactoryWithZone(t,null)},e.prototype._bootstrapModuleFactoryWithZone=function(t,e){var n=this;return e||(e=new rr({enableLongStackTrace:Mt()})),e.run(function(){var r=In.resolveAndCreate([{provide:rr,useValue:e}],n.injector),i=t.create(r),o=i.injector.get(Ln,null);if(!o)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return i.onDestroy(function(){return Fn.remove(n._modules,i)}),e.onError.subscribe({next:function(t){o.handleError(t)}}),jt(o,function(){var t=i.injector.get(Bn);return t.donePromise.then(function(){return n._moduleDoBootstrap(i),i})})})},e.prototype.bootstrapModule=function(t,e){return void 0===e&&(e=[]),this._bootstrapModuleWithZone(t,e,null)},e.prototype._bootstrapModuleWithZone=function(t,e,n,r){var i=this;void 0===e&&(e=[]);var o=this.injector.get(Jn),s=o.createCompiler(Array.isArray(e)?e:[e]);return r?s.compileModuleAndAllComponentsAsync(t).then(function(t){var e=t.ngModuleFactory,o=t.componentFactories;return r(o),i._bootstrapModuleFactoryWithZone(e,n)}):s.compileModuleAsync(t).then(function(t){return i._bootstrapModuleFactoryWithZone(t,n)})},e.prototype._moduleDoBootstrap=function(t){var e=t.injector.get(wi);if(t.bootstrapFactories.length>0)t.bootstrapFactories.forEach(function(t){return e.bootstrap(t)});else{if(!t.instance.ngDoBootstrap)throw new Error("The module "+u(t.instance.constructor)+' was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.');t.instance.ngDoBootstrap(e)}this._modules.push(t)},e.decorators=[{type:ge}],e.ctorParameters=function(){return[{type:sn}]},e}(_i),wi=function(){function t(){}return t.prototype.bootstrap=function(){},t.prototype.tick=function(){},t.prototype.componentTypes=function(){},t.prototype.components=function(){},t.prototype.attachView=function(){},t.prototype.detachView=function(){},t.prototype.viewCount=function(){},t}(),Ei=function(t){function e(e,n,r,i,o,s,a,u){var c=this;t.call(this),this._zone=e,this._console=n,this._injector=r,this._exceptionHandler=i,this._componentFactoryResolver=o,this._initStatus=s,this._testabilityRegistry=a,this._testability=u,this._bootstrapListeners=[],this._rootComponents=[],this._rootComponentTypes=[],this._views=[],this._runningTick=!1,this._enforceNoNewChanges=!1,this._enforceNoNewChanges=Mt(),this._zone.onMicrotaskEmpty.subscribe({next:function(){c._zone.run(function(){c.tick()})}})}return yi(e,t),e.prototype.attachView=function(t){var e=t.internalView;this._views.push(e),e.attachToAppRef(this)},e.prototype.detachView=function(t){var e=t.internalView;Fn.remove(this._views,e),e.detach()},e.prototype.bootstrap=function(t){var e=this;if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");var n;n=t instanceof ti?t:this._componentFactoryResolver.resolveComponentFactory(t),this._rootComponentTypes.push(n.componentType);var r=n.create(this._injector,[],n.selector);r.onDestroy(function(){e._unloadComponent(r)});var i=r.injector.get(li,null);return i&&r.injector.get(hi).registerApplication(r.location.nativeElement,i),this._loadComponent(r),Mt()&&this._console.log("Angular is running in the development mode. Call enableProdMode() to enable the production mode."),r},e.prototype._loadComponent=function(t){this.attachView(t.hostView),this.tick(),this._rootComponents.push(t);var e=this._injector.get(Wn,[]).concat(this._bootstrapListeners);e.forEach(function(e){return e(t)})},e.prototype._unloadComponent=function(t){this.detachView(t.hostView),Fn.remove(this._rootComponents,t)},e.prototype.tick=function(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");var t=e._tickScope();try{this._runningTick=!0,this._views.forEach(function(t){return t.ref.detectChanges()}),this._enforceNoNewChanges&&this._views.forEach(function(t){return t.ref.checkNoChanges()})}finally{this._runningTick=!1,ui(t)}},e.prototype.ngOnDestroy=function(){this._views.slice().forEach(function(t){return t.destroy()})},Object.defineProperty(e.prototype,"viewCount",{get:function(){return this._views.length},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"componentTypes",{get:function(){return this._rootComponentTypes},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"components",{get:function(){return this._rootComponents},enumerable:!0,configurable:!0}),e._tickScope=ai("ApplicationRef#tick()"),e.decorators=[{type:ge}],e.ctorParameters=function(){return[{type:rr},{type:Kn},{type:sn},{type:Ln},{type:ii},{type:Bn},{type:hi,decorators:[{type:ve}]},{type:li,decorators:[{type:ve}]}]},e}(wi),Si=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Ci=function(){function t(){}return t.prototype.injector=function(){},t.prototype.componentFactoryResolver=function(){},t.prototype.instance=function(){},t.prototype.destroy=function(){},t.prototype.onDestroy=function(){},t}(),xi=function(){function t(t,e){this._injectorClass=t,this._moduleType=e}return Object.defineProperty(t.prototype,"moduleType",{get:function(){return this._moduleType},enumerable:!0,configurable:!0}),t.prototype.create=function(t){t||(t=sn.NULL);var e=new this._injectorClass(t);return e.create(),e},t}(),Ti=new Object,Pi=function(t){function e(e,n,r){t.call(this,n,e.get(ii,ii.NULL)),this.parent=e,this.bootstrapFactories=r,this._destroyListeners=[],this._destroyed=!1}return Si(e,t),e.prototype.create=function(){this.instance=this.createInternal()},e.prototype.createInternal=function(){},e.prototype.get=function(t,e){if(void 0===e&&(e=rn),t===sn||t===ii)return this;var n=this.getInternal(t,Ti);return n===Ti?this.parent.get(t,e):n},e.prototype.getInternal=function(){},Object.defineProperty(e.prototype,"injector",{get:function(){return this},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"componentFactoryResolver",{get:function(){return this},enumerable:!0,configurable:!0}),e.prototype.destroy=function(){if(this._destroyed)throw new Error("The ng module "+u(this.instance.constructor)+" has already been destroyed.");this._destroyed=!0,this.destroyInternal(),this._destroyListeners.forEach(function(t){return t()})},e.prototype.onDestroy=function(t){this._destroyListeners.push(t)},e.prototype.destroyInternal=function(){},e}(oi),Oi=function(){function t(){}return t.prototype.load=function(){},t}(),Ai=new Map,Mi=function(){function t(){this._dirty=!0,this._results=[],this._emitter=new nr}return Object.defineProperty(t.prototype,"changes",{get:function(){return this._emitter},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"length",{get:function(){return this._results.length},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"first",{get:function(){return this._results[0]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"last",{get:function(){return this._results[this.length-1]},enumerable:!0,configurable:!0}),t.prototype.map=function(t){return this._results.map(t)},t.prototype.filter=function(t){return this._results.filter(t)},t.prototype.find=function(t){return this._results.find(t)},t.prototype.reduce=function(t,e){return this._results.reduce(t,e)},t.prototype.forEach=function(t){this._results.forEach(t)},t.prototype.some=function(t){return this._results.some(t)},t.prototype.toArray=function(){return this._results.slice()},t.prototype[f()]=function(){return this._results[f()]()},t.prototype.toString=function(){return this._results.toString()},t.prototype.reset=function(t){this._results=Fn.flatten(t),this._dirty=!1},t.prototype.notifyOnChanges=function(){this._emitter.emit(this)},t.prototype.setDirty=function(){this._dirty=!0},Object.defineProperty(t.prototype,"dirty",{get:function(){return this._dirty},enumerable:!0,configurable:!0}),t}(),Ri="#",ki="NgFactory",Ni=function(){function t(){}return t}(),Ii={factoryPathPrefix:"",factoryPathSuffix:".ngfactory"},Di=function(){function t(t,e){this._compiler=t,this._config=e||Ii}return t.prototype.load=function(t){var e=this._compiler instanceof $n;return e?this.loadFactory(t):this.loadAndCompile(t)},t.prototype.loadAndCompile=function(t){var e=this,n=t.split(Ri),r=n[0],i=n[1];return void 0===i&&(i="default"),System["import"](r).then(function(t){return t[i]}).then(function(t){return Ft(t,r,i)}).then(function(t){return e._compiler.compileModuleAsync(t)})},t.prototype.loadFactory=function(t){var e=t.split(Ri),n=e[0],r=e[1],i=ki;return void 0===r&&(r="default",i=""),System["import"](this._config.factoryPathPrefix+n+this._config.factoryPathSuffix).then(function(t){return t[r+i]}).then(function(t){return Ft(t,n,r)})},t.decorators=[{type:ge}],t.ctorParameters=function(){return[{type:$n},{type:Ni,decorators:[{type:ve}]}]},t}(),ji=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Li=function(){function t(){}return t.prototype.elementRef=function(){},t.prototype.createEmbeddedView=function(){},t}(),Vi=function(t){function e(e,n,r){t.call(this),this._parentView=e,this._nodeIndex=n,this._nativeElement=r}return ji(e,t),e.prototype.createEmbeddedView=function(t){var e=this._parentView.createEmbeddedViewInternal(this._nodeIndex);return e.create(t||{}),e.ref},Object.defineProperty(e.prototype,"elementRef",{get:function(){return new tr(this._nativeElement)},enumerable:!0,configurable:!0}),e}(Li),Fi=function(){function t(){}return t.prototype.element=function(){},t.prototype.injector=function(){},t.prototype.parentInjector=function(){},t.prototype.clear=function(){},t.prototype.get=function(){},t.prototype.length=function(){},t.prototype.createEmbeddedView=function(){},t.prototype.createComponent=function(){},t.prototype.insert=function(){},t.prototype.move=function(){},t.prototype.indexOf=function(){},t.prototype.remove=function(){},t.prototype.detach=function(){},t}(),Ui=function(){function t(t){this._element=t,this._createComponentInContainerScope=ai("ViewContainerRef#createComponent()"),this._insertScope=ai("ViewContainerRef#insert()"),this._removeScope=ai("ViewContainerRef#remove()"),this._detachScope=ai("ViewContainerRef#detach()")}return t.prototype.get=function(t){return this._element.nestedViews[t].ref},Object.defineProperty(t.prototype,"length",{get:function(){var t=this._element.nestedViews;return s(t)?t.length:0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"element",{get:function(){return this._element.elementRef},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"injector",{get:function(){return this._element.injector},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"parentInjector",{get:function(){return this._element.parentInjector},enumerable:!0,configurable:!0}),t.prototype.createEmbeddedView=function(t,e,n){void 0===e&&(e=null),void 0===n&&(n=-1);var r=t.createEmbeddedView(e);return this.insert(r,n),r},t.prototype.createComponent=function(t,e,n,r){void 0===e&&(e=-1),void 0===n&&(n=null),void 0===r&&(r=null);var i=this._createComponentInContainerScope(),o=n||this._element.parentInjector,s=t.create(o,r);return this.insert(s.hostView,e),ui(i,s)},t.prototype.insert=function(t,e){void 0===e&&(e=-1);var n=this._insertScope();-1==e&&(e=this.length);var r=t;return this._element.attachView(r.internalView,e),ui(n,r)},t.prototype.move=function(t,e){var n=this._insertScope();if(-1!=e){var r=t;return this._element.moveView(r.internalView,e),ui(n,r)}},t.prototype.indexOf=function(t){return this.length?this._element.nestedViews.indexOf(t.internalView):-1},t.prototype.remove=function(t){void 0===t&&(t=-1);var e=this._removeScope();-1==t&&(t=this.length-1);var n=this._element.detachView(t);n.destroy(),ui(e)},t.prototype.detach=function(t){void 0===t&&(t=-1);var e=this._detachScope();-1==t&&(t=this.length-1);var n=this._element.detachView(t);return ui(e,n.ref)},t.prototype.clear=function(){for(var t=this.length-1;t>=0;t--)this.remove(t)},t}(),Bi=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Hi=function(t){function e(){t.apply(this,arguments)}return Bi(e,t),e.prototype.destroy=function(){},e.prototype.destroyed=function(){},e.prototype.onDestroy=function(){},e}(br),qi=function(t){function e(){t.apply(this,arguments)}return Bi(e,t),e.prototype.context=function(){},e.prototype.rootNodes=function(){},e}(Hi),zi=function(){function t(t,e){this._view=t,this.animationQueue=e,this._view=t,this._originalMode=this._view.cdMode}return Object.defineProperty(t.prototype,"internalView",{get:function(){return this._view},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rootNodes",{get:function(){return this._view.flatRootNodes},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"context",{get:function(){return this._view.context},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"destroyed",{get:function(){return this._view.destroyed},enumerable:!0,configurable:!0}),t.prototype.markForCheck=function(){this._view.markPathToRootAsCheckOnce()},t.prototype.detach=function(){this._view.cdMode=Re.Detached},t.prototype.detectChanges=function(){this._view.detectChanges(!1),this.animationQueue.flush()},t.prototype.checkNoChanges=function(){this._view.detectChanges(!0)},t.prototype.reattach=function(){this._view.cdMode=this._originalMode,this.markForCheck()},t.prototype.onDestroy=function(t){this._view.disposables||(this._view.disposables=[]),this._view.disposables.push(t)},t.prototype.destroy=function(){this._view.detachAndDestroy()},t}(),Wi=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Gi=function(){function t(t,e){this.name=t,this.callback=e}return t}(),Ki=function(){function t(t,e,n){this._debugInfo=n,this.nativeNode=t,e&&e instanceof Xi?e.addChild(this):this.parent=null,this.listeners=[]}return Object.defineProperty(t.prototype,"injector",{get:function(){return this._debugInfo?this._debugInfo.injector:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"componentInstance",{get:function(){return this._debugInfo?this._debugInfo.component:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"context",{get:function(){return this._debugInfo?this._debugInfo.context:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"references",{get:function(){return this._debugInfo?this._debugInfo.references:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"providerTokens",{get:function(){return this._debugInfo?this._debugInfo.providerTokens:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"source",{get:function(){return this._debugInfo?this._debugInfo.source:null;
-
-},enumerable:!0,configurable:!0}),t}(),Xi=function(t){function e(e,n,r){t.call(this,e,n,r),this.properties={},this.attributes={},this.classes={},this.styles={},this.childNodes=[],this.nativeElement=e}return Wi(e,t),e.prototype.addChild=function(t){t&&(this.childNodes.push(t),t.parent=this)},e.prototype.removeChild=function(t){var e=this.childNodes.indexOf(t);-1!==e&&(t.parent=null,this.childNodes.splice(e,1))},e.prototype.insertChildrenAfter=function(t,e){var n=this.childNodes.indexOf(t);if(-1!==n){var r=this.childNodes.slice(0,n+1),i=this.childNodes.slice(n+1);this.childNodes=r.concat(e,i);for(var o=0;o<e.length;++o){var s=e[o];s.parent&&s.parent.removeChild(s),s.parent=this}}},e.prototype.query=function(t){var e=this.queryAll(t);return e[0]||null},e.prototype.queryAll=function(t){var e=[];return Bt(this,t,e),e},e.prototype.queryAllNodes=function(t){var e=[];return Ht(this,t,e),e},Object.defineProperty(e.prototype,"children",{get:function(){return this.childNodes.filter(function(t){return t instanceof e})},enumerable:!0,configurable:!0}),e.prototype.triggerEventHandler=function(t,e){this.listeners.forEach(function(n){n.name==t&&n.callback(e)})},e}(Ki),Qi=new Map,Yi=[bi,{provide:_i,useExisting:bi},{provide:Pn,useFactory:Gt,deps:[]},{provide:xn,useExisting:Pn},hi,Kn],$i=kt(null,"core",Yi),Zi=new Ee("LocaleId"),Ji=new Ee("Translations"),to=new Ee("TranslationsFormat"),eo=function(){function t(){}return t.decorators=[{type:$e,args:[{providers:[Ei,{provide:wi,useExisting:Ei},Bn,$n,qn,Vr,ir,{provide:dr,useFactory:Kt},{provide:yr,useFactory:Xt},{provide:Zi,useFactory:Qt,deps:[[new me(Zi),new ve,new be]]}]}]}],t.ctorParameters=function(){return[]},t}(),no="true",ro="*",io="*",oo="void",so=function(){function t(t){var e=this;this._players=t,this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this.parentPlayer=null;var n=0,i=this._players.length;0==i?r(function(){return e._onFinish()}):this._players.forEach(function(t){t.parentPlayer=e,t.onDone(function(){++n>=i&&e._onFinish()})})}return t.prototype._onFinish=function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(t){return t()}),this._onDoneFns=[])},t.prototype.init=function(){this._players.forEach(function(t){return t.init()})},t.prototype.onStart=function(t){this._onStartFns.push(t)},t.prototype.onDone=function(t){this._onDoneFns.push(t)},t.prototype.hasStarted=function(){return this._started},t.prototype.play=function(){s(this.parentPlayer)||this.init(),this.hasStarted()||(this._onStartFns.forEach(function(t){return t()}),this._onStartFns=[],this._started=!0),this._players.forEach(function(t){return t.play()})},t.prototype.pause=function(){this._players.forEach(function(t){return t.pause()})},t.prototype.restart=function(){this._players.forEach(function(t){return t.restart()})},t.prototype.finish=function(){this._onFinish(),this._players.forEach(function(t){return t.finish()})},t.prototype.destroy=function(){this._destroyed||(this._onFinish(),this._players.forEach(function(t){return t.destroy()}),this._destroyed=!0)},t.prototype.reset=function(){this._players.forEach(function(t){return t.reset()}),this._destroyed=!1,this._finished=!1,this._started=!1},t.prototype.setPosition=function(t){this._players.forEach(function(e){e.setPosition(t)})},t.prototype.getPosition=function(){var t=0;return this._players.forEach(function(e){var n=e.getPosition();t=Math.min(n,t)}),t},Object.defineProperty(t.prototype,"players",{get:function(){return this._players},enumerable:!0,configurable:!0}),t}(),ao=function(){function t(t,e){this.offset=t,this.styles=e}return t}(),uo=function(){function t(){}return t.prototype.onDone=function(){},t.prototype.onStart=function(){},t.prototype.init=function(){},t.prototype.hasStarted=function(){},t.prototype.play=function(){},t.prototype.pause=function(){},t.prototype.restart=function(){},t.prototype.finish=function(){},t.prototype.destroy=function(){},t.prototype.reset=function(){},t.prototype.setPosition=function(){},t.prototype.getPosition=function(){},Object.defineProperty(t.prototype,"parentPlayer",{get:function(){throw new Error("NOT IMPLEMENTED: Base Class")},set:function(){throw new Error("NOT IMPLEMENTED: Base Class")},enumerable:!0,configurable:!0}),t}(),co=function(){function t(){var t=this;this._onDoneFns=[],this._onStartFns=[],this._started=!1,this.parentPlayer=null,r(function(){return t._onFinish()})}return t.prototype._onFinish=function(){this._onDoneFns.forEach(function(t){return t()}),this._onDoneFns=[]},t.prototype.onStart=function(t){this._onStartFns.push(t)},t.prototype.onDone=function(t){this._onDoneFns.push(t)},t.prototype.hasStarted=function(){return this._started},t.prototype.init=function(){},t.prototype.play=function(){this.hasStarted()||(this._onStartFns.forEach(function(t){return t()}),this._onStartFns=[]),this._started=!0},t.prototype.pause=function(){},t.prototype.restart=function(){},t.prototype.finish=function(){this._onFinish()},t.prototype.destroy=function(){},t.prototype.reset=function(){},t.prototype.setPosition=function(){},t.prototype.getPosition=function(){return 0},t}(),po=function(){function t(t){var e=this;this._players=t,this._currentIndex=0,this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this.parentPlayer=null,this._players.forEach(function(t){t.parentPlayer=e}),this._onNext(!1)}return t.prototype._onNext=function(t){var e=this;if(!this._finished)if(0==this._players.length)this._activePlayer=new co,r(function(){return e._onFinish()});else if(this._currentIndex>=this._players.length)this._activePlayer=new co,this._onFinish();else{var n=this._players[this._currentIndex++];n.onDone(function(){return e._onNext(!0)}),this._activePlayer=n,t&&n.play()}},t.prototype._onFinish=function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(t){return t()}),this._onDoneFns=[])},t.prototype.init=function(){this._players.forEach(function(t){return t.init()})},t.prototype.onStart=function(t){this._onStartFns.push(t)},t.prototype.onDone=function(t){this._onDoneFns.push(t)},t.prototype.hasStarted=function(){return this._started},t.prototype.play=function(){s(this.parentPlayer)||this.init(),this.hasStarted()||(this._onStartFns.forEach(function(t){return t()}),this._onStartFns=[],this._started=!0),this._activePlayer.play()},t.prototype.pause=function(){this._activePlayer.pause()},t.prototype.restart=function(){this.reset(),this._players.length>0&&this._players[0].restart()},t.prototype.reset=function(){this._players.forEach(function(t){return t.reset()}),this._destroyed=!1,this._finished=!1,this._started=!1},t.prototype.finish=function(){this._onFinish(),this._players.forEach(function(t){return t.finish()})},t.prototype.destroy=function(){this._destroyed||(this._onFinish(),this._players.forEach(function(t){return t.destroy()}),this._destroyed=!0,this._activePlayer=new co)},t.prototype.setPosition=function(t){this._players[0].setPosition(t)},t.prototype.getPosition=function(){return this._players[0].getPosition()},Object.defineProperty(t.prototype,"players",{get:function(){return this._players},enumerable:!0,configurable:!0}),t}(),lo=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},ho="*",fo=function(){function t(t,e){this.name=t,this.definitions=e}return t}(),yo=function(){function t(){}return t}(),mo=function(t){function e(e,n){t.call(this),this.stateNameExpr=e,this.styles=n}return lo(e,t),e}(yo),vo=function(t){function e(e,n){t.call(this),this.stateChangeExpr=e,this.steps=n}return lo(e,t),e}(yo),go=function(){function t(){}return t}(),_o=function(t){function e(e){t.call(this),this.steps=e}return lo(e,t),e}(go),bo=function(t){function e(e,n){void 0===n&&(n=null),t.call(this),this.styles=e,this.offset=n}return lo(e,t),e}(go),wo=function(t){function e(e,n){t.call(this),this.timings=e,this.styles=n}return lo(e,t),e}(go),Eo=function(t){function e(){t.call(this)}return lo(e,t),Object.defineProperty(e.prototype,"steps",{get:function(){throw new Error("NOT IMPLEMENTED: Base Class")},enumerable:!0,configurable:!0}),e}(go),So=function(t){function e(e){t.call(this),this._steps=e}return lo(e,t),Object.defineProperty(e.prototype,"steps",{get:function(){return this._steps},enumerable:!0,configurable:!0}),e}(Eo),Co=function(t){function e(e){t.call(this),this._steps=e}return lo(e,t),Object.defineProperty(e.prototype,"steps",{get:function(){return this._steps},enumerable:!0,configurable:!0}),e}(Eo),xo=function(){function t(t){this.styles=t}return t}(),To=function(){function t(t){var e=t.fromState,n=t.toState,r=t.totalTime,i=t.phaseName;this.fromState=e,this.toState=n,this.totalTime=r,this.phaseName=i}return t}(),Po=function(){function t(t,e,n,r){this._player=t,this._fromState=e,this._toState=n,this._totalTime=r}return t.prototype._createEvent=function(t){return new To({fromState:this._fromState,toState:this._toState,totalTime:this._totalTime,phaseName:t})},t.prototype.onStart=function(t){var e=this,n=Zone.current.wrap(function(){return t(e._createEvent("start"))},"player.onStart");this._player.onStart(n)},t.prototype.onDone=function(t){var e=this,n=Zone.current.wrap(function(){return t(e._createEvent("done"))},"player.onDone");this._player.onDone(n)},t}(),Oo=function(){function t(t){this._delegate=t}return t.prototype.renderComponent=function(t){return new Ao(this._delegate.renderComponent(t))},t}(),Ao=function(){function t(t){this._delegate=t}return t.prototype.selectRootElement=function(t,e){var n=this._delegate.selectRootElement(t,e),r=new Xi(n,null,e);return zt(r),n},t.prototype.createElement=function(t,e,n){var r=this._delegate.createElement(t,e,n),i=new Xi(r,qt(t),n);return i.name=e,zt(i),r},t.prototype.createViewRoot=function(t){return this._delegate.createViewRoot(t)},t.prototype.createTemplateAnchor=function(t,e){var n=this._delegate.createTemplateAnchor(t,e),r=new Ki(n,qt(t),e);return zt(r),n},t.prototype.createText=function(t,e,n){var r=this._delegate.createText(t,e,n),i=new Ki(r,qt(t),n);return zt(i),r},t.prototype.projectNodes=function(t,e){var n=qt(t);if(s(n)&&n instanceof Xi){var r=n;e.forEach(function(t){r.addChild(qt(t))})}this._delegate.projectNodes(t,e)},t.prototype.attachViewAfter=function(t,e){var n=qt(t);if(s(n)){var r=n.parent;if(e.length>0&&s(r)){var i=[];e.forEach(function(t){return i.push(qt(t))}),r.insertChildrenAfter(n,i)}}this._delegate.attachViewAfter(t,e)},t.prototype.detachView=function(t){t.forEach(function(t){var e=qt(t);s(e)&&s(e.parent)&&e.parent.removeChild(e)}),this._delegate.detachView(t)},t.prototype.destroyView=function(t,e){e=e||[],e.forEach(function(t){Wt(qt(t))}),this._delegate.destroyView(t,e)},t.prototype.listen=function(t,e,n){var r=qt(t);return s(r)&&r.listeners.push(new Gi(e,n)),this._delegate.listen(t,e,n)},t.prototype.listenGlobal=function(t,e,n){return this._delegate.listenGlobal(t,e,n)},t.prototype.setElementProperty=function(t,e,n){var r=qt(t);s(r)&&r instanceof Xi&&(r.properties[e]=n),this._delegate.setElementProperty(t,e,n)},t.prototype.setElementAttribute=function(t,e,n){var r=qt(t);s(r)&&r instanceof Xi&&(r.attributes[e]=n),this._delegate.setElementAttribute(t,e,n)},t.prototype.setBindingDebugInfo=function(t,e,n){this._delegate.setBindingDebugInfo(t,e,n)},t.prototype.setElementClass=function(t,e,n){var r=qt(t);s(r)&&r instanceof Xi&&(r.classes[e]=n),this._delegate.setElementClass(t,e,n)},t.prototype.setElementStyle=function(t,e,n){var r=qt(t);s(r)&&r instanceof Xi&&(r.styles[e]=n),this._delegate.setElementStyle(t,e,n)},t.prototype.invokeElementMethod=function(t,e,n){this._delegate.invokeElementMethod(t,e,n)},t.prototype.setText=function(t,e){this._delegate.setText(t,e)},t.prototype.animate=function(t,e,n,r,i,o,s){return void 0===s&&(s=[]),this._delegate.animate(t,e,n,r,i,o,s)},t}(),Mo={};Mo.HOST=0,Mo.COMPONENT=1,Mo.EMBEDDED=2,Mo[Mo.HOST]="HOST",Mo[Mo.COMPONENT]="COMPONENT",Mo[Mo.EMBEDDED]="EMBEDDED";var Ro=function(){function t(t,e,n){this.providerTokens=t,this.componentToken=e,this.refTokens=n}return t}(),ko=function(){function t(t,e,n,r){this._view=t,this._nodeIndex=e,this._tplRow=n,this._tplCol=r}return Object.defineProperty(t.prototype,"_staticNodeInfo",{get:function(){return s(this._nodeIndex)?this._view.staticNodeDebugInfos[this._nodeIndex]:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"context",{get:function(){return this._view.context},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"component",{get:function(){var t=this._staticNodeInfo;return s(t)&&s(t.componentToken)?this.injector.get(t.componentToken):null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"componentRenderElement",{get:function(){for(var t=this._view;s(t.parentView)&&t.type!==Mo.COMPONENT;)t=t.parentView;return t.parentElement},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"injector",{get:function(){return this._view.injector(this._nodeIndex)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"renderNode",{get:function(){return s(this._nodeIndex)&&this._view.allNodes?this._view.allNodes[this._nodeIndex]:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"providerTokens",{get:function(){var t=this._staticNodeInfo;return s(t)?t.providerTokens:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"source",{get:function(){return this._view.componentType.templateUrl+":"+this._tplRow+":"+this._tplCol},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"references",{get:function(){var t=this,e={},n=this._staticNodeInfo;if(s(n)){var r=n.refTokens;Object.keys(r).forEach(function(n){var i,o=r[n];i=a(o)?t._view.allNodes?t._view.allNodes[t._nodeIndex]:null:t._view.injectorGet(o,t._nodeIndex,null),e[n]=i})}return e},enumerable:!0,configurable:!0}),t}(),No=function(){function t(){this._map=new Map,this._allPlayers=[]}return t.prototype.find=function(t,e){var n=this._map.get(t);return s(n)?n[e]:void 0},t.prototype.findAllPlayersByElement=function(t){var e=this._map.get(t);return e?Object.keys(e).map(function(t){return e[t]}):[]},t.prototype.set=function(t,e,n){var r=this._map.get(t);s(r)||(r={});var i=r[e];s(i)&&this.remove(t,e),r[e]=n,this._allPlayers.push(n),this._map.set(t,r)},t.prototype.getAllPlayers=function(){return this._allPlayers},t.prototype.remove=function(t,e,n){void 0===n&&(n=null);var r=this._map.get(t);if(r){var i=r[e];if(!n||i===n){delete r[e];var o=this._allPlayers.indexOf(i);this._allPlayers.splice(o,1),0===Object.keys(r).length&&this._map["delete"](t)}}},t}(),Io=function(){function t(t){this._animationQueue=t,this._players=new No}return t.prototype.onAllActiveAnimationsDone=function(t){var e=this._players.getAllPlayers();e.length?new so(e).onDone(function(){return t()}):t()},t.prototype.queueAnimation=function(t,e,n){var r=this;this._animationQueue.enqueue(n),this._players.set(t,e,n),n.onDone(function(){return r._players.remove(t,e,n)})},t.prototype.getAnimationPlayers=function(t,e){void 0===e&&(e=null);var n=[];if(e){var r=this._players.find(t,e);r&&pe(r,n)}else this._players.findAllPlayersByElement(t).forEach(function(t){return pe(t,n)});return n},t}(),Do=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},jo=function(t){function e(e,n){t.call(this),this._view=e,this._nodeIndex=n}return Do(e,t),e.prototype.get=function(t,e){return void 0===e&&(e=rn),this._view.injectorGet(t,this._nodeIndex,e)},e}(sn),Lo=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Vo=ai("AppView#check(ascii id)"),Fo=new Object,Uo=new Object,Bo=function(){function t(t,e,n,r,i,o,s,a,u){void 0===u&&(u=null),this.clazz=t,this.componentType=e,this.type=n,this.viewUtils=r,this.parentView=i,this.parentIndex=o,this.parentElement=s,this.cdMode=a,this.declaredViewContainer=u,this.numberOfChecks=0,this.ref=new zi(this,r.animationQueue),this.renderer=n===Mo.COMPONENT||n===Mo.HOST?r.renderComponent(e):i.renderer,this._directRenderer=this.renderer.directRenderer}return Object.defineProperty(t.prototype,"animationContext",{get:function(){return this._animationContext||(this._animationContext=new Io(this.viewUtils.animationQueue)),this._animationContext},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"destroyed",{get:function(){return this.cdMode===Re.Destroyed},enumerable:!0,configurable:!0}),t.prototype.create=function(t){return this.context=t,this.createInternal(null)},t.prototype.createHostView=function(t,e,n){return this.context=Fo,this._hasExternalHostElement=s(t),this._hostInjector=e,this._hostProjectableNodes=n,this.createInternal(t)},t.prototype.createInternal=function(){return null},t.prototype.createEmbeddedViewInternal=function(){return null},t.prototype.init=function(t,e,n){this.lastRootNode=t,this.allNodes=e,this.disposables=n,this.type===Mo.COMPONENT&&this.dirtyParentQueriesInternal()},t.prototype.injectorGet=function(t,e,n){void 0===n&&(n=rn);for(var r=Uo,i=this;r===Uo;)s(e)&&(r=i.injectorGetInternal(t,e,Uo)),r===Uo&&i.type===Mo.HOST&&(r=i._hostInjector.get(t,n)),e=i.parentIndex,i=i.parentView;return r},t.prototype.injectorGetInternal=function(t,e,n){return n},t.prototype.injector=function(t){return new jo(this,t)},t.prototype.detachAndDestroy=function(){this.viewContainer?this.viewContainer.detachView(this.viewContainer.nestedViews.indexOf(this)):this.appRef?this.appRef.detachView(this.ref):this._hasExternalHostElement&&this.detach(),this.destroy()},t.prototype.destroy=function(){var t=this;if(this.cdMode!==Re.Destroyed){var e=this.type===Mo.COMPONENT?this.parentElement:null;if(this.disposables)for(var n=0;n<this.disposables.length;n++)this.disposables[n]();this.destroyInternal(),this.dirtyParentQueriesInternal(),this._animationContext?this._animationContext.onAllActiveAnimationsDone(function(){return t.renderer.destroyView(e,t.allNodes)}):this.renderer.destroyView(e,this.allNodes),this.cdMode=Re.Destroyed}},t.prototype.destroyInternal=function(){},t.prototype.detachInternal=function(){},t.prototype.detach=function(){var t=this;if(this.detachInternal(),this._animationContext?this._animationContext.onAllActiveAnimationsDone(function(){return t._renderDetach()}):this._renderDetach(),this.declaredViewContainer&&this.declaredViewContainer!==this.viewContainer&&this.declaredViewContainer.projectedViews){var e=this.declaredViewContainer.projectedViews,n=e.indexOf(this);n>=e.length-1?e.pop():e.splice(n,1)}this.appRef=null,this.viewContainer=null,this.dirtyParentQueriesInternal()},t.prototype._renderDetach=function(){this._directRenderer?this.visitRootNodesInternal(this._directRenderer.remove,null):this.renderer.detachView(this.flatRootNodes)},t.prototype.attachToAppRef=function(t){if(this.viewContainer)throw new Error("This view is already attached to a ViewContainer!");this.appRef=t,this.dirtyParentQueriesInternal()},t.prototype.attachAfter=function(t,e){if(this.appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._renderAttach(t,e),this.viewContainer=t,this.declaredViewContainer&&this.declaredViewContainer!==t&&(this.declaredViewContainer.projectedViews||(this.declaredViewContainer.projectedViews=[]),this.declaredViewContainer.projectedViews.push(this)),this.dirtyParentQueriesInternal()},t.prototype.moveAfter=function(t,e){this._renderAttach(t,e),this.dirtyParentQueriesInternal()},t.prototype._renderAttach=function(t,e){var n=e?e.lastRootNode:t.nativeElement;if(this._directRenderer){var r=this._directRenderer.nextSibling(n);if(r)this.visitRootNodesInternal(this._directRenderer.insertBefore,r);else{var i=this._directRenderer.parentElement(n);i&&this.visitRootNodesInternal(this._directRenderer.appendChild,i)}}else this.renderer.attachViewAfter(n,this.flatRootNodes)},Object.defineProperty(t.prototype,"changeDetectorRef",{get:function(){return this.ref},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"flatRootNodes",{get:function(){var t=[];return this.visitRootNodesInternal($,t),t},enumerable:!0,configurable:!0}),t.prototype.projectNodes=function(t,e){if(this._directRenderer)this.visitProjectedNodes(e,this._directRenderer.appendChild,t);else{var n=[];this.visitProjectedNodes(e,$,n),this.renderer.projectNodes(t,n)}},t.prototype.visitProjectedNodes=function(t,e,n){switch(this.type){case Mo.EMBEDDED:this.parentView.visitProjectedNodes(t,e,n);break;case Mo.COMPONENT:if(this.parentView.type===Mo.HOST)for(var r=this.parentView._hostProjectableNodes[t]||[],i=0;i<r.length;i++)e(r[i],n);else this.parentView.visitProjectableNodesInternal(this.parentIndex,t,e,n)}},t.prototype.visitRootNodesInternal=function(){},t.prototype.visitProjectableNodesInternal=function(){},t.prototype.dirtyParentQueriesInternal=function(){},t.prototype.internalDetectChanges=function(t){this.cdMode!==Re.Detached&&this.detectChanges(t)},t.prototype.detectChanges=function(t){var e=Vo(this.clazz);this.cdMode!==Re.Checked&&this.cdMode!==Re.Errored&&(this.cdMode===Re.Destroyed&&this.throwDestroyedError("detectChanges"),this.detectChangesInternal(t),this.cdMode===Re.CheckOnce&&(this.cdMode=Re.Checked),this.numberOfChecks++,ui(e))},t.prototype.detectChangesInternal=function(){},t.prototype.markAsCheckOnce=function(){this.cdMode=Re.CheckOnce},t.prototype.markPathToRootAsCheckOnce=function(){for(var t=this;s(t)&&t.cdMode!==Re.Detached;)t.cdMode===Re.Checked&&(t.cdMode=Re.CheckOnce),t=t.type===Mo.COMPONENT?t.parentView:t.viewContainer?t.viewContainer.parentView:null},t.prototype.eventHandler=function(t){return t},t.prototype.throwDestroyedError=function(t){throw new Lr(t)},t}(),Ho=function(t){function e(e,n,r,i,o,s,a,u,c,p){void 0===p&&(p=null),t.call(this,e,n,r,i,o,s,a,u,p),this.staticNodeDebugInfos=c,this._currentDebugContext=null}return Lo(e,t),e.prototype.create=function(e){this._resetDebug();try{return t.prototype.create.call(this,e)}catch(n){throw this._rethrowWithContext(n),n}},e.prototype.createHostView=function(e,n,r){void 0===r&&(r=null),this._resetDebug();try{return t.prototype.createHostView.call(this,e,n,r)}catch(i){throw this._rethrowWithContext(i),i}},e.prototype.injectorGet=function(e,n,r){this._resetDebug();try{return t.prototype.injectorGet.call(this,e,n,r)}catch(i){throw this._rethrowWithContext(i),i}},e.prototype.detach=function(){this._resetDebug();try{t.prototype.detach.call(this)}catch(e){throw this._rethrowWithContext(e),e}},e.prototype.destroy=function(){this._resetDebug();try{t.prototype.destroy.call(this)}catch(e){throw this._rethrowWithContext(e),e}},e.prototype.detectChanges=function(e){this._resetDebug();try{t.prototype.detectChanges.call(this,e)}catch(n){throw this._rethrowWithContext(n),n}},e.prototype._resetDebug=function(){this._currentDebugContext=null},e.prototype.debug=function(t,e,n){return this._currentDebugContext=new ko(this,t,e,n)},e.prototype._rethrowWithContext=function(t){if(!(t instanceof jr)&&(t instanceof Dr||(this.cdMode=Re.Errored),s(this._currentDebugContext)))throw new jr(t,this._currentDebugContext)},e.prototype.eventHandler=function(e){var n=this,r=t.prototype.eventHandler.call(this,e);return function(t,e){n._resetDebug();try{return r.call(n,t,e)}catch(i){throw n._rethrowWithContext(i),i}}},e}(Bo),qo=function(){function t(t,e,n,r){this.index=t,this.parentIndex=e,this.parentView=n,this.nativeElement=r}return Object.defineProperty(t.prototype,"elementRef",{get:function(){return new tr(this.nativeElement)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"vcRef",{get:function(){return new Ui(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"parentInjector",{get:function(){return this.parentView.injector(this.parentIndex)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"injector",{get:function(){return this.parentView.injector(this.index)},enumerable:!0,configurable:!0}),t.prototype.detectChangesInNestedViews=function(t){if(this.nestedViews)for(var e=0;e<this.nestedViews.length;e++)this.nestedViews[e].detectChanges(t)},t.prototype.destroyNestedViews=function(){if(this.nestedViews)for(var t=0;t<this.nestedViews.length;t++)this.nestedViews[t].destroy()},t.prototype.visitNestedViewRootNodes=function(t,e){if(this.nestedViews)for(var n=0;n<this.nestedViews.length;n++)this.nestedViews[n].visitRootNodesInternal(t,e)},t.prototype.mapNestedViews=function(t,e){var n=[];if(this.nestedViews)for(var r=0;r<this.nestedViews.length;r++){var i=this.nestedViews[r];i.clazz===t&&n.push(e(i))}if(this.projectedViews)for(var r=0;r<this.projectedViews.length;r++){var o=this.projectedViews[r];o.clazz===t&&n.push(e(o))}return n},t.prototype.moveView=function(t,e){var n=this.nestedViews.indexOf(t);if(t.type===Mo.COMPONENT)throw new Error("Component views can't be moved!");var r=this.nestedViews;null==r&&(r=[],this.nestedViews=r),r.splice(n,1),r.splice(e,0,t);var i=e>0?r[e-1]:null;t.moveAfter(this,i)},t.prototype.attachView=function(t,e){if(t.type===Mo.COMPONENT)throw new Error("Component views can't be moved!");var n=this.nestedViews;null==n&&(n=[],this.nestedViews=n),e>=n.length?n.push(t):n.splice(e,0,t);var r=e>0?n[e-1]:null;t.attachAfter(this,r)},t.prototype.detachView=function(t){var e=this.nestedViews[t];if(t>=this.nestedViews.length-1?this.nestedViews.pop():this.nestedViews.splice(t,1),e.type===Mo.COMPONENT)throw new Error("Component views can't be moved!");return e.detach(),e},t}(),zo={isDefaultChangeDetectionStrategy:E,ChangeDetectorStatus:Re,constructDependencies:D,LifecycleHooks:Fe,LIFECYCLE_HOOKS_VALUES:Ue,ReflectorReader:xn,CodegenComponentFactoryResolver:oi,ComponentRef_:Jr,ViewContainer:qo,AppView:Bo,DebugAppView:Ho,NgModuleInjector:Pi,registerModuleFactory:Lt,ViewType:Mo,view_utils:Yr,ViewMetadata:Je,DebugContext:ko,StaticNodeDebugInfo:Ro,devModeEqual:Q,UNINITIALIZED:mr,ValueUnwrapper:gr,RenderDebugInfo:Tr,TemplateRef_:Vi,ReflectionCapabilities:Cn,makeDecorator:g,DebugDomRootRenderer:Oo,Console:Kn,reflector:On,Reflector:Pn,NoOpAnimationPlayer:co,AnimationPlayer:uo,AnimationSequencePlayer:po,AnimationGroupPlayer:so,AnimationKeyframe:ao,prepareFinalAnimationStyles:ie,balanceAnimationKeyframes:oe,flattenStyles:ce,clearStyles:se,renderStyles:ue,collectAndResolveStyles:ae,APP_ID_RANDOM_PROVIDER:qn,AnimationStyles:xo,ANY_STATE:ro,DEFAULT_STATE:io,EMPTY_STATE:oo,FILL_STYLE_FLAG:no,ComponentStillLoadingError:Qn,isPromise:q,isObservable:z,AnimationTransition:Po};t.createPlatform=Rt,t.assertPlatform=Nt,t.destroyPlatform=It,t.getPlatform=Dt,t.PlatformRef=_i,t.ApplicationRef=wi,t.enableProdMode=At,t.isDevMode=Mt,t.createPlatformFactory=kt,t.NgProbeToken=gi,t.APP_ID=Hn,t.PACKAGE_ROOT_URL=Gn,t.PLATFORM_INITIALIZER=zn,t.APP_BOOTSTRAP_LISTENER=Wn,t.APP_INITIALIZER=Un,t.ApplicationInitStatus=Bn,t.DebugElement=Xi,t.DebugNode=Ki,t.asNativeElements=Ut,t.getDebugNode=qt,t.Testability=li,t.TestabilityRegistry=hi,t.setTestabilityGetter=Ot,t.TRANSLATIONS=Ji,t.TRANSLATIONS_FORMAT=to,t.LOCALE_ID=Zi,t.ApplicationModule=eo,t.wtfCreateScope=ai,t.wtfLeave=ui,t.wtfStartTimeRange=ci,t.wtfEndTimeRange=pi,t.Type=En,t.EventEmitter=nr,t.ErrorHandler=Ln,t.AnimationTransitionEvent=To,t.AnimationPlayer=uo,t.AnimationStyles=xo,t.AnimationKeyframe=ao,t.Sanitizer=Nr,t.SecurityContext=Ar,t.ANALYZE_FOR_ENTRY_COMPONENTS=Se,t.Attribute=Ce,t.ContentChild=Pe,t.ContentChildren=Te,t.Query=xe,t.ViewChild=Ae,t.ViewChildren=Oe,t.Component=Ne,t.Directive=ke,t.HostBinding=Le,t.HostListener=Ve,t.Input=De,t.Output=je,t.Pipe=Ie,t.AfterContentChecked=Ge,t.AfterContentInit=We,t.AfterViewChecked=Xe,t.AfterViewInit=Ke,t.DoCheck=qe,t.OnChanges=Be,t.OnDestroy=ze,t.OnInit=He,t.CUSTOM_ELEMENTS_SCHEMA=Qe,t.NO_ERRORS_SCHEMA=Ye,t.NgModule=$e,t.ViewEncapsulation=Ze,t.Version=tn,t.VERSION=en,t.Class=v,t.forwardRef=S,t.resolveForwardRef=C,t.Injector=sn,t.ReflectiveInjector=In,t.ResolvedReflectiveFactory=kn,t.ReflectiveKey=_n,t.OpaqueToken=Ee,t.Inject=me,t.Optional=ve,t.Injectable=ge,t.Self=_e,t.SkipSelf=be,t.Host=we,t.NgZone=rr,t.RenderComponentType=xr,t.Renderer=Pr,t.RootRenderer=Or,t.COMPILER_OPTIONS=Zn,t.Compiler=$n,t.CompilerFactory=Jn,t.ModuleWithComponentFactories=Yn,t.ComponentFactory=ti,t.ComponentRef=Zr,t.ComponentFactoryResolver=ii,t.ElementRef=tr,t.NgModuleFactory=xi,t.NgModuleRef=Ci,t.NgModuleFactoryLoader=Oi,t.getModuleFactory=Vt,t.QueryList=Mi,t.SystemJsNgModuleLoader=Di,t.SystemJsNgModuleLoaderConfig=Ni,t.TemplateRef=Li,t.ViewContainerRef=Fi,t.EmbeddedViewRef=qi,t.ViewRef=Hi,t.ChangeDetectionStrategy=Me,t.ChangeDetectorRef=br,t.CollectionChangeRecord=ur,t.DefaultIterableDiffer=ar,t.IterableDiffers=dr,t.KeyValueChangeRecord=fr,t.KeyValueDiffers=yr,t.SimpleChange=_r,t.WrappedValue=vr,t.platformCore=$i,t.__core_private__=zo,t.AUTO_STYLE=ho,t.AnimationEntryMetadata=fo,t.AnimationStateMetadata=yo,t.AnimationStateDeclarationMetadata=mo,t.AnimationStateTransitionMetadata=vo,t.AnimationMetadata=go,t.AnimationKeyframesSequenceMetadata=_o,t.AnimationStyleMetadata=bo,t.AnimationAnimateMetadata=wo,t.AnimationWithStepsMetadata=Eo,t.AnimationSequenceMetadata=So,t.AnimationGroupMetadata=Co,t.animate=Yt,t.group=$t,t.sequence=Zt,t.style=Jt,t.state=te,t.keyframes=ee,t.transition=ne,t.trigger=re})}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"rxjs/Observable":15,"rxjs/Subject":18,"rxjs/symbol/observable":46}],8:[function(e,n,r){!function(i,o){"object"==typeof r&&"undefined"!=typeof n?o(r,e("@angular/core"),e("rxjs/Observable"),e("@angular/platform-browser")):"function"==typeof t&&t.amd?t(["exports","@angular/core","rxjs/Observable","@angular/platform-browser"],o):o((i.ng=i.ng||{},i.ng.http=i.ng.http||{}),i.ng.core,i.Rx,i.ng.platformBrowser)}(this,function(t,e,n,r){"use strict";function i(t){if("string"!=typeof t)return t;switch(t.toUpperCase()){case"GET":return m.Get;case"POST":return m.Post;case"PUT":return m.Put;case"DELETE":return m.Delete;case"OPTIONS":return m.Options;case"HEAD":return m.Head;case"PATCH":return m.Patch}throw new Error('Invalid request method. The method "'+t+'" is not supported.')}function o(t){return"responseURL"in t?t.responseURL:/^X-Request-URL:/m.test(t.getAllResponseHeaders())?t.getResponseHeader("X-Request-URL"):void 0}function s(t){for(var e=new Uint16Array(t.length),n=0,r=t.length;r>n;n++)e[n]=t.charCodeAt(n);return e.buffer}function a(t){void 0===t&&(t="");var e=new Map;if(t.length>0){var n=t.split("&");n.forEach(function(t){var n=t.indexOf("="),r=-1==n?[t,""]:[t.slice(0,n),t.slice(n+1)],i=r[0],o=r[1],s=e.get(i)||[];s.push(o),e.set(i,s)})}return e}function u(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/gi,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%2B/gi,"+").replace(/%3D/gi,"=").replace(/%3F/gi,"?").replace(/%2F/gi,"/")}function c(){var t="object"==typeof window?window:{};return null===j&&(j=t[D]={}),j}function p(t,e){return t.createConnection(e).response}function l(t,e,n,r){var i=t;return i.merge(e?new Y({method:e.method||n,url:e.url||r,search:e.search,headers:e.headers,body:e.body,withCredentials:e.withCredentials,responseType:e.responseType}):new Y({method:n,url:r}))}function h(){return new K}function f(t,e){return new st(t,e)}function d(t,e){return new at(t,e)}var y=function(){function t(){}return t.prototype.build=function(){return new XMLHttpRequest},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[]},t}(),m={};m.Get=0,m.Post=1,m.Put=2,m.Delete=3,m.Options=4,m.Head=5,m.Patch=6,m[m.Get]="Get",m[m.Post]="Post",m[m.Put]="Put",m[m.Delete]="Delete",m[m.Options]="Options",m[m.Head]="Head",m[m.Patch]="Patch";var v={};v.Unsent=0,v.Open=1,v.HeadersReceived=2,v.Loading=3,v.Done=4,v.Cancelled=5,v[v.Unsent]="Unsent",v[v.Open]="Open",v[v.HeadersReceived]="HeadersReceived",v[v.Loading]="Loading",v[v.Done]="Done",
-v[v.Cancelled]="Cancelled";var g={};g.Basic=0,g.Cors=1,g.Default=2,g.Error=3,g.Opaque=4,g[g.Basic]="Basic",g[g.Cors]="Cors",g[g.Default]="Default",g[g.Error]="Error",g[g.Opaque]="Opaque";var _={};_.NONE=0,_.JSON=1,_.FORM=2,_.FORM_DATA=3,_.TEXT=4,_.BLOB=5,_.ARRAY_BUFFER=6,_[_.NONE]="NONE",_[_.JSON]="JSON",_[_.FORM]="FORM",_[_.FORM_DATA]="FORM_DATA",_[_.TEXT]="TEXT",_[_.BLOB]="BLOB",_[_.ARRAY_BUFFER]="ARRAY_BUFFER";var b={};b.Text=0,b.Json=1,b.ArrayBuffer=2,b.Blob=3,b[b.Text]="Text",b[b.Json]="Json",b[b.ArrayBuffer]="ArrayBuffer",b[b.Blob]="Blob";var w=function(){function t(e){var n=this;return this._headers=new Map,this._normalizedNames=new Map,e?e instanceof t?void e.forEach(function(t,e){t.forEach(function(t){return n.append(e,t)})}):void Object.keys(e).forEach(function(t){var r=Array.isArray(e[t])?e[t]:[e[t]];n["delete"](t),r.forEach(function(e){return n.append(t,e)})}):void 0}return t.fromResponseHeaderString=function(e){var n=new t;return e.split("\n").forEach(function(t){var e=t.indexOf(":");if(e>0){var r=t.slice(0,e),i=t.slice(e+1).trim();n.set(r,i)}}),n},t.prototype.append=function(t,e){var n=this.getAll(t);null===n?this.set(t,e):n.push(e)},t.prototype["delete"]=function(t){var e=t.toLowerCase();this._normalizedNames["delete"](e),this._headers["delete"](e)},t.prototype.forEach=function(t){var e=this;this._headers.forEach(function(n,r){return t(n,e._normalizedNames.get(r),e._headers)})},t.prototype.get=function(t){var e=this.getAll(t);return null===e?null:e.length>0?e[0]:null},t.prototype.has=function(t){return this._headers.has(t.toLowerCase())},t.prototype.keys=function(){return Array.from(this._normalizedNames.values())},t.prototype.set=function(t,e){Array.isArray(e)?e.length&&this._headers.set(t.toLowerCase(),[e.join(",")]):this._headers.set(t.toLowerCase(),[e]),this.mayBeSetNormalizedName(t)},t.prototype.values=function(){return Array.from(this._headers.values())},t.prototype.toJSON=function(){var t=this,e={};return this._headers.forEach(function(n,r){var i=[];n.forEach(function(t){return i.push.apply(i,t.split(","))}),e[t._normalizedNames.get(r)]=i}),e},t.prototype.getAll=function(t){return this.has(t)?this._headers.get(t.toLowerCase()):null},t.prototype.entries=function(){throw new Error('"entries" method is not implemented on Headers class')},t.prototype.mayBeSetNormalizedName=function(t){var e=t.toLowerCase();this._normalizedNames.has(e)||this._normalizedNames.set(e,t)},t}(),E=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},S=function(){function t(t){var e=void 0===t?{}:t,n=e.body,r=e.status,i=e.headers,o=e.statusText,s=e.type,a=e.url;this.body=null!=n?n:null,this.status=null!=r?r:null,this.headers=null!=i?i:null,this.statusText=null!=o?o:null,this.type=null!=s?s:null,this.url=null!=a?a:null}return t.prototype.merge=function(e){return new t({body:e&&null!=e.body?e.body:this.body,status:e&&null!=e.status?e.status:this.status,headers:e&&null!=e.headers?e.headers:this.headers,statusText:e&&null!=e.statusText?e.statusText:this.statusText,type:e&&null!=e.type?e.type:this.type,url:e&&null!=e.url?e.url:this.url})},t}(),C=function(t){function n(){t.call(this,{status:200,statusText:"Ok",type:g.Default,headers:new w})}return E(n,t),n.decorators=[{type:e.Injectable}],n.ctorParameters=function(){return[]},n}(S),x=function(){function t(){}return t.prototype.createConnection=function(){},t}(),T=function(){function t(){}return t}(),P=function(){function t(){}return t.prototype.configureRequest=function(){},t}(),O=function(t){return t>=200&&300>t},A=function(){function t(){}return t.prototype.encodeKey=function(t){return u(t)},t.prototype.encodeValue=function(t){return u(t)},t}(),M=function(){function t(t,e){void 0===t&&(t=""),void 0===e&&(e=new A),this.rawParams=t,this.queryEncoder=e,this.paramsMap=a(t)}return t.prototype.clone=function(){var e=new t("",this.queryEncoder);return e.appendAll(this),e},t.prototype.has=function(t){return this.paramsMap.has(t)},t.prototype.get=function(t){var e=this.paramsMap.get(t);return Array.isArray(e)?e[0]:null},t.prototype.getAll=function(t){return this.paramsMap.get(t)||[]},t.prototype.set=function(t,e){if(void 0===e||null===e)return void this["delete"](t);var n=this.paramsMap.get(t)||[];n.length=0,n.push(e),this.paramsMap.set(t,n)},t.prototype.setAll=function(t){var e=this;t.paramsMap.forEach(function(t,n){var r=e.paramsMap.get(n)||[];r.length=0,r.push(t[0]),e.paramsMap.set(n,r)})},t.prototype.append=function(t,e){if(void 0!==e&&null!==e){var n=this.paramsMap.get(t)||[];n.push(e),this.paramsMap.set(t,n)}},t.prototype.appendAll=function(t){var e=this;t.paramsMap.forEach(function(t,n){for(var r=e.paramsMap.get(n)||[],i=0;i<t.length;++i)r.push(t[i]);e.paramsMap.set(n,r)})},t.prototype.replaceAll=function(t){var e=this;t.paramsMap.forEach(function(t,n){var r=e.paramsMap.get(n)||[];r.length=0;for(var i=0;i<t.length;++i)r.push(t[i]);e.paramsMap.set(n,r)})},t.prototype.toString=function(){var t=this,e=[];return this.paramsMap.forEach(function(n,r){n.forEach(function(n){return e.push(t.queryEncoder.encodeKey(r)+"="+t.queryEncoder.encodeValue(n))})}),e.join("&")},t.prototype["delete"]=function(t){this.paramsMap["delete"](t)},t}(),R=function(){function t(){}return t.prototype.json=function(){return"string"==typeof this._body?JSON.parse(this._body):this._body instanceof ArrayBuffer?JSON.parse(this.text()):this._body},t.prototype.text=function(){return this._body instanceof M?this._body.toString():this._body instanceof ArrayBuffer?String.fromCharCode.apply(null,new Uint16Array(this._body)):null==this._body?"":"object"==typeof this._body?JSON.stringify(this._body,null,2):this._body.toString()},t.prototype.arrayBuffer=function(){return this._body instanceof ArrayBuffer?this._body:s(this.text())},t.prototype.blob=function(){if(this._body instanceof Blob)return this._body;if(this._body instanceof ArrayBuffer)return new Blob([this._body]);throw new Error("The request body isn't either a blob or an array buffer")},t}(),k=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},N=function(t){function e(e){t.call(this),this._body=e.body,this.status=e.status,this.ok=this.status>=200&&this.status<=299,this.statusText=e.statusText,this.headers=e.headers,this.type=e.type,this.url=e.url}return k(e,t),e.prototype.toString=function(){return"Response with status: "+this.status+" "+this.statusText+" for URL: "+this.url},e}(R),I=0,D="__ng_jsonp__",j=null,L=function(){function t(){}return t.prototype.build=function(t){var e=document.createElement("script");return e.src=t,e},t.prototype.nextRequestID=function(){return"__req"+I++},t.prototype.requestCallback=function(t){return D+"."+t+".finished"},t.prototype.exposeConnection=function(t,e){var n=c();n[t]=e},t.prototype.removeConnection=function(t){var e=c();e[t]=null},t.prototype.send=function(t){document.body.appendChild(t)},t.prototype.cleanup=function(t){t.parentNode&&t.parentNode.removeChild(t)},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[]},t}(),V=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},F="JSONP injected script did not invoke callback.",U="JSONP requests must use GET request method.",B=function(){function t(){}return t.prototype.finished=function(){},t}(),H=function(t){function e(e,r,i){var o=this;if(t.call(this),this._dom=r,this.baseResponseOptions=i,this._finished=!1,e.method!==m.Get)throw new TypeError(U);this.request=e,this.response=new n.Observable(function(t){o.readyState=v.Loading;var n=o._id=r.nextRequestID();r.exposeConnection(n,o);var s=r.requestCallback(o._id),a=e.url;a.indexOf("=JSONP_CALLBACK&")>-1?a=a.replace("=JSONP_CALLBACK&","="+s+"&"):a.lastIndexOf("=JSONP_CALLBACK")===a.length-"=JSONP_CALLBACK".length&&(a=a.substring(0,a.length-"=JSONP_CALLBACK".length)+("="+s));var u=o._script=r.build(a),c=function(){if(o.readyState!==v.Cancelled){if(o.readyState=v.Done,r.cleanup(u),!o._finished){var e=new S({body:F,type:g.Error,url:a});return i&&(e=i.merge(e)),void t.error(new N(e))}var n=new S({body:o._responseData,url:a});o.baseResponseOptions&&(n=o.baseResponseOptions.merge(n)),t.next(new N(n)),t.complete()}},p=function(e){if(o.readyState!==v.Cancelled){o.readyState=v.Done,r.cleanup(u);var n=new S({body:e.message,type:g.Error});i&&(n=i.merge(n)),t.error(new N(n))}};return u.addEventListener("load",c),u.addEventListener("error",p),r.send(u),function(){o.readyState=v.Cancelled,u.removeEventListener("load",c),u.removeEventListener("error",p),o._dom.cleanup(u)}})}return V(e,t),e.prototype.finished=function(t){this._finished=!0,this._dom.removeConnection(this._id),this.readyState!==v.Cancelled&&(this._responseData=t)},e}(B),q=function(t){function e(){t.apply(this,arguments)}return V(e,t),e}(x),z=function(t){function n(e,n){t.call(this),this._browserJSONP=e,this._baseResponseOptions=n}return V(n,t),n.prototype.createConnection=function(t){return new H(t,this._browserJSONP,this._baseResponseOptions)},n.decorators=[{type:e.Injectable}],n.ctorParameters=function(){return[{type:L},{type:S}]},n}(q),W=/^\)\]\}',?\n/,G=function(){function t(t,e,r){var i=this;this.request=t,this.response=new n.Observable(function(n){var s=e.build();s.open(m[t.method].toUpperCase(),t.url),null!=t.withCredentials&&(s.withCredentials=t.withCredentials);var a=function(){var e=1223===s.status?204:s.status,i=null;204!==e&&(i="undefined"==typeof s.response?s.responseText:s.response,"string"==typeof i&&(i=i.replace(W,""))),0===e&&(e=i?200:0);var a=w.fromResponseHeaderString(s.getAllResponseHeaders()),u=o(s)||t.url,c=s.statusText||"OK",p=new S({body:i,status:e,headers:a,statusText:c,url:u});null!=r&&(p=r.merge(p));var l=new N(p);return l.ok=O(e),l.ok?(n.next(l),void n.complete()):void n.error(l)},u=function(t){var e=new S({body:t,type:g.Error,status:s.status,statusText:s.statusText});null!=r&&(e=r.merge(e)),n.error(new N(e))};if(i.setDetectedContentType(t,s),null==t.headers&&(t.headers=new w),t.headers.has("Accept")||t.headers.append("Accept","application/json, text/plain, */*"),t.headers.forEach(function(t,e){return s.setRequestHeader(e,t.join(","))}),null!=t.responseType&&null!=s.responseType)switch(t.responseType){case b.ArrayBuffer:s.responseType="arraybuffer";break;case b.Json:s.responseType="json";break;case b.Text:s.responseType="text";break;case b.Blob:s.responseType="blob";break;default:throw new Error("The selected responseType is not supported")}return s.addEventListener("load",a),s.addEventListener("error",u),s.send(i.request.getBody()),function(){s.removeEventListener("load",a),s.removeEventListener("error",u),s.abort()}})}return t.prototype.setDetectedContentType=function(t,e){if(null==t.headers||null==t.headers.get("Content-Type"))switch(t.contentType){case _.NONE:break;case _.JSON:e.setRequestHeader("content-type","application/json");break;case _.FORM:e.setRequestHeader("content-type","application/x-www-form-urlencoded;charset=UTF-8");break;case _.TEXT:e.setRequestHeader("content-type","text/plain");break;case _.BLOB:var n=t.blob();n.type&&e.setRequestHeader("content-type",n.type)}},t}(),K=function(){function t(t,e){void 0===t&&(t="XSRF-TOKEN"),void 0===e&&(e="X-XSRF-TOKEN"),this._cookieName=t,this._headerName=e}return t.prototype.configureRequest=function(t){var e=r.__platform_browser_private__.getDOM().getCookie(this._cookieName);e&&t.headers.set(this._headerName,e)},t}(),X=function(){function t(t,e,n){this._browserXHR=t,this._baseResponseOptions=e,this._xsrfStrategy=n}return t.prototype.createConnection=function(t){return this._xsrfStrategy.configureRequest(t),new G(t,this._browserXHR,this._baseResponseOptions)},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[{type:y},{type:S},{type:P}]},t}(),Q=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Y=function(){function t(t){var e=void 0===t?{}:t,n=e.method,r=e.headers,o=e.body,s=e.url,a=e.search,u=e.withCredentials,c=e.responseType;this.method=null!=n?i(n):null,this.headers=null!=r?r:null,this.body=null!=o?o:null,this.url=null!=s?s:null,this.search=null!=a?"string"==typeof a?new M(a):a:null,this.withCredentials=null!=u?u:null,this.responseType=null!=c?c:null}return t.prototype.merge=function(e){return new t({method:e&&null!=e.method?e.method:this.method,headers:e&&null!=e.headers?e.headers:new w(this.headers),body:e&&null!=e.body?e.body:this.body,url:e&&null!=e.url?e.url:this.url,search:e&&null!=e.search?"string"==typeof e.search?new M(e.search):e.search.clone():this.search,withCredentials:e&&null!=e.withCredentials?e.withCredentials:this.withCredentials,responseType:e&&null!=e.responseType?e.responseType:this.responseType})},t}(),$=function(t){function n(){t.call(this,{method:m.Get,headers:new w})}return Q(n,t),n.decorators=[{type:e.Injectable}],n.ctorParameters=function(){return[]},n}(Y),Z=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},J=function(t){function e(e){t.call(this);var n=e.url;if(this.url=e.url,e.search){var r=e.search.toString();if(r.length>0){var o="?";-1!=this.url.indexOf("?")&&(o="&"==this.url[this.url.length-1]?"":"&"),this.url=n+o+r}}this._body=e.body,this.method=i(e.method),this.headers=new w(e.headers),this.contentType=this.detectContentType(),this.withCredentials=e.withCredentials,this.responseType=e.responseType}return Z(e,t),e.prototype.detectContentType=function(){switch(this.headers.get("content-type")){case"application/json":return _.JSON;case"application/x-www-form-urlencoded":return _.FORM;case"multipart/form-data":return _.FORM_DATA;case"text/plain":case"text/html":return _.TEXT;case"application/octet-stream":return this._body instanceof it?_.ARRAY_BUFFER:_.BLOB;default:return this.detectContentTypeFromBody()}},e.prototype.detectContentTypeFromBody=function(){return null==this._body?_.NONE:this._body instanceof M?_.FORM:this._body instanceof nt?_.FORM_DATA:this._body instanceof rt?_.BLOB:this._body instanceof it?_.ARRAY_BUFFER:this._body&&"object"==typeof this._body?_.JSON:_.TEXT},e.prototype.getBody=function(){switch(this.contentType){case _.JSON:return this.text();case _.FORM:return this.text();case _.FORM_DATA:return this._body;case _.TEXT:return this.text();case _.BLOB:return this.blob();case _.ARRAY_BUFFER:return this.arrayBuffer();default:return null}},e}(R),tt=function(){},et="object"==typeof window?window:tt,nt=et.FormData||tt,rt=et.Blob||tt,it=et.ArrayBuffer||tt,ot=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},st=function(){function t(t,e){this._backend=t,this._defaultOptions=e}return t.prototype.request=function(t,e){var n;if("string"==typeof t)n=p(this._backend,new J(l(this._defaultOptions,e,m.Get,t)));else{if(!(t instanceof J))throw new Error("First argument must be a url string or Request instance.");n=p(this._backend,t)}return n},t.prototype.get=function(t,e){return this.request(new J(l(this._defaultOptions,e,m.Get,t)))},t.prototype.post=function(t,e,n){return this.request(new J(l(this._defaultOptions.merge(new Y({body:e})),n,m.Post,t)))},t.prototype.put=function(t,e,n){return this.request(new J(l(this._defaultOptions.merge(new Y({body:e})),n,m.Put,t)))},t.prototype["delete"]=function(t,e){return this.request(new J(l(this._defaultOptions,e,m.Delete,t)))},t.prototype.patch=function(t,e,n){return this.request(new J(l(this._defaultOptions.merge(new Y({body:e})),n,m.Patch,t)))},t.prototype.head=function(t,e){return this.request(new J(l(this._defaultOptions,e,m.Head,t)))},t.prototype.options=function(t,e){return this.request(new J(l(this._defaultOptions,e,m.Options,t)))},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[{type:x},{type:Y}]},t}(),at=function(t){function n(e,n){t.call(this,e,n)}return ot(n,t),n.prototype.request=function(t,e){var n;if("string"==typeof t&&(t=new J(l(this._defaultOptions,e,m.Get,t))),!(t instanceof J))throw new Error("First argument must be a url string or Request instance.");if(t.method!==m.Get)throw new Error("JSONP requests must use GET request method.");return n=p(this._backend,t)},n.decorators=[{type:e.Injectable}],n.ctorParameters=function(){return[{type:x},{type:Y}]},n}(st),ut=function(){function t(){}return t.decorators=[{type:e.NgModule,args:[{providers:[{provide:st,useFactory:f,deps:[X,Y]},y,{provide:Y,useClass:$},{provide:S,useClass:C},X,{provide:P,useFactory:h}]}]}],t.ctorParameters=function(){return[]},t}(),ct=function(){function t(){}return t.decorators=[{type:e.NgModule,args:[{providers:[{provide:at,useFactory:d,deps:[q,Y]},L,{provide:Y,useClass:$},{provide:S,useClass:C},{provide:q,useClass:z}]}]}],t.ctorParameters=function(){return[]},t}(),pt=new e.Version("2.4.9");t.BrowserXhr=y,t.JSONPBackend=q,t.JSONPConnection=B,t.CookieXSRFStrategy=K,t.XHRBackend=X,t.XHRConnection=G,t.BaseRequestOptions=$,t.RequestOptions=Y,t.BaseResponseOptions=C,t.ResponseOptions=S,t.ReadyState=v,t.RequestMethod=m,t.ResponseContentType=b,t.ResponseType=g,t.Headers=w,t.Http=st,t.Jsonp=at,t.HttpModule=ut,t.JsonpModule=ct,t.Connection=T,t.ConnectionBackend=x,t.XSRFStrategy=P,t.Request=J,t.Response=N,t.QueryEncoder=A,t.URLSearchParams=M,t.VERSION=pt})},{"@angular/core":7,"@angular/platform-browser":10,"rxjs/Observable":15}],9:[function(e,n,r){(function(i){!function(i,o){"object"==typeof r&&"undefined"!=typeof n?o(r,e("@angular/compiler"),e("@angular/core"),e("@angular/platform-browser")):"function"==typeof t&&t.amd?t(["exports","@angular/compiler","@angular/core","@angular/platform-browser"],o):o((i.ng=i.ng||{},i.ng.platformBrowserDynamic=i.ng.platformBrowserDynamic||{}),i.ng.compiler,i.ng.core,i.ng.platformBrowser)}(this,function(t,e,n,r){"use strict";var o,s=r.__platform_browser_private__.INTERNAL_BROWSER_PLATFORM_PROVIDERS,a=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},u=function(t){function e(){t.apply(this,arguments)}return a(e,t),e.prototype.get=function(t){var e,n,r=new Promise(function(t,r){e=t,n=r}),i=new XMLHttpRequest;return i.open("GET",t,!0),i.responseType="text",i.onload=function(){var r=i.response||i.responseText,o=1223===i.status?204:i.status;0===o&&(o=r?200:0),o>=200&&300>=o?e(r):n("Failed to load "+t)},i.onerror=function(){n("Failed to load "+t)},i.send(),r},e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[]},e}(e.ResourceLoader),c=[s,{provide:n.COMPILER_OPTIONS,useValue:{providers:[{provide:e.ResourceLoader,useClass:u}]},multi:!0}];o="undefined"==typeof window?"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:i:window;var p=o;p.assert=function(){};var l=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},h=function(t){function e(){if(t.call(this),this._cache=p.$templateCache,null==this._cache)throw new Error("CachedResourceLoader: Template cache was not found in $templateCache.")}return l(e,t),e.prototype.get=function(t){return this._cache.hasOwnProperty(t)?Promise.resolve(this._cache[t]):Promise.reject("CachedResourceLoader: Did not find cached template for "+t)},e}(e.ResourceLoader),f={INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS:c,ResourceLoaderImpl:u},d=new n.Version("2.4.9"),y=[{provide:e.ResourceLoader,useClass:h}],m=n.createPlatformFactory(e.platformCoreDynamic,"browserDynamic",c);t.RESOURCE_CACHE_PROVIDER=y,t.platformBrowserDynamic=m,t.VERSION=d,t.__platform_browser_dynamic_private__=f})}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"@angular/compiler":6,"@angular/core":7,"@angular/platform-browser":10}],10:[function(e,n,r){(function(i){!function(i,o){"object"==typeof r&&"undefined"!=typeof n?o(r,e("@angular/common"),e("@angular/core")):"function"==typeof t&&t.amd?t(["exports","@angular/common","@angular/core"],o):o((i.ng=i.ng||{},i.ng.platformBrowser=i.ng.platformBrowser||{}),i.ng.common,i.ng.core)}(this,function(t,e,n){"use strict";function r(t){return null!=t}function o(t){return null==t}function s(t){if("string"==typeof t)return t;if(null==t)return""+t;if(t.overriddenName)return""+t.overriddenName;if(t.name)return""+t.name;var e=t.toString(),n=e.indexOf("\n");return-1===n?e:e.substring(0,n)}function a(t,e,n){for(var r=e.split("."),i=t;r.length>1;){var o=r.shift();i=i.hasOwnProperty(o)&&null!=i[o]?i[o]:i[o]={}}(void 0===i||null===i)&&(i={}),i[r.shift()]=n}function u(){return J}function c(t){J||(J=t)}function p(t,e){return u().getComputedStyle(t)[e]}function l(t){var e={};return Object.keys(t).forEach(function(n){"offset"!=n&&(e[n]=t[n])}),e}function h(t,e){var n={};return t.styles.forEach(function(t){Object.keys(t).forEach(function(e){n[e]=t[e]})}),Object.keys(e).forEach(function(t){r(n[t])||(n[t]=e[t])}),n}function f(t){return t instanceof et}function d(){return lt||(lt=document.querySelector("base"))?lt.getAttribute("href"):null}function y(t){return Z||(Z=document.createElement("a")),Z.setAttribute("href",t),"/"===Z.pathname.charAt(0)?Z.pathname:"/"+Z.pathname}function m(t,e){e=encodeURIComponent(e);for(var n=0,r=t.split(";");n<r.length;n++){var i=r[n],o=i.indexOf("="),s=-1==o?[i,""]:[i.slice(0,o),i.slice(o+1)],a=s[0],u=s[1];if(a.trim()===e)return decodeURIComponent(u)}return null}function v(){return!!window.history.pushState}function g(t,e){var n=t.parentNode;if(e.length>0&&n){var r=t.nextSibling;if(r)for(var i=0;i<e.length;i++)n.insertBefore(e[i],r);else for(var i=0;i<e.length;i++)n.appendChild(e[i])}}function _(t,e){for(var n=0;n<e.length;n++)t.appendChild(e[n])}function b(t){return function(e){var n=t(e);n===!1&&(e.preventDefault(),e.returnValue=!1)}}function w(t){return Dt.replace(kt,t)}function E(t){return It.replace(kt,t)}function S(t,e,n){for(var r=0;r<e.length;r++){var i=e[r];Array.isArray(i)?S(t,i,n):(i=i.replace(kt,t),n.push(i))}return n}function C(t){return":"===t[0]}function x(t){var e=t.match(jt);return[e[1],e[2]]}function T(t){return n.getDebugNode(t)}function P(t,e,r){return n.isDevMode()?O(t,(e||[]).concat(r||[])):t}function O(t,e){return u().setGlobalVar(Vt,T),u().setGlobalVar(Ft,mt.merge(Lt,A(e||[]))),new K(t)}function A(t){return t.reduce(function(t,e){return t[e.name]=e.token,t},{})}function M(t){return t=String(t),t.match(Jt)||t.match(te)?t:(n.isDevMode()&&u().log("WARNING: sanitizing unsafe URL value "+t+" (see http://g.co/ng/security#xss)"),"unsafe:"+t)}function R(t){return t=String(t),t.split(",").map(function(t){return M(t.trim())}).join(", ")}function k(){if(ee)return ee;ne=u();var t=ne.createElement("template");if("content"in t)return t;var e=ne.createHtmlDocument();if(ee=ne.querySelector(e,"body"),null==ee){var n=ne.createElement("html",e);ee=ne.createElement("body",e),ne.appendChild(n,ee),ne.appendChild(e,n)}return ee}function N(t){for(var e={},n=0,r=t.split(",");n<r.length;n++){var i=r[n];e[i]=!0}return e}function I(){for(var t=[],e=0;e<arguments.length;e++)t[e-0]=arguments[e];for(var n={},r=0,i=t;r<i.length;r++){var o=i[r];for(var s in o)o.hasOwnProperty(s)&&(n[s]=!0)}return n}function D(t){return t.replace(/&/g,"&amp;").replace(ye,function(t){var e=t.charCodeAt(0),n=t.charCodeAt(1);return"&#"+(1024*(e-55296)+(n-56320)+65536)+";"}).replace(me,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(/</g,"&lt;").replace(/>/g,"&gt;")}function j(t){ne.attributeMap(t).forEach(function(e,n){("xmlns:ns1"===n||0===n.indexOf("ns1:"))&&ne.removeAttribute(t,n)});for(var e=0,n=ne.childNodesAsList(t);e<n.length;e++){var r=n[e];ne.isElementNode(r)&&j(r)}}function L(t){try{var e=k(),r=t?String(t):"",i=5,o=r;do{if(0===i)throw new Error("Failed to sanitize html because the input is unstable");i--,r=o,ne.setInnerHTML(e,r),ne.defaultDoc().documentMode&&j(e),o=ne.getInnerHTML(e)}while(r!==o);for(var s=new de,a=s.sanitizeChildren(ne.getTemplateContent(e)||e),u=ne.getTemplateContent(e)||e,c=0,p=ne.childNodesAsList(u);c<p.length;c++){var l=p[c];ne.removeChild(u,l)}return n.isDevMode()&&s.sanitizedSomething&&ne.log("WARNING: sanitizing HTML stripped some content (see http://g.co/ng/security#xss)."),a}catch(h){throw ee=null,h}}function V(t){for(var e=!0,n=!0,r=0;r<t.length;r++){var i=t.charAt(r);"'"===i&&n?e=!e:'"'===i&&e&&(n=!n)}return e&&n}function F(t){if(t=String(t).trim(),!t)return"";var e=t.match(Ce);return e&&M(e[1])===e[1]||t.match(Se)&&V(t)?t:(n.isDevMode()&&u().log("WARNING: sanitizing unsafe style value "+t+" (see http://g.co/ng/security#xss)."),"unsafe")}function U(){pt.makeCurrent(),dt.init()}function B(){return new n.ErrorHandler}function H(){return u().defaultDoc()}function q(){return u().supportsWebAnimation()?new nt:Y.NOOP}function z(t){return Object.assign(He.ng,new Ue(t)),t}function W(){He.ng&&delete He.ng.profiler}var G,K=n.__core_private__.DebugDomRootRenderer,X=n.__core_private__.NoOpAnimationPlayer,Q=function(){function t(){}return t.prototype.animate=function(t,e,n,r,i,o,s){return void 0===s&&(s=[]),new X},t}(),Y=function(){function t(){}return t.prototype.animate=function(){},t.NOOP=new Q,t}();G="undefined"==typeof window?"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:i:window;var $=G;$.assert=function(){};var Z,J=null,tt=function(){function t(){this.resourceLoaderType=null}return t.prototype.hasProperty=function(){},t.prototype.setProperty=function(){},t.prototype.getProperty=function(){},t.prototype.invoke=function(){},t.prototype.logError=function(){},t.prototype.log=function(){},t.prototype.logGroup=function(){},t.prototype.logGroupEnd=function(){},Object.defineProperty(t.prototype,"attrToPropMap",{get:function(){return this._attrToPropMap},set:function(t){this._attrToPropMap=t},enumerable:!0,configurable:!0}),t.prototype.parse=function(){},t.prototype.query=function(){},t.prototype.querySelector=function(){},t.prototype.querySelectorAll=function(){},t.prototype.on=function(){},t.prototype.onAndCancel=function(){},t.prototype.dispatchEvent=function(){},t.prototype.createMouseEvent=function(){},t.prototype.createEvent=function(){},t.prototype.preventDefault=function(){},t.prototype.isPrevented=function(){},t.prototype.getInnerHTML=function(){},t.prototype.getTemplateContent=function(){},t.prototype.getOuterHTML=function(){},t.prototype.nodeName=function(){},t.prototype.nodeValue=function(){},t.prototype.type=function(){},t.prototype.content=function(){},t.prototype.firstChild=function(){},t.prototype.nextSibling=function(){},t.prototype.parentElement=function(){},t.prototype.childNodes=function(){},t.prototype.childNodesAsList=function(){},t.prototype.clearNodes=function(){},t.prototype.appendChild=function(){},t.prototype.removeChild=function(){},t.prototype.replaceChild=function(){},t.prototype.remove=function(){},t.prototype.insertBefore=function(){},t.prototype.insertAllBefore=function(){},t.prototype.insertAfter=function(){},t.prototype.setInnerHTML=function(){},t.prototype.getText=function(){},t.prototype.setText=function(){},t.prototype.getValue=function(){},t.prototype.setValue=function(){},t.prototype.getChecked=function(){},t.prototype.setChecked=function(){},t.prototype.createComment=function(){},t.prototype.createTemplate=function(){},t.prototype.createElement=function(){},t.prototype.createElementNS=function(){},t.prototype.createTextNode=function(){},t.prototype.createScriptTag=function(){},t.prototype.createStyleElement=function(){},t.prototype.createShadowRoot=function(){},t.prototype.getShadowRoot=function(){},t.prototype.getHost=function(){},t.prototype.getDistributedNodes=function(){},t.prototype.clone=function(){},t.prototype.getElementsByClassName=function(){},t.prototype.getElementsByTagName=function(){},t.prototype.classList=function(){},t.prototype.addClass=function(){},t.prototype.removeClass=function(){},t.prototype.hasClass=function(){},t.prototype.setStyle=function(){},t.prototype.removeStyle=function(){},t.prototype.getStyle=function(){},t.prototype.hasStyle=function(){},t.prototype.tagName=function(){},t.prototype.attributeMap=function(){},t.prototype.hasAttribute=function(){},t.prototype.hasAttributeNS=function(){},t.prototype.getAttribute=function(){},t.prototype.getAttributeNS=function(){},t.prototype.setAttribute=function(){},t.prototype.setAttributeNS=function(){},t.prototype.removeAttribute=function(){},t.prototype.removeAttributeNS=function(){},t.prototype.templateAwareRoot=function(){},t.prototype.createHtmlDocument=function(){},t.prototype.defaultDoc=function(){},t.prototype.getBoundingClientRect=function(){},t.prototype.getTitle=function(){},t.prototype.setTitle=function(){},t.prototype.elementMatches=function(){},t.prototype.isTemplateElement=function(){},t.prototype.isTextNode=function(){},t.prototype.isCommentNode=function(){},t.prototype.isElementNode=function(){},t.prototype.hasShadowRoot=function(){},t.prototype.isShadowRoot=function(){},t.prototype.importIntoDoc=function(){},t.prototype.adoptNode=function(){},t.prototype.getHref=function(){},t.prototype.getEventKey=function(){},t.prototype.resolveAndSetHref=function(){},t.prototype.supportsDOMEvents=function(){},t.prototype.supportsNativeShadowDOM=function(){},t.prototype.getGlobalEventTarget=function(){},t.prototype.getHistory=function(){},t.prototype.getLocation=function(){},t.prototype.getBaseHref=function(){},t.prototype.resetBaseElement=function(){},t.prototype.getUserAgent=function(){},t.prototype.setData=function(){},t.prototype.getComputedStyle=function(){},t.prototype.getData=function(){},t.prototype.setGlobalVar=function(){},t.prototype.supportsWebAnimation=function(){},t.prototype.performanceNow=function(){},t.prototype.getAnimationPrefix=function(){},t.prototype.getTransitionEnd=function(){},t.prototype.supportsAnimation=function(){},t.prototype.supportsCookies=function(){},t.prototype.getCookie=function(){},t.prototype.setCookie=function(){},t}(),et=function(){function t(t,e,n,r){var i=this;void 0===r&&(r=[]),this.element=t,this.keyframes=e,this.options=n,this._onDoneFns=[],this._onStartFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.parentPlayer=null,this._duration=n.duration,this.previousStyles={},r.forEach(function(t){var e=t._captureStyles();Object.keys(e).forEach(function(t){return i.previousStyles[t]=e[t]})})}return t.prototype._onFinish=function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(t){return t()}),this._onDoneFns=[])},t.prototype.init=function(){var t=this;if(!this._initialized){this._initialized=!0;var e=this.keyframes.map(function(e){var r={};return Object.keys(e).forEach(function(i){var o=e[i];o==n.AUTO_STYLE&&(o=p(t.element,i)),void 0!=o&&(r[i]=o)}),r}),i=Object.keys(this.previousStyles);if(i.length){var o=e[0],s=[];if(i.forEach(function(e){r(o[e])||s.push(e),o[e]=t.previousStyles[e]}),s.length)for(var a=function(n){var r=e[n];s.forEach(function(e){r[e]=p(t.element,e)})},u=1;u<e.length;u++)a(u)}this._player=this._triggerWebAnimation(this.element,e,this.options),this._finalKeyframe=l(e[e.length-1]),this._resetDomPlayerState(),this._player.addEventListener("finish",function(){return t._onFinish()})}},t.prototype._triggerWebAnimation=function(t,e,n){return t.animate(e,n)},Object.defineProperty(t.prototype,"domPlayer",{get:function(){return this._player},enumerable:!0,configurable:!0}),t.prototype.onStart=function(t){this._onStartFns.push(t)},t.prototype.onDone=function(t){this._onDoneFns.push(t);
-
-},t.prototype.play=function(){this.init(),this.hasStarted()||(this._onStartFns.forEach(function(t){return t()}),this._onStartFns=[],this._started=!0),this._player.play()},t.prototype.pause=function(){this.init(),this._player.pause()},t.prototype.finish=function(){this.init(),this._onFinish(),this._player.finish()},t.prototype.reset=function(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1},t.prototype._resetDomPlayerState=function(){this._player&&this._player.cancel()},t.prototype.restart=function(){this.reset(),this.play()},t.prototype.hasStarted=function(){return this._started},t.prototype.destroy=function(){this._destroyed||(this._resetDomPlayerState(),this._onFinish(),this._destroyed=!0)},Object.defineProperty(t.prototype,"totalTime",{get:function(){return this._duration},enumerable:!0,configurable:!0}),t.prototype.setPosition=function(t){this._player.currentTime=t*this.totalTime},t.prototype.getPosition=function(){return this._player.currentTime/this.totalTime},t.prototype._captureStyles=function(){var t=this,e={};return this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(function(n){"offset"!=n&&(e[n]=t._finished?t._finalKeyframe[n]:p(t.element,n))}),e},t}(),nt=function(){function t(){}return t.prototype.animate=function(t,e,n,i,o,s,a){void 0===a&&(a=[]);var u=[],c={};if(r(e)&&(c=h(e,{})),n.forEach(function(t){var e=h(t.styles,c);e.offset=Math.max(0,Math.min(1,t.offset)),u.push(e)}),0==u.length)u=[c,c];else if(1==u.length){var p=c,l=u[0];l.offset=null,u=[p,l]}var d={duration:i,delay:o,fill:"both"};return s&&(d.easing=s),a=a.filter(f),new et(t,u,d,a)},t}(),rt=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},it=function(t){function e(){var e=this;t.call(this),this._animationPrefix=null,this._transitionEnd=null;try{var n=this.createElement("div",this.defaultDoc());if(r(this.getStyle(n,"animationName")))this._animationPrefix="";else for(var i=["Webkit","Moz","O","ms"],o=0;o<i.length;o++)if(r(this.getStyle(n,i[o]+"AnimationName"))){this._animationPrefix="-"+i[o].toLowerCase()+"-";break}var s={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};Object.keys(s).forEach(function(t){r(e.getStyle(n,t))&&(e._transitionEnd=s[t])})}catch(a){this._animationPrefix=null,this._transitionEnd=null}}return rt(e,t),e.prototype.getDistributedNodes=function(t){return t.getDistributedNodes()},e.prototype.resolveAndSetHref=function(t,e,n){t.href=null==n?e:e+"/../"+n},e.prototype.supportsDOMEvents=function(){return!0},e.prototype.supportsNativeShadowDOM=function(){return"function"==typeof this.defaultDoc().body.createShadowRoot},e.prototype.getAnimationPrefix=function(){return this._animationPrefix?this._animationPrefix:""},e.prototype.getTransitionEnd=function(){return this._transitionEnd?this._transitionEnd:""},e.prototype.supportsAnimation=function(){return r(this._animationPrefix)&&r(this._transitionEnd)},e}(tt),ot=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},st={"class":"className",innerHtml:"innerHTML",readonly:"readOnly",tabindex:"tabIndex"},at=3,ut={"\b":"Backspace","	":"Tab","":"Delete","":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},ct={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","":"NumLock"},pt=function(t){function e(){t.apply(this,arguments)}return ot(e,t),e.prototype.parse=function(){throw new Error("parse not implemented")},e.makeCurrent=function(){c(new e)},e.prototype.hasProperty=function(t,e){return e in t},e.prototype.setProperty=function(t,e,n){t[e]=n},e.prototype.getProperty=function(t,e){return t[e]},e.prototype.invoke=function(t,e,n){(r=t)[e].apply(r,n);var r},e.prototype.logError=function(t){window.console&&(console.error?console.error(t):console.log(t))},e.prototype.log=function(t){window.console&&window.console.log&&window.console.log(t)},e.prototype.logGroup=function(t){window.console&&window.console.group&&window.console.group(t)},e.prototype.logGroupEnd=function(){window.console&&window.console.groupEnd&&window.console.groupEnd()},Object.defineProperty(e.prototype,"attrToPropMap",{get:function(){return st},enumerable:!0,configurable:!0}),e.prototype.query=function(t){return document.querySelector(t)},e.prototype.querySelector=function(t,e){return t.querySelector(e)},e.prototype.querySelectorAll=function(t,e){return t.querySelectorAll(e)},e.prototype.on=function(t,e,n){t.addEventListener(e,n,!1)},e.prototype.onAndCancel=function(t,e,n){return t.addEventListener(e,n,!1),function(){t.removeEventListener(e,n,!1)}},e.prototype.dispatchEvent=function(t,e){t.dispatchEvent(e)},e.prototype.createMouseEvent=function(t){var e=document.createEvent("MouseEvent");return e.initEvent(t,!0,!0),e},e.prototype.createEvent=function(t){var e=document.createEvent("Event");return e.initEvent(t,!0,!0),e},e.prototype.preventDefault=function(t){t.preventDefault(),t.returnValue=!1},e.prototype.isPrevented=function(t){return t.defaultPrevented||r(t.returnValue)&&!t.returnValue},e.prototype.getInnerHTML=function(t){return t.innerHTML},e.prototype.getTemplateContent=function(t){return"content"in t&&t instanceof HTMLTemplateElement?t.content:null},e.prototype.getOuterHTML=function(t){return t.outerHTML},e.prototype.nodeName=function(t){return t.nodeName},e.prototype.nodeValue=function(t){return t.nodeValue},e.prototype.type=function(t){return t.type},e.prototype.content=function(t){return this.hasProperty(t,"content")?t.content:t},e.prototype.firstChild=function(t){return t.firstChild},e.prototype.nextSibling=function(t){return t.nextSibling},e.prototype.parentElement=function(t){return t.parentNode},e.prototype.childNodes=function(t){return t.childNodes},e.prototype.childNodesAsList=function(t){for(var e=t.childNodes,n=new Array(e.length),r=0;r<e.length;r++)n[r]=e[r];return n},e.prototype.clearNodes=function(t){for(;t.firstChild;)t.removeChild(t.firstChild)},e.prototype.appendChild=function(t,e){t.appendChild(e)},e.prototype.removeChild=function(t,e){t.removeChild(e)},e.prototype.replaceChild=function(t,e,n){t.replaceChild(e,n)},e.prototype.remove=function(t){return t.parentNode&&t.parentNode.removeChild(t),t},e.prototype.insertBefore=function(t,e){t.parentNode.insertBefore(e,t)},e.prototype.insertAllBefore=function(t,e){e.forEach(function(e){return t.parentNode.insertBefore(e,t)})},e.prototype.insertAfter=function(t,e){t.parentNode.insertBefore(e,t.nextSibling)},e.prototype.setInnerHTML=function(t,e){t.innerHTML=e},e.prototype.getText=function(t){return t.textContent},e.prototype.setText=function(t,e){t.textContent=e},e.prototype.getValue=function(t){return t.value},e.prototype.setValue=function(t,e){t.value=e},e.prototype.getChecked=function(t){return t.checked},e.prototype.setChecked=function(t,e){t.checked=e},e.prototype.createComment=function(t){return document.createComment(t)},e.prototype.createTemplate=function(t){var e=document.createElement("template");return e.innerHTML=t,e},e.prototype.createElement=function(t,e){return void 0===e&&(e=document),e.createElement(t)},e.prototype.createElementNS=function(t,e,n){return void 0===n&&(n=document),n.createElementNS(t,e)},e.prototype.createTextNode=function(t,e){return void 0===e&&(e=document),e.createTextNode(t)},e.prototype.createScriptTag=function(t,e,n){void 0===n&&(n=document);var r=n.createElement("SCRIPT");return r.setAttribute(t,e),r},e.prototype.createStyleElement=function(t,e){void 0===e&&(e=document);var n=e.createElement("style");return this.appendChild(n,this.createTextNode(t)),n},e.prototype.createShadowRoot=function(t){return t.createShadowRoot()},e.prototype.getShadowRoot=function(t){return t.shadowRoot},e.prototype.getHost=function(t){return t.host},e.prototype.clone=function(t){return t.cloneNode(!0)},e.prototype.getElementsByClassName=function(t,e){return t.getElementsByClassName(e)},e.prototype.getElementsByTagName=function(t,e){return t.getElementsByTagName(e)},e.prototype.classList=function(t){return Array.prototype.slice.call(t.classList,0)},e.prototype.addClass=function(t,e){t.classList.add(e)},e.prototype.removeClass=function(t,e){t.classList.remove(e)},e.prototype.hasClass=function(t,e){return t.classList.contains(e)},e.prototype.setStyle=function(t,e,n){t.style[e]=n},e.prototype.removeStyle=function(t,e){t.style[e]=""},e.prototype.getStyle=function(t,e){return t.style[e]},e.prototype.hasStyle=function(t,e,n){void 0===n&&(n=null);var r=this.getStyle(t,e)||"";return n?r==n:r.length>0},e.prototype.tagName=function(t){return t.tagName},e.prototype.attributeMap=function(t){for(var e=new Map,n=t.attributes,r=0;r<n.length;r++){var i=n[r];e.set(i.name,i.value)}return e},e.prototype.hasAttribute=function(t,e){return t.hasAttribute(e)},e.prototype.hasAttributeNS=function(t,e,n){return t.hasAttributeNS(e,n)},e.prototype.getAttribute=function(t,e){return t.getAttribute(e)},e.prototype.getAttributeNS=function(t,e,n){return t.getAttributeNS(e,n)},e.prototype.setAttribute=function(t,e,n){t.setAttribute(e,n)},e.prototype.setAttributeNS=function(t,e,n,r){t.setAttributeNS(e,n,r)},e.prototype.removeAttribute=function(t,e){t.removeAttribute(e)},e.prototype.removeAttributeNS=function(t,e,n){t.removeAttributeNS(e,n)},e.prototype.templateAwareRoot=function(t){return this.isTemplateElement(t)?this.content(t):t},e.prototype.createHtmlDocument=function(){return document.implementation.createHTMLDocument("fakeTitle")},e.prototype.defaultDoc=function(){return document},e.prototype.getBoundingClientRect=function(t){try{return t.getBoundingClientRect()}catch(e){return{top:0,bottom:0,left:0,right:0,width:0,height:0}}},e.prototype.getTitle=function(){return document.title},e.prototype.setTitle=function(t){document.title=t||""},e.prototype.elementMatches=function(t,e){return t instanceof HTMLElement?t.matches&&t.matches(e)||t.msMatchesSelector&&t.msMatchesSelector(e)||t.webkitMatchesSelector&&t.webkitMatchesSelector(e):!1},e.prototype.isTemplateElement=function(t){return t instanceof HTMLElement&&"TEMPLATE"==t.nodeName},e.prototype.isTextNode=function(t){return t.nodeType===Node.TEXT_NODE},e.prototype.isCommentNode=function(t){return t.nodeType===Node.COMMENT_NODE},e.prototype.isElementNode=function(t){return t.nodeType===Node.ELEMENT_NODE},e.prototype.hasShadowRoot=function(t){return r(t.shadowRoot)&&t instanceof HTMLElement},e.prototype.isShadowRoot=function(t){return t instanceof DocumentFragment},e.prototype.importIntoDoc=function(t){return document.importNode(this.templateAwareRoot(t),!0)},e.prototype.adoptNode=function(t){return document.adoptNode(t)},e.prototype.getHref=function(t){return t.href},e.prototype.getEventKey=function(t){var e=t.key;if(o(e)){if(e=t.keyIdentifier,o(e))return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),t.location===at&&ct.hasOwnProperty(e)&&(e=ct[e]))}return ut[e]||e},e.prototype.getGlobalEventTarget=function(t){return"window"===t?window:"document"===t?document:"body"===t?document.body:void 0},e.prototype.getHistory=function(){return window.history},e.prototype.getLocation=function(){return window.location},e.prototype.getBaseHref=function(){var t=d();return o(t)?null:y(t)},e.prototype.resetBaseElement=function(){lt=null},e.prototype.getUserAgent=function(){return window.navigator.userAgent},e.prototype.setData=function(t,e,n){this.setAttribute(t,"data-"+e,n)},e.prototype.getData=function(t,e){return this.getAttribute(t,"data-"+e)},e.prototype.getComputedStyle=function(t){return getComputedStyle(t)},e.prototype.setGlobalVar=function(t,e){a($,t,e)},e.prototype.supportsWebAnimation=function(){return"function"==typeof Element.prototype.animate},e.prototype.performanceNow=function(){return window.performance&&window.performance.now?window.performance.now():(new Date).getTime()},e.prototype.supportsCookies=function(){return!0},e.prototype.getCookie=function(t){return m(document.cookie,t)},e.prototype.setCookie=function(t,e){document.cookie=encodeURIComponent(t)+"="+encodeURIComponent(e)},e}(it),lt=null,ht=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},ft=function(t){function e(){t.call(this),this._init()}return ht(e,t),e.prototype._init=function(){this._location=u().getLocation(),this._history=u().getHistory()},Object.defineProperty(e.prototype,"location",{get:function(){return this._location},enumerable:!0,configurable:!0}),e.prototype.getBaseHrefFromDOM=function(){return u().getBaseHref()},e.prototype.onPopState=function(t){u().getGlobalEventTarget("window").addEventListener("popstate",t,!1)},e.prototype.onHashChange=function(t){u().getGlobalEventTarget("window").addEventListener("hashchange",t,!1)},Object.defineProperty(e.prototype,"pathname",{get:function(){return this._location.pathname},set:function(t){this._location.pathname=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"search",{get:function(){return this._location.search},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hash",{get:function(){return this._location.hash},enumerable:!0,configurable:!0}),e.prototype.pushState=function(t,e,n){v()?this._history.pushState(t,e,n):this._location.hash=n},e.prototype.replaceState=function(t,e,n){v()?this._history.replaceState(t,e,n):this._location.hash=n},e.prototype.forward=function(){this._history.forward()},e.prototype.back=function(){this._history.back()},e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[]},e}(e.PlatformLocation),dt=function(){function t(){}return t.init=function(){n.setTestabilityGetter(new t)},t.prototype.addToWindow=function(t){$.getAngularTestability=function(e,n){void 0===n&&(n=!0);var r=t.findTestabilityInTree(e,n);if(null==r)throw new Error("Could not find testability for element.");return r},$.getAllAngularTestabilities=function(){return t.getAllTestabilities()},$.getAllAngularRootElements=function(){return t.getAllRootElements()};var e=function(t){var e=$.getAllAngularTestabilities(),n=e.length,r=!1,i=function(e){r=r||e,n--,0==n&&t(r)};e.forEach(function(t){t.whenStable(i)})};$.frameworkStabilizers||($.frameworkStabilizers=[]),$.frameworkStabilizers.push(e)},t.prototype.findTestabilityInTree=function(t,e,n){if(null==e)return null;var i=t.getTestability(e);return r(i)?i:n?u().isShadowRoot(e)?this.findTestabilityInTree(t,u().getHost(e),!0):this.findTestabilityInTree(t,u().parentElement(e),!0):null},t}(),yt=function(){function t(){}return t.prototype.getTitle=function(){return u().getTitle()},t.prototype.setTitle=function(t){u().setTitle(t)},t}(),mt=function(){function t(){}return t.merge=function(t,e){for(var n={},r=0,i=Object.keys(t);r<i.length;r++){var o=i[r];n[o]=t[o]}for(var s=0,a=Object.keys(e);s<a.length;s++){var o=a[s];n[o]=e[o]}return n},t.equals=function(t,e){var n=Object.keys(t),r=Object.keys(e);if(n.length!=r.length)return!1;for(var i=0;i<n.length;i++){var o=n[i];if(t[o]!==e[o])return!1}return!0},t}(),vt=new n.OpaqueToken("DocumentToken"),gt=new n.OpaqueToken("EventManagerPlugins"),_t=function(){function t(t,e){var n=this;this._zone=e,this._eventNameToPlugin=new Map,t.forEach(function(t){return t.manager=n}),this._plugins=t.slice().reverse()}return t.prototype.addEventListener=function(t,e,n){var r=this._findPluginFor(e);return r.addEventListener(t,e,n)},t.prototype.addGlobalEventListener=function(t,e,n){var r=this._findPluginFor(e);return r.addGlobalEventListener(t,e,n)},t.prototype.getZone=function(){return this._zone},t.prototype._findPluginFor=function(t){var e=this._eventNameToPlugin.get(t);if(e)return e;for(var n=this._plugins,r=0;r<n.length;r++){var i=n[r];if(i.supports(t))return this._eventNameToPlugin.set(t,i),i}throw new Error("No event manager plugin found for event "+t)},t.decorators=[{type:n.Injectable}],t.ctorParameters=function(){return[{type:Array,decorators:[{type:n.Inject,args:[gt]}]},{type:n.NgZone}]},t}(),bt=function(){function t(){}return t.prototype.supports=function(){},t.prototype.addEventListener=function(){},t.prototype.addGlobalEventListener=function(t,e,n){var r=u().getGlobalEventTarget(t);if(!r)throw new Error("Unsupported event target "+r+" for event "+e);return this.addEventListener(r,e,n)},t}(),wt=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Et=function(){function t(){this._stylesSet=new Set}return t.prototype.addStyles=function(t){var e=this,n=new Set;t.forEach(function(t){e._stylesSet.has(t)||(e._stylesSet.add(t),n.add(t))}),this.onStylesAdded(n)},t.prototype.onStylesAdded=function(){},t.prototype.getAllStyles=function(){return Array.from(this._stylesSet)},t.decorators=[{type:n.Injectable}],t.ctorParameters=function(){return[]},t}(),St=function(t){function e(e){t.call(this),this._doc=e,this._hostNodes=new Set,this._styleNodes=new Set,this._hostNodes.add(e.head)}return wt(e,t),e.prototype._addStylesToHost=function(t,e){var n=this;t.forEach(function(t){var r=n._doc.createElement("style");r.textContent=t,n._styleNodes.add(e.appendChild(r))})},e.prototype.addHost=function(t){this._addStylesToHost(this._stylesSet,t),this._hostNodes.add(t)},e.prototype.removeHost=function(t){this._hostNodes["delete"](t)},e.prototype.onStylesAdded=function(t){var e=this;this._hostNodes.forEach(function(n){return e._addStylesToHost(t,n)})},e.prototype.ngOnDestroy=function(){this._styleNodes.forEach(function(t){return u().remove(t)})},e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:n.Inject,args:[vt]}]}]},e}(Et),Ct=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},xt={xlink:"http://www.w3.org/1999/xlink",svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml"},Tt="template bindings={}",Pt=/^template bindings=(.*)$/,Ot=function(){function t(t,e,n,r,i){this.document=t,this.eventManager=e,this.sharedStylesHost=n,this.animationDriver=r,this.appId=i,this.registeredComponents=new Map}return t.prototype.renderComponent=function(t){var e=this.registeredComponents.get(t.id);return e||(e=new Rt(this,t,this.animationDriver,this.appId+"-"+t.id),this.registeredComponents.set(t.id,e)),e},t}(),At=function(t){function e(e,n,r,i,o){t.call(this,e,n,r,i,o)}return Ct(e,t),e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:n.Inject,args:[vt]}]},{type:_t},{type:St},{type:Y},{type:void 0,decorators:[{type:n.Inject,args:[n.APP_ID]}]}]},e}(Ot),Mt={remove:function(t){t.parentNode&&t.parentNode.removeChild(t)},appendChild:function(t,e){e.appendChild(t)},insertBefore:function(t,e){e.parentNode.insertBefore(t,e)},nextSibling:function(t){return t.nextSibling},parentElement:function(t){return t.parentNode}},Rt=function(){function t(t,e,r,i){this._rootRenderer=t,this.componentProto=e,this._animationDriver=r,this.directRenderer=Mt,this._styles=S(i,e.styles,[]),e.encapsulation!==n.ViewEncapsulation.Native&&this._rootRenderer.sharedStylesHost.addStyles(this._styles),this.componentProto.encapsulation===n.ViewEncapsulation.Emulated?(this._contentAttr=w(i),this._hostAttr=E(i)):(this._contentAttr=null,this._hostAttr=null)}return t.prototype.selectRootElement=function(t){var e;if("string"==typeof t){if(e=this._rootRenderer.document.querySelector(t),!e)throw new Error('The selector "'+t+'" did not match any elements')}else e=t;for(;e.firstChild;)e.removeChild(e.firstChild);return e},t.prototype.createElement=function(t,e){var n;if(C(e)){var r=x(e);n=document.createElementNS(xt[r[0]],r[1])}else n=document.createElement(e);return this._contentAttr&&n.setAttribute(this._contentAttr,""),t&&t.appendChild(n),n},t.prototype.createViewRoot=function(t){var e;if(this.componentProto.encapsulation===n.ViewEncapsulation.Native){e=t.createShadowRoot();for(var r=0;r<this._styles.length;r++){var i=document.createElement("style");i.textContent=this._styles[r],e.appendChild(i)}}else this._hostAttr&&t.setAttribute(this._hostAttr,""),e=t;return e},t.prototype.createTemplateAnchor=function(t){var e=document.createComment(Tt);return t&&t.appendChild(e),e},t.prototype.createText=function(t,e){var n=document.createTextNode(e);return t&&t.appendChild(n),n},t.prototype.projectNodes=function(t,e){t&&_(t,e)},t.prototype.attachViewAfter=function(t,e){g(t,e)},t.prototype.detachView=function(t){for(var e=0;e<t.length;e++){var n=t[e];n.parentNode&&n.parentNode.removeChild(n)}},t.prototype.destroyView=function(t){this.componentProto.encapsulation===n.ViewEncapsulation.Native&&t&&this._rootRenderer.sharedStylesHost.removeHost(t.shadowRoot)},t.prototype.listen=function(t,e,n){return this._rootRenderer.eventManager.addEventListener(t,e,b(n))},t.prototype.listenGlobal=function(t,e,n){return this._rootRenderer.eventManager.addGlobalEventListener(t,e,b(n))},t.prototype.setElementProperty=function(t,e,n){t[e]=n},t.prototype.setElementAttribute=function(t,e,n){var i,o=e;if(C(e)){var s=x(e);o=s[1],e=s[0]+":"+s[1],i=xt[s[0]]}r(n)?i?t.setAttributeNS(i,e,n):t.setAttribute(e,n):r(i)?t.removeAttributeNS(i,o):t.removeAttribute(e)},t.prototype.setBindingDebugInfo=function(t,e,n){if(t.nodeType===Node.COMMENT_NODE){var r=t.nodeValue.replace(/\n/g,"").match(Pt),i=JSON.parse(r[1]);i[e]=n,t.nodeValue=Tt.replace("{}",JSON.stringify(i,null,2))}else this.setElementAttribute(t,e,n)},t.prototype.setElementClass=function(t,e,n){n?t.classList.add(e):t.classList.remove(e)},t.prototype.setElementStyle=function(t,e,n){t.style[e]=r(n)?s(n):""},t.prototype.invokeElementMethod=function(t,e,n){t[e].apply(t,n)},t.prototype.setText=function(t,e){t.nodeValue=e},t.prototype.animate=function(t,e,n,r,i,o,s){return void 0===s&&(s=[]),this._rootRenderer.document.body.contains(t)?this._animationDriver.animate(t,e,n,r,i,o,s):new X},t}(),kt=/%COMP%/g,Nt="%COMP%",It="_nghost-"+Nt,Dt="_ngcontent-"+Nt,jt=/^:([^:]+):(.+)$/,Lt={ApplicationRef:n.ApplicationRef,NgZone:n.NgZone},Vt="ng.probe",Ft="ng.coreTokens",Ut=function(){function t(t,e){this.name=t,this.token=e}return t}(),Bt=[{provide:n.RootRenderer,useFactory:P,deps:[Ot,[Ut,new n.Optional],[n.NgProbeToken,new n.Optional]]}],Ht=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},qt=function(t){function e(){t.apply(this,arguments)}return Ht(e,t),e.prototype.supports=function(){return!0},e.prototype.addEventListener=function(t,e,n){return t.addEventListener(e,n,!1),function(){return t.removeEventListener(e,n,!1)}},e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[]},e}(bt),zt=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Wt={pan:!0,panstart:!0,panmove:!0,panend:!0,pancancel:!0,panleft:!0,panright:!0,panup:!0,pandown:!0,pinch:!0,pinchstart:!0,pinchmove:!0,pinchend:!0,pinchcancel:!0,pinchin:!0,pinchout:!0,press:!0,pressup:!0,rotate:!0,rotatestart:!0,rotatemove:!0,rotateend:!0,rotatecancel:!0,swipe:!0,swipeleft:!0,swiperight:!0,swipeup:!0,swipedown:!0,tap:!0},Gt=new n.OpaqueToken("HammerGestureConfig"),Kt=function(){function t(){this.events=[],this.overrides={}}return t.prototype.buildHammer=function(t){var e=new Hammer(t);e.get("pinch").set({enable:!0}),e.get("rotate").set({enable:!0});for(var n in this.overrides)e.get(n).set(this.overrides[n]);return e},t.decorators=[{type:n.Injectable}],t.ctorParameters=function(){return[]},t}(),Xt=function(t){function e(e){t.call(this),this._config=e}return zt(e,t),e.prototype.supports=function(t){if(!Wt.hasOwnProperty(t.toLowerCase())&&!this.isCustomEvent(t))return!1;if(!window.Hammer)throw new Error("Hammer.js is not loaded, can not bind "+t+" event");return!0},e.prototype.addEventListener=function(t,e,n){var r=this,i=this.manager.getZone();return e=e.toLowerCase(),i.runOutsideAngular(function(){var o=r._config.buildHammer(t),s=function(t){i.runGuarded(function(){n(t)})};return o.on(e,s),function(){return o.off(e,s)}})},e.prototype.isCustomEvent=function(t){return this._config.events.indexOf(t)>-1},e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[{type:Kt,decorators:[{type:n.Inject,args:[Gt]}]}]},e}(bt),Qt=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Yt=["alt","control","meta","shift"],$t={alt:function(t){return t.altKey},control:function(t){return t.ctrlKey},meta:function(t){return t.metaKey},shift:function(t){return t.shiftKey}},Zt=function(t){function e(){t.call(this)}return Qt(e,t),e.prototype.supports=function(t){return null!=e.parseEventName(t)},e.prototype.addEventListener=function(t,n,r){var i=e.parseEventName(n),o=e.eventCallback(i.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(function(){return u().onAndCancel(t,i.domEventName,o)})},e.parseEventName=function(t){var n=t.toLowerCase().split("."),r=n.shift();if(0===n.length||"keydown"!==r&&"keyup"!==r)return null;var i=e._normalizeKey(n.pop()),o="";if(Yt.forEach(function(t){var e=n.indexOf(t);e>-1&&(n.splice(e,1),o+=t+".")}),o+=i,0!=n.length||0===i.length)return null;var s={};return s.domEventName=r,s.fullKey=o,s},e.getEventFullKey=function(t){var e="",n=u().getEventKey(t);return n=n.toLowerCase()," "===n?n="space":"."===n&&(n="dot"),Yt.forEach(function(r){if(r!=n){var i=$t[r];i(t)&&(e+=r+".")}}),e+=n},e.eventCallback=function(t,n,r){return function(i){e.getEventFullKey(i)===t&&r.runGuarded(function(){return n(i)})}},e._normalizeKey=function(t){switch(t){case"esc":return"escape";default:return t}},e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[]},e}(bt),Jt=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:\/?#]*(?:[\/?#]|$))/gi,te=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+\/]+=*$/i,ee=null,ne=null,re=N("area,br,col,hr,img,wbr"),ie=N("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),oe=N("rp,rt"),se=I(oe,ie),ae=I(ie,N("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),ue=I(oe,N("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),ce=I(re,ae,ue,se),pe=N("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),le=N("srcset"),he=N("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),fe=I(pe,le,he),de=function(){function t(){this.sanitizedSomething=!1,this.buf=[]}return t.prototype.sanitizeChildren=function(t){for(var e=t.firstChild;e;)if(ne.isElementNode(e)?this.startElement(e):ne.isTextNode(e)?this.chars(ne.nodeValue(e)):this.sanitizedSomething=!0,ne.firstChild(e))e=ne.firstChild(e);else for(;e;){if(ne.isElementNode(e)&&this.endElement(e),ne.nextSibling(e)){e=ne.nextSibling(e);break}e=ne.parentElement(e)}return this.buf.join("")},t.prototype.startElement=function(t){var e=this,n=ne.nodeName(t).toLowerCase();return ce.hasOwnProperty(n)?(this.buf.push("<"),this.buf.push(n),ne.attributeMap(t).forEach(function(t,n){var r=n.toLowerCase();return fe.hasOwnProperty(r)?(pe[r]&&(t=M(t)),le[r]&&(t=R(t)),e.buf.push(" "),e.buf.push(n),e.buf.push('="'),e.buf.push(D(t)),void e.buf.push('"')):void(e.sanitizedSomething=!0)}),void this.buf.push(">")):void(this.sanitizedSomething=!0)},t.prototype.endElement=function(t){var e=ne.nodeName(t).toLowerCase();ce.hasOwnProperty(e)&&!re.hasOwnProperty(e)&&(this.buf.push("</"),this.buf.push(e),this.buf.push(">"))},t.prototype.chars=function(t){this.buf.push(D(t))},t}(),ye=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,me=/([^\#-~ |!])/g,ve="[-,.\"'%_!# a-zA-Z0-9]+",ge="(?:matrix|translate|scale|rotate|skew|perspective)(?:X|Y|3d)?",_e="(?:rgb|hsl)a?",be="(?:repeating-)?(?:linear|radial)-gradient",we="(?:calc|attr)",Ee="\\([-0-9.%, #a-zA-Z]+\\)",Se=new RegExp("^("+ve+"|"+("(?:"+ge+"|"+_e+"|"+be+"|"+we+")")+(Ee+")$"),"g"),Ce=/^url\(([^)]+)\)$/,xe=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Te=function(){function t(){}return t.prototype.sanitize=function(){},t.prototype.bypassSecurityTrustHtml=function(){},t.prototype.bypassSecurityTrustStyle=function(){},t.prototype.bypassSecurityTrustScript=function(){},t.prototype.bypassSecurityTrustUrl=function(){},t.prototype.bypassSecurityTrustResourceUrl=function(){},t}(),Pe=function(t){function e(){t.apply(this,arguments)}return xe(e,t),e.prototype.sanitize=function(t,e){if(null==e)return null;switch(t){case n.SecurityContext.NONE:return e;case n.SecurityContext.HTML:return e instanceof Ae?e.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(e,"HTML"),L(String(e)));case n.SecurityContext.STYLE:return e instanceof Me?e.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(e,"Style"),F(e));case n.SecurityContext.SCRIPT:if(e instanceof Re)return e.changingThisBreaksApplicationSecurity;throw this.checkNotSafeValue(e,"Script"),new Error("unsafe value used in a script context");case n.SecurityContext.URL:return e instanceof Ne||e instanceof ke?e.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(e,"URL"),M(String(e)));case n.SecurityContext.RESOURCE_URL:if(e instanceof Ne)return e.changingThisBreaksApplicationSecurity;throw this.checkNotSafeValue(e,"ResourceURL"),new Error("unsafe value used in a resource URL context (see http://g.co/ng/security#xss)");default:throw new Error("Unexpected SecurityContext "+t+" (see http://g.co/ng/security#xss)")}},e.prototype.checkNotSafeValue=function(t,e){if(t instanceof Oe)throw new Error("Required a safe "+e+", got a "+t.getTypeName()+" (see http://g.co/ng/security#xss)")},e.prototype.bypassSecurityTrustHtml=function(t){return new Ae(t)},e.prototype.bypassSecurityTrustStyle=function(t){return new Me(t)},e.prototype.bypassSecurityTrustScript=function(t){return new Re(t)},e.prototype.bypassSecurityTrustUrl=function(t){return new ke(t)},e.prototype.bypassSecurityTrustResourceUrl=function(t){return new Ne(t)},e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[]},e}(Te),Oe=function(){function t(t){this.changingThisBreaksApplicationSecurity=t}return t.prototype.getTypeName=function(){},t.prototype.toString=function(){return"SafeValue must use [property]=binding: "+this.changingThisBreaksApplicationSecurity+" (see http://g.co/ng/security#xss)"},t}(),Ae=function(t){function e(){t.apply(this,arguments)}return xe(e,t),e.prototype.getTypeName=function(){return"HTML"},e}(Oe),Me=function(t){function e(){t.apply(this,arguments)}return xe(e,t),e.prototype.getTypeName=function(){return"Style"},e}(Oe),Re=function(t){function e(){t.apply(this,arguments)}return xe(e,t),
-e.prototype.getTypeName=function(){return"Script"},e}(Oe),ke=function(t){function e(){t.apply(this,arguments)}return xe(e,t),e.prototype.getTypeName=function(){return"URL"},e}(Oe),Ne=function(t){function e(){t.apply(this,arguments)}return xe(e,t),e.prototype.getTypeName=function(){return"ResourceURL"},e}(Oe),Ie=[{provide:n.PLATFORM_INITIALIZER,useValue:U,multi:!0},{provide:e.PlatformLocation,useClass:ft}],De=[{provide:n.Sanitizer,useExisting:Te},{provide:Te,useClass:Pe}],je=n.createPlatformFactory(n.platformCore,"browser",Ie),Le=function(){function t(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}return t.decorators=[{type:n.NgModule,args:[{providers:[De,{provide:n.ErrorHandler,useFactory:B,deps:[]},{provide:vt,useFactory:H,deps:[]},{provide:gt,useClass:qt,multi:!0},{provide:gt,useClass:Zt,multi:!0},{provide:gt,useClass:Xt,multi:!0},{provide:Gt,useClass:Kt},{provide:Ot,useClass:At},{provide:n.RootRenderer,useExisting:Ot},{provide:Et,useExisting:St},{provide:Y,useFactory:q},St,n.Testability,_t,Bt,yt],exports:[e.CommonModule,n.ApplicationModule]}]}],t.ctorParameters=function(){return[{type:t,decorators:[{type:n.Optional},{type:n.SkipSelf}]}]},t}(),Ve="undefined"!=typeof window&&window||{},Fe=function(){function t(t,e){this.msPerTick=t,this.numTicks=e}return t}(),Ue=function(){function t(t){this.profiler=new Be(t)}return t}(),Be=function(){function t(t){this.appRef=t.injector.get(n.ApplicationRef)}return t.prototype.timeChangeDetection=function(t){var e=t&&t.record,n="Change Detection",i=r(Ve.console.profile);e&&i&&Ve.console.profile(n);for(var o=u().performanceNow(),s=0;5>s||u().performanceNow()-o<500;)this.appRef.tick(),s++;var a=u().performanceNow();e&&i&&Ve.console.profileEnd(n);var c=(a-o)/s;return Ve.console.log("ran "+s+" change detection cycles"),Ve.console.log(c.toFixed(2)+" ms per check"),new Fe(c,s)},t}(),He=$,qe=function(){function t(){}return t.all=function(){return function(){return!0}},t.css=function(t){return function(e){return r(e.nativeElement)?u().elementMatches(e.nativeElement,t):!1}},t.directive=function(t){return function(e){return-1!==e.providerTokens.indexOf(t)}},t}(),ze={BrowserPlatformLocation:ft,DomAdapter:tt,BrowserDomAdapter:pt,BrowserGetTestability:dt,getDOM:u,setRootDomAdapter:c,DomRootRenderer_:At,DomRootRenderer:Ot,NAMESPACE_URIS:xt,shimContentAttribute:w,shimHostAttribute:E,flattenStyles:S,splitNamespace:x,isNamespaced:C,DomSharedStylesHost:St,SharedStylesHost:Et,ELEMENT_PROBE_PROVIDERS:Bt,DomEventsPlugin:qt,KeyEventsPlugin:Zt,HammerGesturesPlugin:Xt,initDomAdapter:U,INTERNAL_BROWSER_PLATFORM_PROVIDERS:Ie,BROWSER_SANITIZATION_PROVIDERS:De,WebAnimationsDriver:nt},We=new n.Version("2.4.9");t.BrowserModule=Le,t.platformBrowser=je,t.Title=yt,t.disableDebugTools=W,t.enableDebugTools=z,t.AnimationDriver=Y,t.By=qe,t.NgProbeToken=Ut,t.DOCUMENT=vt,t.EVENT_MANAGER_PLUGINS=gt,t.EventManager=_t,t.HAMMER_GESTURE_CONFIG=Gt,t.HammerGestureConfig=Kt,t.DomSanitizer=Te,t.VERSION=We,t.__platform_browser_private__=ze})}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"@angular/common":5,"@angular/core":7}],11:[function(e,n,r){!function(i,o){"object"==typeof r&&"undefined"!=typeof n?o(r,e("@angular/common"),e("@angular/core"),e("rxjs/BehaviorSubject"),e("rxjs/Subject"),e("rxjs/observable/from"),e("rxjs/observable/of"),e("rxjs/operator/concatMap"),e("rxjs/operator/every"),e("rxjs/operator/first"),e("rxjs/operator/map"),e("rxjs/operator/mergeMap"),e("rxjs/operator/reduce"),e("rxjs/Observable"),e("rxjs/operator/catch"),e("rxjs/operator/concatAll"),e("rxjs/util/EmptyError"),e("rxjs/observable/fromPromise"),e("rxjs/operator/last"),e("rxjs/operator/mergeAll"),e("@angular/platform-browser"),e("rxjs/operator/filter")):"function"==typeof t&&t.amd?t(["exports","@angular/common","@angular/core","rxjs/BehaviorSubject","rxjs/Subject","rxjs/observable/from","rxjs/observable/of","rxjs/operator/concatMap","rxjs/operator/every","rxjs/operator/first","rxjs/operator/map","rxjs/operator/mergeMap","rxjs/operator/reduce","rxjs/Observable","rxjs/operator/catch","rxjs/operator/concatAll","rxjs/util/EmptyError","rxjs/observable/fromPromise","rxjs/operator/last","rxjs/operator/mergeAll","@angular/platform-browser","rxjs/operator/filter"],o):o((i.ng=i.ng||{},i.ng.router=i.ng.router||{}),i.ng.common,i.ng.core,i.Rx,i.Rx,i.Rx.Observable,i.Rx.Observable,i.Rx.Observable.prototype,i.Rx.Observable.prototype,i.Rx.Observable.prototype,i.Rx.Observable.prototype,i.Rx.Observable.prototype,i.Rx.Observable.prototype,i.Rx,i.Rx.Observable.prototype,i.Rx.Observable.prototype,i.Rx,i.Rx.Observable,i.Rx.Observable.prototype,i.Rx.Observable.prototype,i.ng.platformBrowser,i.Rx.Observable.prototype)}(this,function(t,e,n,r,i,o,s,a,u,c,p,l,h,f,d,y,m,v,g,_,b,w){"use strict";function E(t,e,n){for(var r=n.path,i=r.split("/"),o={},s=[],a=0,u=0;u<i.length;++u){if(a>=t.length)return null;var c=t[a],p=i[u],l=p.startsWith(":");if(!l&&p!==c.path)return null;l&&(o[p.substring(1)]=c),s.push(c),a++}return"full"===n.pathMatch&&(e.hasChildren()||a<t.length)?null:{consumed:s,posParams:o}}function S(t,e){if(t.length!==e.length)return!1;for(var n=0;n<t.length;++n)if(!C(t[n],e[n]))return!1;return!0}function C(t,e){var n=Object.keys(t),r=Object.keys(e);if(n.length!=r.length)return!1;for(var i,o=0;o<n.length;o++)if(i=n[o],t[i]!==e[i])return!1;return!0}function x(t){for(var e=[],n=0;n<t.length;++n)for(var r=0;r<t[n].length;++r)e.push(t[n][r]);return e}function T(t){return t.length>0?t[t.length-1]:null}function P(t,e){var n={};for(var r in t)t.hasOwnProperty(r)&&(n[r]=t[r]);for(var r in e)e.hasOwnProperty(r)&&(n[r]=e[r]);return n}function O(t,e){for(var n in t)t.hasOwnProperty(n)&&e(t[n],n)}function A(t,e){var n=[],r={};if(O(t,function(t,i){i===Oe&&n.push(p.map.call(e(i,t),function(t){return r[i]=t,t}))}),O(t,function(t,i){i!==Oe&&n.push(p.map.call(e(i,t),function(t){return r[i]=t,t}))}),n.length>0){var i=y.concatAll.call(s.of.apply(void 0,n)),o=g.last.call(i);return p.map.call(o,function(){return r})}return s.of(r)}function M(t){var e=_.mergeAll.call(t);return u.every.call(e,function(t){return t===!0})}function R(t){return Te(t)?t:xe(t)?v.fromPromise(t):s.of(t)}function k(){return new Ne(new Ie([],{}),{},null)}function N(t,e,n){return n?I(t.queryParams,e.queryParams)&&D(t.root,e.root):j(t.queryParams,e.queryParams)&&L(t.root,e.root)}function I(t,e){return C(t,e)}function D(t,e){if(!U(t.segments,e.segments))return!1;if(t.numberOfChildren!==e.numberOfChildren)return!1;for(var n in e.children){if(!t.children[n])return!1;if(!D(t.children[n],e.children[n]))return!1}return!0}function j(t,e){return Object.keys(e).length<=Object.keys(t).length&&Object.keys(e).every(function(n){return e[n]===t[n]})}function L(t,e){return V(t,e,e.segments)}function V(t,e,n){if(t.segments.length>n.length){var r=t.segments.slice(0,n.length);return U(r,n)?e.hasChildren()?!1:!0:!1}if(t.segments.length===n.length){if(!U(t.segments,n))return!1;for(var i in e.children){if(!t.children[i])return!1;if(!L(t.children[i],e.children[i]))return!1}return!0}var r=n.slice(0,t.segments.length),o=n.slice(t.segments.length);return U(t.segments,r)&&t.children[Oe]?V(t.children[Oe],e,o):!1}function F(t,e){if(t.length!==e.length)return!1;for(var n=0;n<t.length;++n){if(t[n].path!==e[n].path)return!1;if(!C(t[n].parameters,e[n].parameters))return!1}return!0}function U(t,e){if(t.length!==e.length)return!1;for(var n=0;n<t.length;++n)if(t[n].path!==e[n].path)return!1;return!0}function B(t,e){var n=[];return O(t.children,function(t,r){r===Oe&&(n=n.concat(e(t,r)))}),O(t.children,function(t,r){r!==Oe&&(n=n.concat(e(t,r)))}),n}function H(t){return t.segments.map(function(t){return G(t)}).join("/")}function q(t,e){if(t.hasChildren()&&e){var n=t.children[Oe]?q(t.children[Oe],!1):"",r=[];return O(t.children,function(t,e){e!==Oe&&r.push(e+":"+q(t,!1))}),r.length>0?n+"("+r.join("//")+")":""+n}if(t.hasChildren()&&!e){var i=B(t,function(e,n){return n===Oe?[q(t.children[Oe],!1)]:[n+":"+q(e,!1)]});return H(t)+"/("+i.join("//")+")"}return H(t)}function z(t){return encodeURIComponent(t)}function W(t){return decodeURIComponent(t)}function G(t){return""+z(t.path)+K(t.parameters)}function K(t){return Q(t).map(function(t){return";"+z(t.first)+"="+z(t.second)}).join("")}function X(t){var e=Object.keys(t).map(function(e){var n=t[e];return Array.isArray(n)?n.map(function(t){return z(e)+"="+z(t)}).join("&"):z(e)+"="+z(n)});return e.length?"?"+e.join("&"):""}function Q(t){var e=[];for(var n in t)t.hasOwnProperty(n)&&e.push(new Ve(n,t[n]));return e}function Y(t){Fe.lastIndex=0;var e=t.match(Fe);return e?e[0]:""}function $(t){Ue.lastIndex=0;var e=t.match(Fe);return e?e[0]:""}function Z(t){Be.lastIndex=0;var e=t.match(Be);return e?e[0]:""}function J(t){return new f.Observable(function(e){return e.error(new qe(t))})}function tt(t){return new f.Observable(function(e){return e.error(new ze(t))})}function et(t){return new f.Observable(function(e){return e.error(new Error("Only absolute redirects can have named outlets. redirectTo: '"+t+"'"))})}function nt(t){return new f.Observable(function(e){return e.error(new Ae("Cannot load children because the guard of the route \"path: '"+t.path+"'\" returned false"))})}function rt(t,e,n,r,i){return new We(t,e,n,r,i).apply()}function it(t,e){var n=e.canLoad;if(!n||0===n.length)return s.of(!0);var r=p.map.call(o.from(n),function(n){var r=t.get(n);return R(r.canLoad?r.canLoad(e):r(e))});return M(r)}function ot(t,e,n){var r={matched:!1,consumedSegments:[],lastChild:0,positionalParamSegments:{}};if(""===e.path)return"full"===e.pathMatch&&(t.hasChildren()||n.length>0)?{matched:!1,consumedSegments:[],lastChild:0,positionalParamSegments:{}}:{matched:!0,consumedSegments:[],lastChild:0,positionalParamSegments:{}};var i=e.matcher||E,o=i(n,t,e);return o?{matched:!0,consumedSegments:o.consumed,lastChild:o.consumed.length,positionalParamSegments:o.posParams}:r}function st(t,e,n,r){if(n.length>0&&pt(t,n,r)){var i=new Ie(e,ct(r,new Ie(n,t.children)));return{segmentGroup:at(i),slicedSegments:[]}}if(0===n.length&&lt(t,n,r)){var i=new Ie(t.segments,ut(t,n,r,t.children));return{segmentGroup:at(i),slicedSegments:n}}return{segmentGroup:t,slicedSegments:n}}function at(t){if(1===t.numberOfChildren&&t.children[Oe]){var e=t.children[Oe];return new Ie(t.segments.concat(e.segments),e.children)}return t}function ut(t,e,n,r){for(var i={},o=0,s=n;o<s.length;o++){var a=s[o];ht(t,e,a)&&!r[ft(a)]&&(i[ft(a)]=new Ie([],{}))}return P(r,i)}function ct(t,e){var n={};n[Oe]=e;for(var r=0,i=t;r<i.length;r++){var o=i[r];""===o.path&&ft(o)!==Oe&&(n[ft(o)]=new Ie([],{}))}return n}function pt(t,e,n){return n.filter(function(n){return ht(t,e,n)&&ft(n)!==Oe}).length>0}function lt(t,e,n){return n.filter(function(n){return ht(t,e,n)}).length>0}function ht(t,e,n){return(t.hasChildren()||e.length>0)&&"full"===n.pathMatch?!1:""===n.path&&void 0!==n.redirectTo}function ft(t){return t.outlet?t.outlet:Oe}function dt(t,e){void 0===e&&(e="");for(var n=0;n<t.length;n++){var r=t[n],i=mt(e,r);yt(r,i)}}function yt(t,e){if(!t)throw new Error("\n      Invalid configuration of route '"+e+"': Encountered undefined route.\n      The reason might be an extra comma.\n       \n      Example: \n      const routes: Routes = [\n        { path: '', redirectTo: '/dashboard', pathMatch: 'full' },\n        { path: 'dashboard',  component: DashboardComponent },, << two commas\n        { path: 'detail/:id', component: HeroDetailComponent }\n      ];\n    ");if(Array.isArray(t))throw new Error("Invalid configuration of route '"+e+"': Array cannot be specified");if(!t.component&&t.outlet&&t.outlet!==Oe)throw new Error("Invalid configuration of route '"+e+"': a componentless route cannot have a named outlet set");if(t.redirectTo&&t.children)throw new Error("Invalid configuration of route '"+e+"': redirectTo and children cannot be used together");if(t.redirectTo&&t.loadChildren)throw new Error("Invalid configuration of route '"+e+"': redirectTo and loadChildren cannot be used together");if(t.children&&t.loadChildren)throw new Error("Invalid configuration of route '"+e+"': children and loadChildren cannot be used together");if(t.redirectTo&&t.component)throw new Error("Invalid configuration of route '"+e+"': redirectTo and component cannot be used together");if(t.path&&t.matcher)throw new Error("Invalid configuration of route '"+e+"': path and matcher cannot be used together");if(void 0===t.redirectTo&&!t.component&&!t.children&&!t.loadChildren)throw new Error("Invalid configuration of route '"+e+"'. One of the following must be provided: component, redirectTo, children or loadChildren");if(void 0===t.path&&void 0===t.matcher)throw new Error("Invalid configuration of route '"+e+"': routes must have either a path or a matcher specified");if("string"==typeof t.path&&"/"===t.path.charAt(0))throw new Error("Invalid configuration of route '"+e+"': path cannot start with a slash");if(""===t.path&&void 0!==t.redirectTo&&void 0===t.pathMatch){var n="The default value of 'pathMatch' is 'prefix', but often the intent is to use 'full'.";throw new Error("Invalid configuration of route '{path: \""+e+'", redirectTo: "'+t.redirectTo+"\"}': please provide 'pathMatch'. "+n)}if(void 0!==t.pathMatch&&"full"!==t.pathMatch&&"prefix"!==t.pathMatch)throw new Error("Invalid configuration of route '"+e+"': pathMatch can only be set to 'prefix' or 'full'");t.children&&dt(t.children,e)}function mt(t,e){return e?t||e.path?t&&!e.path?t+"/":!t&&e.path?e.path:t+"/"+e.path:"":t}function vt(t,e){if(t===e.value)return e;for(var n=0,r=e.children;n<r.length;n++){var i=r[n],o=vt(t,i);if(o)return o}return null}function gt(t,e,n){if(n.push(e),t===e.value)return n;for(var r=0,i=e.children;r<i.length;r++){var o=i[r],s=n.slice(0),a=gt(t,o,s);if(a.length>0)return a}return[]}function _t(t,e){var n=bt(t,e),i=new r.BehaviorSubject([new De("",{})]),o=new r.BehaviorSubject({}),s=new r.BehaviorSubject({}),a=new r.BehaviorSubject({}),u=new r.BehaviorSubject(""),c=new Ye(i,o,a,u,s,Oe,e,n.root);return c.snapshot=n.root,new Qe(new Ke(c,[]),n)}function bt(t,e){var n={},r={},i={},o="",s=new $e([],n,i,o,r,Oe,e,null,t.root,-1,{});return new Ze("",new Ke(s,[]))}function wt(t){for(var e=t.pathFromRoot,n=e.length-1;n>=1;){var r=e[n],i=e[n-1];if(r.routeConfig&&""===r.routeConfig.path)n--;else{if(i.component)break;n--}}return e.slice(n).reduce(function(t,e){var n=P(t.params,e.params),r=P(t.data,e.data),i=P(t.resolve,e._resolvedData);return{params:n,data:r,resolve:i}},{params:{},data:{},resolve:{}})}function Et(t,e){e.value._routerState=t,e.children.forEach(function(e){return Et(t,e)})}function St(t){var e=t.children.length>0?" { "+t.children.map(St).join(", ")+" } ":"";return""+t.value+e}function Ct(t){if(t.snapshot){var e=t.snapshot;t.snapshot=t._futureSnapshot,C(e.queryParams,t._futureSnapshot.queryParams)||t.queryParams.next(t._futureSnapshot.queryParams),e.fragment!==t._futureSnapshot.fragment&&t.fragment.next(t._futureSnapshot.fragment),C(e.params,t._futureSnapshot.params)||t.params.next(t._futureSnapshot.params),S(e.url,t._futureSnapshot.url)||t.url.next(t._futureSnapshot.url),xt(e,t._futureSnapshot)||t.data.next(t._futureSnapshot.data)}else t.snapshot=t._futureSnapshot,t.data.next(t._futureSnapshot.data)}function xt(t,e){return C(t.params,e.params)&&F(t.url,e.url)}function Tt(t,e,n){var r=Pt(t,e._root,n?n._root:void 0);return new Qe(r,e)}function Pt(t,e,n){if(n&&t.shouldReuseRoute(e.value,n.value.snapshot)){var r=n.value;r._futureSnapshot=e.value;var i=At(t,e,n);return new Ke(r,i)}if(t.retrieve(e.value)){var o=t.retrieve(e.value).route;return Ot(e,o),o}var r=Mt(e.value),i=e.children.map(function(e){return Pt(t,e)});return new Ke(r,i)}function Ot(t,e){if(t.value.routeConfig!==e.value.routeConfig)throw new Error("Cannot reattach ActivatedRouteSnapshot created from a different route");if(t.children.length!==e.children.length)throw new Error("Cannot reattach ActivatedRouteSnapshot with a different number of children");e.value._futureSnapshot=t.value;for(var n=0;n<t.children.length;++n)Ot(t.children[n],e.children[n])}function At(t,e,n){return e.children.map(function(e){for(var r=0,i=n.children;r<i.length;r++){var o=i[r];if(t.shouldReuseRoute(o.value.snapshot,e.value))return Pt(t,e,o)}return Pt(t,e)})}function Mt(t){return new Ye(new r.BehaviorSubject(t.url),new r.BehaviorSubject(t.params),new r.BehaviorSubject(t.queryParams),new r.BehaviorSubject(t.fragment),new r.BehaviorSubject(t.data),t.outlet,t.component,t)}function Rt(t,e,n,r,i){if(0===n.length)return Nt(e.root,e.root,e,r,i);var o=Dt(n);if(o.toRoot())return Nt(e.root,new Ie([],{}),e,r,i);var s=jt(o,e,t),a=s.processChildren?Bt(s.segmentGroup,s.index,o.commands):Ut(s.segmentGroup,s.index,o.commands);return Nt(s.segmentGroup,a,e,r,i)}function kt(t){return"object"==typeof t&&null!=t&&!t.outlets&&!t.segmentPath}function Nt(t,e,n,r,i){return n.root===t?new Ne(e,Wt(r),i):new Ne(It(n.root,t,e),Wt(r),i)}function It(t,e,n){var r={};return O(t.children,function(t,i){r[i]=t===e?n:It(t,e,n)}),new Ie(t.segments,r)}function Dt(t){if("string"==typeof t[0]&&1===t.length&&"/"===t[0])return new Je(!0,0,t);var e=0,n=!1,r=t.reduce(function(t,r,i){if("object"==typeof r&&null!=r){if(r.outlets){var o={};return O(r.outlets,function(t,e){o[e]="string"==typeof t?t.split("/"):t}),t.concat([{outlets:o}])}if(r.segmentPath)return t.concat([r.segmentPath])}return"string"!=typeof r?t.concat([r]):0===i?(r.split("/").forEach(function(r,i){0==i&&"."===r||(0==i&&""===r?n=!0:".."===r?e++:""!=r&&t.push(r))}),t):t.concat([r])},[]);return new Je(n,e,r)}function jt(t,e,n){if(t.isAbsolute)return new tn(e.root,!0,0);if(-1===n.snapshot._lastPathIndex)return new tn(n.snapshot._urlSegment,!0,0);var r=kt(t.commands[0])?0:1,i=n.snapshot._lastPathIndex+r;return Lt(n.snapshot._urlSegment,i,t.numberOfDoubleDots)}function Lt(t,e,n){for(var r=t,i=e,o=n;o>i;){if(o-=i,r=r.parent,!r)throw new Error("Invalid number of '../'");i=r.segments.length}return new tn(r,!1,i-o)}function Vt(t){return"object"==typeof t&&null!=t&&t.outlets?t.outlets[Oe]:""+t}function Ft(t){return"object"!=typeof t[0]?(e={},e[Oe]=t,e):void 0===t[0].outlets?(n={},n[Oe]=t,n):t[0].outlets;var e,n}function Ut(t,e,n){if(t||(t=new Ie([],{})),0===t.segments.length&&t.hasChildren())return Bt(t,e,n);var r=Ht(t,e,n),i=n.slice(r.commandIndex);if(r.match&&r.pathIndex<t.segments.length){var o=new Ie(t.segments.slice(0,r.pathIndex),{});return o.children[Oe]=new Ie(t.segments.slice(r.pathIndex),t.children),Bt(o,0,i)}return r.match&&0===i.length?new Ie(t.segments,{}):r.match&&!t.hasChildren()?qt(t,e,n):r.match?Bt(t,0,i):qt(t,e,n)}function Bt(t,e,n){if(0===n.length)return new Ie(t.segments,{});var r=Ft(n),i={};return O(r,function(n,r){null!==n&&(i[r]=Ut(t.children[r],e,n))}),O(t.children,function(t,e){void 0===r[e]&&(i[e]=t)}),new Ie(t.segments,i)}function Ht(t,e,n){for(var r=0,i=e,o={match:!1,pathIndex:0,commandIndex:0};i<t.segments.length;){if(r>=n.length)return o;var s=t.segments[i],a=Vt(n[r]),u=r<n.length-1?n[r+1]:null;if(i>0&&void 0===a)break;if(a&&u&&"object"==typeof u&&void 0===u.outlets){if(!Gt(a,u,s))return o;r+=2}else{if(!Gt(a,{},s))return o;r++}i++}return{match:!0,pathIndex:i,commandIndex:r}}function qt(t,e,n){for(var r=t.segments.slice(0,e),i=0;i<n.length;){if("object"==typeof n[i]&&void 0!==n[i].outlets){var o=zt(n[i].outlets);return new Ie(r,o)}if(0===i&&kt(n[0])){var s=t.segments[e];r.push(new De(s.path,n[0])),i++}else{var a=Vt(n[i]),u=i<n.length-1?n[i+1]:null;a&&u&&kt(u)?(r.push(new De(a,Wt(u))),i+=2):(r.push(new De(a,{})),i++)}}return new Ie(r,{})}function zt(t){var e={};return O(t,function(t,n){null!==t&&(e[n]=qt(new Ie([],{}),0,t))}),e}function Wt(t){var e={};return O(t,function(t,n){return e[n]=""+t}),e}function Gt(t,e,n){return t==n.path&&C(e,n.parameters)}function Kt(t,e,n,r){return new nn(t,e,n,r).recognize()}function Xt(t){t.sort(function(t,e){return t.value.outlet===Oe?-1:e.value.outlet===Oe?1:t.value.outlet.localeCompare(e.value.outlet)})}function Qt(t){return t.children?t.children:t.loadChildren?t._loadedConfig.routes:[]}function Yt(t,e,n){if(""===e.path){if("full"===e.pathMatch&&(t.hasChildren()||n.length>0))throw new en;return{consumedSegments:[],lastChild:0,parameters:{}}}var r=e.matcher||E,i=r(n,t,e);if(!i)throw new en;var o={};O(i.posParams,function(t,e){o[e]=t.path});var s=P(o,i.consumed[i.consumed.length-1].parameters);return{consumedSegments:i.consumed,lastChild:i.consumed.length,parameters:s}}function $t(t){var e={};t.forEach(function(t){var n=e[t.value.outlet];if(n){var r=n.url.map(function(t){return t.toString()}).join("/"),i=t.value.url.map(function(t){return t.toString()}).join("/");throw new Error("Two segments cannot have the same outlet name: '"+r+"' and '"+i+"'.")}e[t.value.outlet]=t.value})}function Zt(t){for(var e=t;e._sourceSegment;)e=e._sourceSegment;return e}function Jt(t){for(var e=t,n=e._segmentIndexShift?e._segmentIndexShift:0;e._sourceSegment;)e=e._sourceSegment,n+=e._segmentIndexShift?e._segmentIndexShift:0;return n-1}function te(t,e,n,r){if(n.length>0&&re(t,n,r)){var i=new Ie(e,ne(t,e,r,new Ie(n,t.children)));return i._sourceSegment=t,i._segmentIndexShift=e.length,{segmentGroup:i,slicedSegments:[]}}if(0===n.length&&ie(t,n,r)){var i=new Ie(t.segments,ee(t,n,r,t.children));return i._sourceSegment=t,i._segmentIndexShift=e.length,{segmentGroup:i,slicedSegments:n}}var i=new Ie(t.segments,t.children);return i._sourceSegment=t,i._segmentIndexShift=e.length,{segmentGroup:i,slicedSegments:n}}function ee(t,e,n,r){for(var i={},o=0,s=n;o<s.length;o++){var a=s[o];if(oe(t,e,a)&&!r[se(a)]){var u=new Ie([],{});u._sourceSegment=t,u._segmentIndexShift=t.segments.length,i[se(a)]=u}}return P(r,i)}function ne(t,e,n,r){var i={};i[Oe]=r,r._sourceSegment=t,r._segmentIndexShift=e.length;for(var o=0,s=n;o<s.length;o++){var a=s[o];if(""===a.path&&se(a)!==Oe){var u=new Ie([],{});u._sourceSegment=t,u._segmentIndexShift=e.length,i[se(a)]=u}}return i}function re(t,e,n){return n.filter(function(n){return oe(t,e,n)&&se(n)!==Oe}).length>0}function ie(t,e,n){return n.filter(function(n){return oe(t,e,n)}).length>0}function oe(t,e,n){return(t.hasChildren()||e.length>0)&&"full"===n.pathMatch?!1:""===n.path&&void 0===n.redirectTo}function se(t){return t.outlet?t.outlet:Oe}function ae(t){return t.data?t.data:{}}function ue(t){return t.resolve?t.resolve:{}}function ce(t){throw t}function pe(t){Ct(t.value),t.children.forEach(pe)}function le(t){for(var e=t.parent;e;){var n=e._routeConfig;if(n&&n._loadedConfig)return n._loadedConfig;if(n&&n.component)return null;e=e.parent}return null}function he(t){if(!t)return null;for(var e=t.parent;e;){var n=e._routeConfig;if(n&&n._loadedConfig)return n._loadedConfig;e=e.parent}return null}function fe(t){return t?t.children.reduce(function(t,e){return t[e.value.outlet]=e,t},{}):{}}function de(t,e){var n=t._outlets[e.outlet];if(!n){var r=e.component.name;throw new Error(e.outlet===Oe?"Cannot find primary outlet to load '"+r+"'":"Cannot find the outlet "+e.outlet+" to load '"+r+"'")}return n}function ye(t){for(var e=0;e<t.length;e++){var n=t[e];if(null==n)throw new Error("The requested path contains "+n+" segment at index "+e)}}function me(t){return""===t||!!t}function ve(){return new n.NgProbeToken("Router",fn)}function ge(t,n,r){return void 0===r&&(r={}),r.useHash?new e.HashLocationStrategy(t,n):new e.PathLocationStrategy(t,n)}function _e(t){if(t)throw new Error("RouterModule.forRoot() called twice. Lazy loaded modules should use RouterModule.forChild() instead.");return"guarded"}function be(t){return[{provide:n.ANALYZE_FOR_ENTRY_COMPONENTS,multi:!0,useValue:t},{provide:Me,multi:!0,useValue:t}]}function we(t,e,n,r,i,o,s,a,u,c,p){void 0===u&&(u={});var l=new fn(null,e,n,r,i,o,s,x(a));if(c&&(l.urlHandlingStrategy=c),p&&(l.routeReuseStrategy=p),u.errorHandler&&(l.errorHandler=u.errorHandler),u.enableTracing){var h=Sn();l.events.subscribe(function(t){h.logGroup("Router Event: "+t.constructor.name),h.log(t.toString()),h.log(t),h.logGroupEnd()})}return l}function Ee(t){return t.routerState.root}function Se(t,e,n,r){return function(i){i===e.components[0]&&(t.resetRootComponentType(e.componentTypes[0]),n.setUpPreloading(),r.initialNavigation===!1?t.setUpLocationChangeListener():t.initialNavigation())}}function Ce(){return[{provide:Nn,useFactory:Se,deps:[fn,n.ApplicationRef,Pn,An]},{provide:n.APP_BOOTSTRAP_LISTENER,multi:!0,useExisting:Nn}]}var xe=n.__core_private__.isPromise,Te=n.__core_private__.isObservable,Pe=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Oe="primary",Ae=function(t){function e(e){t.call(this,e),this.message=e,this.stack=new Error(e).stack}return Pe(e,t),e.prototype.toString=function(){return this.message},e}(Error),Me=new n.OpaqueToken("ROUTES"),Re=function(){function t(t,e,n,r){this.routes=t,this.injector=e,this.factoryResolver=n,this.injectorFactory=r}return t}(),ke=function(){function t(t,e){this.loader=t,this.compiler=e}return t.prototype.load=function(t,e){return p.map.call(this.loadModuleFactory(e),function(e){var n=e.create(t),r=function(t){return e.create(t).injector};return new Re(x(n.injector.get(Me)),n.injector,n.componentFactoryResolver,r)})},t.prototype.loadModuleFactory=function(t){var e=this;return"string"==typeof t?v.fromPromise(this.loader.load(t)):l.mergeMap.call(R(t()),function(t){return t instanceof n.NgModuleFactory?s.of(t):v.fromPromise(e.compiler.compileModuleAsync(t))})},t}(),Ne=function(){function t(t,e,n){this.root=t,this.queryParams=e,this.fragment=n}return t.prototype.toString=function(){return(new Le).serialize(this)},t}(),Ie=function(){function t(t,e){var n=this;this.segments=t,this.children=e,this.parent=null,O(e,function(t){return t.parent=n})}return t.prototype.hasChildren=function(){return this.numberOfChildren>0},Object.defineProperty(t.prototype,"numberOfChildren",{get:function(){return Object.keys(this.children).length},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return H(this)},t}(),De=function(){function t(t,e){this.path=t,this.parameters=e}return t.prototype.toString=function(){return G(this)},t}(),je=function(){function t(){}return t.prototype.parse=function(){},t.prototype.serialize=function(){},t}(),Le=function(){function t(){}return t.prototype.parse=function(t){var e=new He(t);return new Ne(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())},t.prototype.serialize=function(t){var e="/"+q(t.root,!0),n=X(t.queryParams),r=null!==t.fragment&&void 0!==t.fragment?"#"+encodeURI(t.fragment):"";return""+e+n+r},t}(),Ve=function(){function t(t,e){this.first=t,this.second=e}return t}(),Fe=/^[^\/()?;=&#]+/,Ue=/^[^=?&#]+/,Be=/^[^?&#]+/,He=function(){function t(t){this.url=t,this.remaining=t}return t.prototype.peekStartsWith=function(t){return this.remaining.startsWith(t)},t.prototype.capture=function(t){if(!this.remaining.startsWith(t))throw new Error('Expected "'+t+'".');this.remaining=this.remaining.substring(t.length)},t.prototype.parseRootSegment=function(){return this.remaining.startsWith("/")&&this.capture("/"),""===this.remaining||this.remaining.startsWith("?")||this.remaining.startsWith("#")?new Ie([],{}):new Ie([],this.parseChildren())},t.prototype.parseChildren=function(){if(0==this.remaining.length)return{};this.peekStartsWith("/")&&this.capture("/");var t=[];for(this.peekStartsWith("(")||t.push(this.parseSegments());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),t.push(this.parseSegments());var e={};this.peekStartsWith("/(")&&(this.capture("/"),e=this.parseParens(!0));var n={};return this.peekStartsWith("(")&&(n=this.parseParens(!1)),(t.length>0||Object.keys(e).length>0)&&(n[Oe]=new Ie(t,e)),n},t.prototype.parseSegments=function(){var t=Y(this.remaining);if(""===t&&this.peekStartsWith(";"))throw new Error("Empty path url segment cannot have parameters: '"+this.remaining+"'.");this.capture(t);var e={};return this.peekStartsWith(";")&&(e=this.parseMatrixParams()),new De(W(t),e)},t.prototype.parseQueryParams=function(){var t={};if(this.peekStartsWith("?"))for(this.capture("?"),this.parseQueryParam(t);this.remaining.length>0&&this.peekStartsWith("&");)this.capture("&"),this.parseQueryParam(t);return t},t.prototype.parseFragment=function(){return this.peekStartsWith("#")?decodeURI(this.remaining.substring(1)):null},t.prototype.parseMatrixParams=function(){for(var t={};this.remaining.length>0&&this.peekStartsWith(";");)this.capture(";"),this.parseParam(t);return t},t.prototype.parseParam=function(t){var e=Y(this.remaining);if(e){this.capture(e);var n="";if(this.peekStartsWith("=")){this.capture("=");var r=Y(this.remaining);r&&(n=r,this.capture(n))}t[W(e)]=W(n)}},t.prototype.parseQueryParam=function(t){var e=$(this.remaining);if(e){this.capture(e);var n="";if(this.peekStartsWith("=")){this.capture("=");var r=Z(this.remaining);r&&(n=r,this.capture(n))}var i=W(e),o=W(n);if(t.hasOwnProperty(i)){var s=t[i];Array.isArray(s)||(s=[s],t[i]=s),s.push(o)}else t[i]=o}},t.prototype.parseParens=function(t){var e={};for(this.capture("(");!this.peekStartsWith(")")&&this.remaining.length>0;){var n=Y(this.remaining),r=this.remaining[n.length];if("/"!==r&&")"!==r&&";"!==r)throw new Error("Cannot parse url '"+this.url+"'");var i=void 0;n.indexOf(":")>-1?(i=n.substr(0,n.indexOf(":")),this.capture(i),this.capture(":")):t&&(i=Oe);var o=this.parseChildren();e[i]=1===Object.keys(o).length?o[Oe]:new Ie([],o),this.peekStartsWith("//")&&this.capture("//")}return this.capture(")"),e},t}(),qe=function(){function t(t){void 0===t&&(t=null),this.segmentGroup=t}return t}(),ze=function(){function t(t){this.urlTree=t}return t}(),We=function(){function t(t,e,n,r,i){this.injector=t,this.configLoader=e,this.urlSerializer=n,this.urlTree=r,this.config=i,this.allowRedirects=!0}return t.prototype.apply=function(){var t=this,e=this.expandSegmentGroup(this.injector,this.config,this.urlTree.root,Oe),n=p.map.call(e,function(e){return t.createUrlTree(e,t.urlTree.queryParams,t.urlTree.fragment)});return d._catch.call(n,function(e){if(e instanceof ze)return t.allowRedirects=!1,t.match(e.urlTree);throw e instanceof qe?t.noMatchError(e):e})},t.prototype.match=function(t){var e=this,n=this.expandSegmentGroup(this.injector,this.config,t.root,Oe),r=p.map.call(n,function(n){return e.createUrlTree(n,t.queryParams,t.fragment)});return d._catch.call(r,function(t){throw t instanceof qe?e.noMatchError(t):t})},t.prototype.noMatchError=function(t){return new Error("Cannot match any routes. URL Segment: '"+t.segmentGroup+"'")},t.prototype.createUrlTree=function(t,e,n){var r=t.segments.length>0?new Ie([],(i={},i[Oe]=t,i)):t;return new Ne(r,e,n);var i},t.prototype.expandSegmentGroup=function(t,e,n,r){return 0===n.segments.length&&n.hasChildren()?p.map.call(this.expandChildren(t,e,n),function(t){return new Ie([],t)}):this.expandSegment(t,n,e,n.segments,r,!0)},t.prototype.expandChildren=function(t,e,n){var r=this;return A(n.children,function(n,i){return r.expandSegmentGroup(t,e,i,n)})},t.prototype.expandSegment=function(t,e,n,r,i,o){var a=this,u=s.of.apply(void 0,n),l=p.map.call(u,function(u){var c=a.expandSegmentAgainstRoute(t,e,n,u,r,i,o);return d._catch.call(c,function(t){if(t instanceof qe)return s.of(null);throw t})}),h=y.concatAll.call(l),f=c.first.call(h,function(t){return!!t});return d._catch.call(f,function(t){if(t instanceof m.EmptyError){if(a.noLeftoversInUrl(e,r,i))return s.of(new Ie([],{}));throw new qe(e)}throw t})},t.prototype.noLeftoversInUrl=function(t,e,n){return 0===e.length&&!t.children[n]},t.prototype.expandSegmentAgainstRoute=function(t,e,n,r,i,o,s){return ft(r)!==o?J(e):void 0===r.redirectTo||s&&this.allowRedirects?void 0===r.redirectTo?this.matchSegmentAgainstRoute(t,e,r,i):this.expandSegmentAgainstRouteUsingRedirect(t,e,n,r,i,o):J(e)},t.prototype.expandSegmentAgainstRouteUsingRedirect=function(t,e,n,r,i,o){
-return"**"===r.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(t,n,r,o):this.expandRegularSegmentAgainstRouteUsingRedirect(t,e,n,r,i,o)},t.prototype.expandWildCardWithParamsAgainstRouteUsingRedirect=function(t,e,n,r){var i=this,o=this.applyRedirectCommands([],n.redirectTo,{});return n.redirectTo.startsWith("/")?tt(o):l.mergeMap.call(this.lineralizeSegments(n,o),function(n){var o=new Ie(n,{});return i.expandSegment(t,o,e,n,r,!1)})},t.prototype.expandRegularSegmentAgainstRouteUsingRedirect=function(t,e,n,r,i,o){var s=this,a=ot(e,r,i),u=a.matched,c=a.consumedSegments,p=a.lastChild,h=a.positionalParamSegments;if(!u)return J(e);var f=this.applyRedirectCommands(c,r.redirectTo,h);return r.redirectTo.startsWith("/")?tt(f):l.mergeMap.call(this.lineralizeSegments(r,f),function(r){return s.expandSegment(t,e,n,r.concat(i.slice(p)),o,!1)})},t.prototype.matchSegmentAgainstRoute=function(t,e,n,r){var i=this;if("**"===n.path)return n.loadChildren?p.map.call(this.configLoader.load(t,n.loadChildren),function(t){return n._loadedConfig=t,new Ie(r,{})}):s.of(new Ie(r,{}));var o=ot(e,n,r),a=o.matched,u=o.consumedSegments,c=o.lastChild;if(!a)return J(e);var h=r.slice(c),f=this.getChildConfig(t,n);return l.mergeMap.call(f,function(t){var n=t.injector,r=t.routes,o=st(e,u,h,r),a=o.segmentGroup,c=o.slicedSegments;if(0===c.length&&a.hasChildren()){var l=i.expandChildren(n,r,a);return p.map.call(l,function(t){return new Ie(u,t)})}if(0===r.length&&0===c.length)return s.of(new Ie(u,{}));var l=i.expandSegment(n,a,r,c,Oe,!0);return p.map.call(l,function(t){return new Ie(u.concat(t.segments),t.children)})})},t.prototype.getChildConfig=function(t,e){var n=this;return e.children?s.of(new Re(e.children,t,null,null)):e.loadChildren?l.mergeMap.call(it(t,e),function(r){return r?e._loadedConfig?s.of(e._loadedConfig):p.map.call(n.configLoader.load(t,e.loadChildren),function(t){return e._loadedConfig=t,t}):nt(e)}):s.of(new Re([],t,null,null))},t.prototype.lineralizeSegments=function(t,e){for(var n=[],r=e.root;;){if(n=n.concat(r.segments),0===r.numberOfChildren)return s.of(n);if(r.numberOfChildren>1||!r.children[Oe])return et(t.redirectTo);r=r.children[Oe]}},t.prototype.applyRedirectCommands=function(t,e,n){this.urlSerializer.parse(e);return this.applyRedirectCreatreUrlTree(e,this.urlSerializer.parse(e),t,n)},t.prototype.applyRedirectCreatreUrlTree=function(t,e,n,r){var i=this.createSegmentGroup(t,e.root,n,r);return new Ne(i,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)},t.prototype.createQueryParams=function(t,e){var n={};return O(t,function(t,r){n[r]=t.startsWith(":")?e[t.substring(1)]:t}),n},t.prototype.createSegmentGroup=function(t,e,n,r){var i=this,o=this.createSegments(t,e.segments,n,r),s={};return O(e.children,function(e,o){s[o]=i.createSegmentGroup(t,e,n,r)}),new Ie(o,s)},t.prototype.createSegments=function(t,e,n,r){var i=this;return e.map(function(e){return e.path.startsWith(":")?i.findPosParam(t,e,r):i.findOrReturn(e,n)})},t.prototype.findPosParam=function(t,e,n){var r=n[e.path.substring(1)];if(!r)throw new Error("Cannot redirect to '"+t+"'. Cannot find '"+e.path+"'.");return r},t.prototype.findOrReturn=function(t,e){for(var n=0,r=0,i=e;r<i.length;r++){var o=i[r];if(o.path===t.path)return e.splice(n),o;n++}return t},t}(),Ge=function(){function t(t){this._root=t}return Object.defineProperty(t.prototype,"root",{get:function(){return this._root.value},enumerable:!0,configurable:!0}),t.prototype.parent=function(t){var e=this.pathFromRoot(t);return e.length>1?e[e.length-2]:null},t.prototype.children=function(t){var e=vt(t,this._root);return e?e.children.map(function(t){return t.value}):[]},t.prototype.firstChild=function(t){var e=vt(t,this._root);return e&&e.children.length>0?e.children[0].value:null},t.prototype.siblings=function(t){var e=gt(t,this._root,[]);if(e.length<2)return[];var n=e[e.length-2].children.map(function(t){return t.value});return n.filter(function(e){return e!==t})},t.prototype.pathFromRoot=function(t){return gt(t,this._root,[]).map(function(t){return t.value})},t}(),Ke=function(){function t(t,e){this.value=t,this.children=e}return t.prototype.toString=function(){return"TreeNode("+this.value+")"},t}(),Xe=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Qe=function(t){function e(e,n){t.call(this,e),this.snapshot=n,Et(this,e)}return Xe(e,t),e.prototype.toString=function(){return this.snapshot.toString()},e}(Ge),Ye=function(){function t(t,e,n,r,i,o,s,a){this.url=t,this.params=e,this.queryParams=n,this.fragment=r,this.data=i,this.outlet=o,this.component=s,this._futureSnapshot=a}return Object.defineProperty(t.prototype,"routeConfig",{get:function(){return this._futureSnapshot.routeConfig},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"root",{get:function(){return this._routerState.root},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){return this._routerState.parent(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"firstChild",{get:function(){return this._routerState.firstChild(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"children",{get:function(){return this._routerState.children(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pathFromRoot",{get:function(){return this._routerState.pathFromRoot(this)},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return this.snapshot?this.snapshot.toString():"Future("+this._futureSnapshot+")"},t}(),$e=function(){function t(t,e,n,r,i,o,s,a,u,c,p){this.url=t,this.params=e,this.queryParams=n,this.fragment=r,this.data=i,this.outlet=o,this.component=s,this._routeConfig=a,this._urlSegment=u,this._lastPathIndex=c,this._resolve=p}return Object.defineProperty(t.prototype,"routeConfig",{get:function(){return this._routeConfig},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"root",{get:function(){return this._routerState.root},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){return this._routerState.parent(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"firstChild",{get:function(){return this._routerState.firstChild(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"children",{get:function(){return this._routerState.children(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pathFromRoot",{get:function(){return this._routerState.pathFromRoot(this)},enumerable:!0,configurable:!0}),t.prototype.toString=function(){var t=this.url.map(function(t){return t.toString()}).join("/"),e=this._routeConfig?this._routeConfig.path:"";return"Route(url:'"+t+"', path:'"+e+"')"},t}(),Ze=function(t){function e(e,n){t.call(this,n),this.url=e,Et(this,n)}return Xe(e,t),e.prototype.toString=function(){return St(this._root)},e}(Ge),Je=function(){function t(t,e,n){if(this.isAbsolute=t,this.numberOfDoubleDots=e,this.commands=n,t&&n.length>0&&kt(n[0]))throw new Error("Root segment cannot have matrix parameters");var r=n.find(function(t){return"object"==typeof t&&null!=t&&t.outlets});if(r&&r!==T(n))throw new Error("{outlets:{}} has to be the last command")}return t.prototype.toRoot=function(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]},t}(),tn=function(){function t(t,e,n){this.segmentGroup=t,this.processChildren=e,this.index=n}return t}(),en=function(){function t(){}return t}(),nn=function(){function t(t,e,n,r){this.rootComponentType=t,this.config=e,this.urlTree=n,this.url=r}return t.prototype.recognize=function(){try{var t=te(this.urlTree.root,[],[],this.config).segmentGroup,e=this.processSegmentGroup(this.config,t,Oe),n=new $e([],Object.freeze({}),Object.freeze(this.urlTree.queryParams),this.urlTree.fragment,{},Oe,this.rootComponentType,null,this.urlTree.root,-1,{}),r=new Ke(n,e),i=new Ze(this.url,r);return this.inheriteParamsAndData(i._root),s.of(i)}catch(o){return new f.Observable(function(t){return t.error(o)})}},t.prototype.inheriteParamsAndData=function(t){var e=this,n=t.value,r=wt(n);n.params=Object.freeze(r.params),n.data=Object.freeze(r.data),t.children.forEach(function(t){return e.inheriteParamsAndData(t)})},t.prototype.processSegmentGroup=function(t,e,n){return 0===e.segments.length&&e.hasChildren()?this.processChildren(t,e):this.processSegment(t,e,e.segments,n)},t.prototype.processChildren=function(t,e){var n=this,r=B(e,function(e,r){return n.processSegmentGroup(t,e,r)});return $t(r),Xt(r),r},t.prototype.processSegment=function(t,e,n,r){for(var i=0,o=t;i<o.length;i++){var s=o[i];try{return this.processSegmentAgainstRoute(s,e,n,r)}catch(a){if(!(a instanceof en))throw a}}if(this.noLeftoversInUrl(e,n,r))return[];throw new en},t.prototype.noLeftoversInUrl=function(t,e,n){return 0===e.length&&!t.children[n]},t.prototype.processSegmentAgainstRoute=function(t,e,n,r){if(t.redirectTo)throw new en;if((t.outlet?t.outlet:Oe)!==r)throw new en;if("**"===t.path){var i=n.length>0?T(n).parameters:{},o=new $e(n,i,Object.freeze(this.urlTree.queryParams),this.urlTree.fragment,ae(t),r,t.component,t,Zt(e),Jt(e)+n.length,ue(t));return[new Ke(o,[])]}var s=Yt(e,t,n),a=s.consumedSegments,u=s.parameters,c=s.lastChild,p=n.slice(c),l=Qt(t),h=te(e,a,p,l),f=h.segmentGroup,d=h.slicedSegments,y=new $e(a,u,Object.freeze(this.urlTree.queryParams),this.urlTree.fragment,ae(t),r,t.component,t,Zt(e),Jt(e)+a.length,ue(t));if(0===d.length&&f.hasChildren()){var m=this.processChildren(l,f);return[new Ke(y,m)]}if(0===l.length&&0===d.length)return[new Ke(y,[])];var m=this.processSegment(l,f,d,Oe);return[new Ke(y,m)]},t}(),rn=function(){function t(){this._outlets={}}return t.prototype.registerOutlet=function(t,e){this._outlets[t]=e},t.prototype.removeOutlet=function(t){this._outlets[t]=void 0},t}(),on=function(){function t(){}return t.prototype.shouldProcessUrl=function(){},t.prototype.extract=function(){},t.prototype.merge=function(){},t}(),sn=function(){function t(){}return t.prototype.shouldProcessUrl=function(){return!0},t.prototype.extract=function(t){return t},t.prototype.merge=function(t){return t},t}(),an=function(){function t(t,e){this.id=t,this.url=e}return t.prototype.toString=function(){return"NavigationStart(id: "+this.id+", url: '"+this.url+"')"},t}(),un=function(){function t(t,e,n){this.id=t,this.url=e,this.urlAfterRedirects=n}return t.prototype.toString=function(){return"NavigationEnd(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"')"},t}(),cn=function(){function t(t,e,n){this.id=t,this.url=e,this.reason=n}return t.prototype.toString=function(){return"NavigationCancel(id: "+this.id+", url: '"+this.url+"')"},t}(),pn=function(){function t(t,e,n){this.id=t,this.url=e,this.error=n}return t.prototype.toString=function(){return"NavigationError(id: "+this.id+", url: '"+this.url+"', error: "+this.error+")"},t}(),ln=function(){function t(t,e,n,r){this.id=t,this.url=e,this.urlAfterRedirects=n,this.state=r}return t.prototype.toString=function(){return"RoutesRecognized(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+")"},t}(),hn=function(){function t(){}return t.prototype.shouldDetach=function(){return!1},t.prototype.store=function(){},t.prototype.shouldAttach=function(){return!1},t.prototype.retrieve=function(){return null},t.prototype.shouldReuseRoute=function(t,e){return t.routeConfig===e.routeConfig},t}(),fn=function(){function t(t,e,n,o,s,a,u,c){this.rootComponentType=t,this.urlSerializer=e,this.outletMap=n,this.location=o,this.injector=s,this.config=c,this.navigations=new r.BehaviorSubject(null),this.routerEvents=new i.Subject,this.navigationId=0,this.errorHandler=ce,this.navigated=!1,this.urlHandlingStrategy=new sn,this.routeReuseStrategy=new hn,this.resetConfig(c),this.currentUrlTree=k(),this.rawUrlTree=this.currentUrlTree,this.configLoader=new ke(a,u),this.currentRouterState=_t(this.currentUrlTree,this.rootComponentType),this.processNavigations()}return t.prototype.resetRootComponentType=function(t){this.rootComponentType=t,this.currentRouterState.root.component=this.rootComponentType},t.prototype.initialNavigation=function(){this.setUpLocationChangeListener(),0===this.navigationId&&this.navigateByUrl(this.location.path(!0),{replaceUrl:!0})},t.prototype.setUpLocationChangeListener=function(){var t=this;this.locationSubscription||(this.locationSubscription=this.location.subscribe(Zone.current.wrap(function(e){var n=t.urlSerializer.parse(e.url),r="popstate"===e.type?"popstate":"hashchange";setTimeout(function(){t.scheduleNavigation(n,r,{replaceUrl:!0})},0)})))},Object.defineProperty(t.prototype,"routerState",{get:function(){return this.currentRouterState},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"url",{get:function(){return this.serializeUrl(this.currentUrlTree)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"events",{get:function(){return this.routerEvents},enumerable:!0,configurable:!0}),t.prototype.resetConfig=function(t){dt(t),this.config=t},t.prototype.ngOnDestroy=function(){this.dispose()},t.prototype.dispose=function(){this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=null)},t.prototype.createUrlTree=function(t,e){var n=void 0===e?{}:e,r=n.relativeTo,i=n.queryParams,o=n.fragment,s=n.preserveQueryParams,a=n.preserveFragment,u=r||this.routerState.root,c=s?this.currentUrlTree.queryParams:i,p=a?this.currentUrlTree.fragment:o;return Rt(u,this.currentUrlTree,t,c,p)},t.prototype.navigateByUrl=function(t,e){if(void 0===e&&(e={skipLocationChange:!1}),t instanceof Ne)return this.scheduleNavigation(this.urlHandlingStrategy.merge(t,this.rawUrlTree),"imperative",e);var n=this.urlSerializer.parse(t);return this.scheduleNavigation(this.urlHandlingStrategy.merge(n,this.rawUrlTree),"imperative",e)},t.prototype.navigate=function(t,e){return void 0===e&&(e={skipLocationChange:!1}),ye(t),"object"==typeof e.queryParams&&null!==e.queryParams&&(e.queryParams=this.removeEmptyProps(e.queryParams)),this.navigateByUrl(this.createUrlTree(t,e),e)},t.prototype.serializeUrl=function(t){return this.urlSerializer.serialize(t)},t.prototype.parseUrl=function(t){return this.urlSerializer.parse(t)},t.prototype.isActive=function(t,e){if(t instanceof Ne)return N(this.currentUrlTree,t,e);var n=this.urlSerializer.parse(t);return N(this.currentUrlTree,n,e)},t.prototype.removeEmptyProps=function(t){return Object.keys(t).reduce(function(e,n){var r=t[n];return null!==r&&void 0!==r&&(e[n]=r),e},{})},t.prototype.processNavigations=function(){var t=this;a.concatMap.call(this.navigations,function(e){return e?(t.executeScheduledNavigation(e),e.promise["catch"](function(){})):s.of(null)}).subscribe(function(){})},t.prototype.scheduleNavigation=function(t,e,n){var r=this.navigations.value;if(r&&"imperative"!==e&&"imperative"===r.source&&r.rawUrl.toString()===t.toString())return null;if(r&&"hashchange"==e&&"popstate"===r.source&&r.rawUrl.toString()===t.toString())return null;var i=null,o=null,s=new Promise(function(t,e){i=t,o=e}),a=++this.navigationId;return this.navigations.next({id:a,source:e,rawUrl:t,extras:n,resolve:i,reject:o,promise:s}),s["catch"](function(t){return Promise.reject(t)})},t.prototype.executeScheduledNavigation=function(t){var e=this,n=t.id,r=t.rawUrl,i=t.extras,o=t.resolve,s=t.reject,a=this.urlHandlingStrategy.extract(r),u=!this.navigated||a.toString()!==this.currentUrlTree.toString();u&&this.urlHandlingStrategy.shouldProcessUrl(r)?(this.routerEvents.next(new an(n,this.serializeUrl(a))),Promise.resolve().then(function(){return e.runNavigate(a,r,i.skipLocationChange,i.replaceUrl,n,null)}).then(o,s)):u&&this.rawUrlTree&&this.urlHandlingStrategy.shouldProcessUrl(this.rawUrlTree)?(this.routerEvents.next(new an(n,this.serializeUrl(a))),Promise.resolve().then(function(){return e.runNavigate(a,r,!1,!1,n,_t(a,e.rootComponentType).snapshot)}).then(o,s)):(this.rawUrlTree=r,o(null))},t.prototype.runNavigate=function(t,e,n,r,i,o){var a=this;return i!==this.navigationId?(this.location.go(this.urlSerializer.serialize(this.currentUrlTree)),this.routerEvents.next(new cn(i,this.serializeUrl(t),"Navigation ID "+i+" is not equal to the current navigation id "+this.navigationId)),Promise.resolve(!1)):new Promise(function(u,c){var h;if(o)h=s.of({appliedUrl:t,snapshot:o});else{var f=rt(a.injector,a.configLoader,a.urlSerializer,t,a.config);h=l.mergeMap.call(f,function(e){return p.map.call(Kt(a.rootComponentType,a.config,e,a.serializeUrl(e)),function(n){return a.routerEvents.next(new ln(i,a.serializeUrl(t),a.serializeUrl(e),n)),{appliedUrl:e,snapshot:n}})})}var d,y,m=p.map.call(h,function(t){var e=t.appliedUrl,n=t.snapshot;return d=new mn(n,a.currentRouterState.snapshot,a.injector),d.traverse(a.outletMap),{appliedUrl:e,snapshot:n}}),v=l.mergeMap.call(m,function(t){var e=t.appliedUrl,n=t.snapshot;return a.navigationId!==i?s.of(!1):p.map.call(d.checkGuards(),function(t){return{appliedUrl:e,snapshot:n,shouldActivate:t}})}),g=l.mergeMap.call(v,function(t){return a.navigationId!==i?s.of(!1):t.shouldActivate?p.map.call(d.resolveData(),function(){return t}):s.of(t)}),_=p.map.call(g,function(t){var e=t.appliedUrl,n=t.snapshot,r=t.shouldActivate;if(r){var i=Tt(a.routeReuseStrategy,n,a.currentRouterState);return{appliedUrl:e,state:i,shouldActivate:r}}return{appliedUrl:e,state:null,shouldActivate:r}}),b=a.currentRouterState,w=a.currentUrlTree;_.forEach(function(t){var o=t.appliedUrl,s=t.state,u=t.shouldActivate;if(!u||i!==a.navigationId)return void(y=!1);if(a.currentUrlTree=o,a.rawUrlTree=a.urlHandlingStrategy.merge(a.currentUrlTree,e),a.currentRouterState=s,!n){var c=a.urlSerializer.serialize(a.rawUrlTree);a.location.isCurrentPathEqualTo(c)||r?a.location.replaceState(c):a.location.go(c)}new vn(a.routeReuseStrategy,s,b).activate(a.outletMap),y=!0}).then(function(){y?(a.navigated=!0,a.routerEvents.next(new un(i,a.serializeUrl(t),a.serializeUrl(a.currentUrlTree))),u(!0)):(a.resetUrlToCurrentUrlTree(),a.routerEvents.next(new cn(i,a.serializeUrl(t),"")),u(!1))},function(n){if(n instanceof Ae)a.resetUrlToCurrentUrlTree(),a.navigated=!0,a.routerEvents.next(new cn(i,a.serializeUrl(t),n.message)),u(!1);else{a.routerEvents.next(new pn(i,a.serializeUrl(t),n));try{u(a.errorHandler(n))}catch(r){c(r)}}a.currentRouterState=b,a.currentUrlTree=w,a.rawUrlTree=a.urlHandlingStrategy.merge(a.currentUrlTree,e),a.location.replaceState(a.serializeUrl(a.rawUrlTree))})})},t.prototype.resetUrlToCurrentUrlTree=function(){var t=this.urlSerializer.serialize(this.rawUrlTree);this.location.replaceState(t)},t}(),dn=function(){function t(t){this.path=t}return Object.defineProperty(t.prototype,"route",{get:function(){return this.path[this.path.length-1]},enumerable:!0,configurable:!0}),t}(),yn=function(){function t(t,e){this.component=t,this.route=e}return t}(),mn=function(){function t(t,e,n){this.future=t,this.curr=e,this.injector=n,this.checks=[]}return t.prototype.traverse=function(t){var e=this.future._root,n=this.curr?this.curr._root:null;this.traverseChildRoutes(e,n,t,[e.value])},t.prototype.checkGuards=function(){var t=this;if(0===this.checks.length)return s.of(!0);var e=o.from(this.checks),n=l.mergeMap.call(e,function(e){if(e instanceof dn)return M(o.from([t.runCanActivateChild(e.path),t.runCanActivate(e.route)]));if(e instanceof yn){var n=e;return t.runCanDeactivate(n.component,n.route)}throw new Error("Cannot be reached")});return u.every.call(n,function(t){return t===!0})},t.prototype.resolveData=function(){var t=this;if(0===this.checks.length)return s.of(null);var e=o.from(this.checks),n=a.concatMap.call(e,function(e){return e instanceof dn?t.runResolve(e.route):s.of(null)});return h.reduce.call(n,function(t){return t})},t.prototype.traverseChildRoutes=function(t,e,n,r){var i=this,o=fe(e);t.children.forEach(function(t){i.traverseRoutes(t,o[t.value.outlet],n,r.concat([t.value])),delete o[t.value.outlet]}),O(o,function(t,e){return i.deactiveRouteAndItsChildren(t,n._outlets[e])})},t.prototype.traverseRoutes=function(t,e,n,r){var i=t.value,o=e?e.value:null,s=n?n._outlets[t.value.outlet]:null;o&&i._routeConfig===o._routeConfig?(xt(i,o)?(i.data=o.data,i._resolvedData=o._resolvedData):this.checks.push(new yn(s.component,o),new dn(r)),i.component?this.traverseChildRoutes(t,e,s?s.outletMap:null,r):this.traverseChildRoutes(t,e,n,r)):(o&&this.deactiveRouteAndItsChildren(e,s),this.checks.push(new dn(r)),i.component?this.traverseChildRoutes(t,null,s?s.outletMap:null,r):this.traverseChildRoutes(t,null,n,r))},t.prototype.deactiveRouteAndItsChildren=function(t,e){var n=this,r=fe(t),i=t.value;O(r,function(t,r){i.component?e?n.deactiveRouteAndItsChildren(t,e.outletMap._outlets[r]):n.deactiveRouteAndItsChildren(t,null):n.deactiveRouteAndItsChildren(t,e)}),this.checks.push(i.component?e&&e.isActivated?new yn(e.component,i):new yn(null,i):new yn(null,i))},t.prototype.runCanActivate=function(t){var e=this,n=t._routeConfig?t._routeConfig.canActivate:null;if(!n||0===n.length)return s.of(!0);var r=p.map.call(o.from(n),function(n){var r,i=e.getToken(n,t);return r=R(i.canActivate?i.canActivate(t,e.future):i(t,e.future)),c.first.call(r)});return M(r)},t.prototype.runCanActivateChild=function(t){var e=this,n=t[t.length-1],r=t.slice(0,t.length-1).reverse().map(function(t){return e.extractCanActivateChild(t)}).filter(function(t){return null!==t});return M(p.map.call(o.from(r),function(t){var r=p.map.call(o.from(t.guards),function(r){var i,o=e.getToken(r,t.node);return i=R(o.canActivateChild?o.canActivateChild(n,e.future):o(n,e.future)),c.first.call(i)});return M(r)}))},t.prototype.extractCanActivateChild=function(t){var e=t._routeConfig?t._routeConfig.canActivateChild:null;return e&&0!==e.length?{node:t,guards:e}:null},t.prototype.runCanDeactivate=function(t,e){var n=this,r=e&&e._routeConfig?e._routeConfig.canDeactivate:null;if(!r||0===r.length)return s.of(!0);var i=l.mergeMap.call(o.from(r),function(r){var i,o=n.getToken(r,e);return i=R(o.canDeactivate?o.canDeactivate(t,e,n.curr):o(t,e,n.curr)),c.first.call(i)});return u.every.call(i,function(t){return t===!0})},t.prototype.runResolve=function(t){var e=t._resolve;return p.map.call(this.resolveNode(e,t),function(e){return t._resolvedData=e,t.data=P(t.data,wt(t).resolve),null})},t.prototype.resolveNode=function(t,e){var n=this;return A(t,function(t,r){var i=n.getToken(r,e);return R(i.resolve?i.resolve(e,n.future):i(e,n.future))})},t.prototype.getToken=function(t,e){var n=he(e),r=n?n.injector:this.injector;return r.get(t)},t}(),vn=function(){function t(t,e,n){this.routeReuseStrategy=t,this.futureState=e,this.currState=n}return t.prototype.activate=function(t){var e=this.futureState._root,n=this.currState?this.currState._root:null;this.deactivateChildRoutes(e,n,t),Ct(this.futureState.root),this.activateChildRoutes(e,n,t)},t.prototype.deactivateChildRoutes=function(t,e,n){var r=this,i=fe(e);t.children.forEach(function(t){r.deactivateRoutes(t,i[t.value.outlet],n),delete i[t.value.outlet]}),O(i,function(t){return r.deactiveRouteAndItsChildren(t,n)})},t.prototype.activateChildRoutes=function(t,e,n){var r=this,i=fe(e);t.children.forEach(function(t){r.activateRoutes(t,i[t.value.outlet],n)})},t.prototype.deactivateRoutes=function(t,e,n){var r=t.value,i=e?e.value:null;if(r===i)if(r.component){var o=de(n,r);this.deactivateChildRoutes(t,e,o.outletMap)}else this.deactivateChildRoutes(t,e,n);else i&&this.deactiveRouteAndItsChildren(e,n)},t.prototype.activateRoutes=function(t,e,n){var r=t.value,i=e?e.value:null;if(r===i)if(Ct(r),r.component){var o=de(n,r);this.activateChildRoutes(t,e,o.outletMap)}else this.activateChildRoutes(t,e,n);else if(r.component){Ct(r);var o=de(n,t.value);if(this.routeReuseStrategy.shouldAttach(r.snapshot)){var s=this.routeReuseStrategy.retrieve(r.snapshot);this.routeReuseStrategy.store(r.snapshot,null),o.attach(s.componentRef,s.route.value),pe(s.route)}else{var a=new rn;this.placeComponentIntoOutlet(a,r,o),this.activateChildRoutes(t,null,a)}}else Ct(r),this.activateChildRoutes(t,null,n)},t.prototype.placeComponentIntoOutlet=function(t,e,r){var i=[{provide:Ye,useValue:e},{provide:rn,useValue:t}],o=le(e.snapshot),s=null,a=null;o?(a=o.injectorFactory(r.locationInjector),s=o.factoryResolver,i.push({provide:n.ComponentFactoryResolver,useValue:s})):(a=r.locationInjector,s=r.locationFactoryResolver),r.activate(e,s,a,n.ReflectiveInjector.resolve(i),t)},t.prototype.deactiveRouteAndItsChildren=function(t,e){this.routeReuseStrategy.shouldDetach(t.value.snapshot)?this.detachAndStoreRouteSubtree(t,e):this.deactiveRouteAndOutlet(t,e)},t.prototype.detachAndStoreRouteSubtree=function(t,e){var n=de(e,t.value),r=n.detach();this.routeReuseStrategy.store(t.value.snapshot,{componentRef:r,route:t})},t.prototype.deactiveRouteAndOutlet=function(t,e){var n=this,r=fe(t),i=null;try{i=de(e,t.value)}catch(o){return}var s=i.outletMap;O(r,function(r){t.value.component?n.deactiveRouteAndItsChildren(r,s):n.deactiveRouteAndItsChildren(r,e)}),i&&i.isActivated&&i.deactivate()},t}(),gn=function(){function t(t,e){this.router=t,this.route=e,this.commands=[]}return Object.defineProperty(t.prototype,"routerLink",{set:function(t){this.commands=null!=t?Array.isArray(t)?t:[t]:[]},enumerable:!0,configurable:!0}),t.prototype.onClick=function(){var t={skipLocationChange:me(this.skipLocationChange),replaceUrl:me(this.replaceUrl)};return this.router.navigateByUrl(this.urlTree,t),!0},Object.defineProperty(t.prototype,"urlTree",{get:function(){return this.router.createUrlTree(this.commands,{relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,preserveQueryParams:me(this.preserveQueryParams),preserveFragment:me(this.preserveFragment)})},enumerable:!0,configurable:!0}),t.decorators=[{type:n.Directive,args:[{selector:":not(a)[routerLink]"}]}],t.ctorParameters=function(){return[{type:fn},{type:Ye}]},t.propDecorators={queryParams:[{type:n.Input}],fragment:[{type:n.Input}],preserveQueryParams:[{type:n.Input}],preserveFragment:[{type:n.Input}],skipLocationChange:[{type:n.Input}],replaceUrl:[{type:n.Input}],routerLink:[{type:n.Input}],onClick:[{type:n.HostListener,args:["click"]}]},t}(),_n=function(){function t(t,e,n){var r=this;this.router=t,this.route=e,this.locationStrategy=n,this.commands=[],this.subscription=t.events.subscribe(function(t){t instanceof un&&r.updateTargetUrlAndHref()})}return Object.defineProperty(t.prototype,"routerLink",{set:function(t){this.commands=null!=t?Array.isArray(t)?t:[t]:[]},enumerable:!0,configurable:!0}),t.prototype.ngOnChanges=function(){this.updateTargetUrlAndHref()},t.prototype.ngOnDestroy=function(){this.subscription.unsubscribe()},t.prototype.onClick=function(t,e,n){if(0!==t||e||n)return!0;if("string"==typeof this.target&&"_self"!=this.target)return!0;var r={skipLocationChange:me(this.skipLocationChange),replaceUrl:me(this.replaceUrl)};return this.router.navigateByUrl(this.urlTree,r),!1},t.prototype.updateTargetUrlAndHref=function(){this.href=this.locationStrategy.prepareExternalUrl(this.router.serializeUrl(this.urlTree))},Object.defineProperty(t.prototype,"urlTree",{get:function(){return this.router.createUrlTree(this.commands,{relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,preserveQueryParams:me(this.preserveQueryParams),preserveFragment:me(this.preserveFragment)})},enumerable:!0,configurable:!0}),t.decorators=[{type:n.Directive,args:[{selector:"a[routerLink]"}]}],t.ctorParameters=function(){return[{type:fn},{type:Ye},{type:e.LocationStrategy}]},t.propDecorators={target:[{type:n.HostBinding,args:["attr.target"]},{type:n.Input}],queryParams:[{type:n.Input}],fragment:[{type:n.Input}],preserveQueryParams:[{type:n.Input}],preserveFragment:[{type:n.Input}],skipLocationChange:[{type:n.Input}],replaceUrl:[{type:n.Input}],href:[{type:n.HostBinding}],routerLink:[{type:n.Input}],onClick:[{type:n.HostListener,args:["click",["$event.button","$event.ctrlKey","$event.metaKey"]]}]},t}(),bn=function(){function t(t,e,n,r){var i=this;this.router=t,this.element=e,this.renderer=n,this.cdr=r,this.classes=[],this.active=!1,this.routerLinkActiveOptions={exact:!1},this.subscription=t.events.subscribe(function(t){t instanceof un&&i.update()})}return Object.defineProperty(t.prototype,"isActive",{get:function(){return this.active},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){var t=this;this.links.changes.subscribe(function(){return t.update()}),this.linksWithHrefs.changes.subscribe(function(){return t.update()}),this.update()},Object.defineProperty(t.prototype,"routerLinkActive",{set:function(t){var e=Array.isArray(t)?t:t.split(" ");this.classes=e.filter(function(t){return!!t})},enumerable:!0,configurable:!0}),t.prototype.ngOnChanges=function(){this.update()},t.prototype.ngOnDestroy=function(){this.subscription.unsubscribe()},t.prototype.update=function(){var t=this;if(this.links&&this.linksWithHrefs&&this.router.navigated){var e=this.hasActiveLinks();this.active!==e&&(this.active=e,this.classes.forEach(function(n){return t.renderer.setElementClass(t.element.nativeElement,n,e)}),this.cdr.detectChanges())}},t.prototype.isLinkActive=function(t){var e=this;return function(n){return t.isActive(n.urlTree,e.routerLinkActiveOptions.exact)}},t.prototype.hasActiveLinks=function(){return this.links.some(this.isLinkActive(this.router))||this.linksWithHrefs.some(this.isLinkActive(this.router))},t.decorators=[{type:n.Directive,args:[{selector:"[routerLinkActive]",exportAs:"routerLinkActive"}]}],t.ctorParameters=function(){return[{type:fn},{type:n.ElementRef},{type:n.Renderer},{type:n.ChangeDetectorRef}]},t.propDecorators={links:[{type:n.ContentChildren,args:[gn,{descendants:!0}]}],linksWithHrefs:[{type:n.ContentChildren,args:[_n,{descendants:!0}]}],routerLinkActiveOptions:[{type:n.Input}],routerLinkActive:[{type:n.Input}]},t}(),wn=function(){function t(t,e,r,i){this.parentOutletMap=t,this.location=e,this.resolver=r,this.name=i,this.activateEvents=new n.EventEmitter,this.deactivateEvents=new n.EventEmitter,t.registerOutlet(i?i:Oe,this)}return t.prototype.ngOnDestroy=function(){this.parentOutletMap.removeOutlet(this.name?this.name:Oe)},Object.defineProperty(t.prototype,"locationInjector",{get:function(){return this.location.injector},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"locationFactoryResolver",{get:function(){return this.resolver},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isActivated",{get:function(){return!!this.activated},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"component",{get:function(){if(!this.activated)throw new Error("Outlet is not activated");return this.activated.instance},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"activatedRoute",{get:function(){if(!this.activated)throw new Error("Outlet is not activated");return this._activatedRoute},enumerable:!0,configurable:!0}),t.prototype.detach=function(){if(!this.activated)throw new Error("Outlet is not activated");this.location.detach();var t=this.activated;return this.activated=null,this._activatedRoute=null,t},t.prototype.attach=function(t,e){this.activated=t,this._activatedRoute=e,this.location.insert(t.hostView)},t.prototype.deactivate=function(){if(this.activated){var t=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(t)}},t.prototype.activate=function(t,e,r,i,o){if(this.isActivated)throw new Error("Cannot activate an already activated outlet");this.outletMap=o,this._activatedRoute=t;var s=t._futureSnapshot,a=s._routeConfig.component,u=e.resolveComponentFactory(a),c=n.ReflectiveInjector.fromResolvedProviders(i,r);this.activated=this.location.createComponent(u,this.location.length,c,[]),this.activated.changeDetectorRef.detectChanges(),this.activateEvents.emit(this.activated.instance)},t.decorators=[{type:n.Directive,args:[{selector:"router-outlet"}]}],t.ctorParameters=function(){
-return[{type:rn},{type:n.ViewContainerRef},{type:n.ComponentFactoryResolver},{type:void 0,decorators:[{type:n.Attribute,args:["name"]}]}]},t.propDecorators={activateEvents:[{type:n.Output,args:["activate"]}],deactivateEvents:[{type:n.Output,args:["deactivate"]}]},t}(),En=function(){function t(){}return t.prototype.shouldDetach=function(){},t.prototype.store=function(){},t.prototype.shouldAttach=function(){},t.prototype.retrieve=function(){},t.prototype.shouldReuseRoute=function(){},t}(),Sn=b.__platform_browser_private__.getDOM,Cn=function(){function t(){}return t.prototype.preload=function(){},t}(),xn=function(){function t(){}return t.prototype.preload=function(t,e){return d._catch.call(e(),function(){return s.of(null)})},t}(),Tn=function(){function t(){}return t.prototype.preload=function(){return s.of(null)},t}(),Pn=function(){function t(t,e,n,r,i){this.router=t,this.injector=r,this.preloadingStrategy=i,this.loader=new ke(e,n)}return t.prototype.setUpPreloading=function(){var t=this,e=w.filter.call(this.router.events,function(t){return t instanceof un});this.subscription=a.concatMap.call(e,function(){return t.preload()}).subscribe(function(){})},t.prototype.preload=function(){return this.processRoutes(this.injector,this.router.config)},t.prototype.ngOnDestroy=function(){this.subscription.unsubscribe()},t.prototype.processRoutes=function(t,e){for(var n=[],r=0,i=e;r<i.length;r++){var s=i[r];if(s.loadChildren&&!s.canLoad&&s._loadedConfig){var a=s._loadedConfig;n.push(this.processRoutes(a.injector,a.routes))}else s.loadChildren&&!s.canLoad?n.push(this.preloadConfig(t,s)):s.children&&n.push(this.processRoutes(t,s.children))}return _.mergeAll.call(o.from(n))},t.prototype.preloadConfig=function(t,e){var n=this;return this.preloadingStrategy.preload(e,function(){var r=n.loader.load(t,e.loadChildren);return l.mergeMap.call(r,function(t){var r=e;return r._loadedConfig=t,n.processRoutes(t.injector,t.routes)})})},t.decorators=[{type:n.Injectable}],t.ctorParameters=function(){return[{type:fn},{type:n.NgModuleFactoryLoader},{type:n.Compiler},{type:n.Injector},{type:Cn}]},t}(),On=[wn,gn,_n,bn],An=new n.OpaqueToken("ROUTER_CONFIGURATION"),Mn=new n.OpaqueToken("ROUTER_FORROOT_GUARD"),Rn=[e.Location,{provide:je,useClass:Le},{provide:fn,useFactory:we,deps:[n.ApplicationRef,je,rn,e.Location,n.Injector,n.NgModuleFactoryLoader,n.Compiler,Me,An,[on,new n.Optional],[En,new n.Optional]]},rn,{provide:Ye,useFactory:Ee,deps:[fn]},{provide:n.NgModuleFactoryLoader,useClass:n.SystemJsNgModuleLoader},Pn,Tn,xn,{provide:An,useValue:{enableTracing:!1}}],kn=function(){function t(){}return t.forRoot=function(r,i){return{ngModule:t,providers:[Rn,be(r),{provide:Mn,useFactory:_e,deps:[[fn,new n.Optional,new n.SkipSelf]]},{provide:An,useValue:i?i:{}},{provide:e.LocationStrategy,useFactory:ge,deps:[e.PlatformLocation,[new n.Inject(e.APP_BASE_HREF),new n.Optional],An]},{provide:Cn,useExisting:i&&i.preloadingStrategy?i.preloadingStrategy:Tn},{provide:n.NgProbeToken,multi:!0,useFactory:ve},Ce()]}},t.forChild=function(e){return{ngModule:t,providers:[be(e)]}},t.decorators=[{type:n.NgModule,args:[{declarations:On,exports:On}]}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:n.Optional},{type:n.Inject,args:[Mn]}]}]},t}(),Nn=new n.OpaqueToken("Router Initializer"),In=new n.Version("3.4.9"),Dn={ROUTER_PROVIDERS:Rn,ROUTES:Me,flatten:x};t.RouterLink=gn,t.RouterLinkWithHref=_n,t.RouterLinkActive=bn,t.RouterOutlet=wn,t.RouteReuseStrategy=En,t.NavigationCancel=cn,t.NavigationEnd=un,t.NavigationError=pn,t.NavigationStart=an,t.Router=fn,t.RoutesRecognized=ln,t.ROUTER_CONFIGURATION=An,t.ROUTER_INITIALIZER=Nn,t.RouterModule=kn,t.provideRoutes=be,t.RouterOutletMap=rn,t.NoPreloading=Tn,t.PreloadAllModules=xn,t.PreloadingStrategy=Cn,t.RouterPreloader=Pn,t.ActivatedRoute=Ye,t.ActivatedRouteSnapshot=$e,t.RouterState=Qe,t.RouterStateSnapshot=Ze,t.PRIMARY_OUTLET=Oe,t.UrlHandlingStrategy=on,t.DefaultUrlSerializer=Le,t.UrlSegment=De,t.UrlSegmentGroup=Ie,t.UrlSerializer=je,t.UrlTree=Ne,t.VERSION=In,t.__router_private__=Dn})},{"@angular/common":5,"@angular/core":7,"@angular/platform-browser":10,"rxjs/BehaviorSubject":12,"rxjs/Observable":15,"rxjs/Subject":18,"rxjs/observable/from":30,"rxjs/observable/fromPromise":31,"rxjs/observable/of":32,"rxjs/operator/catch":33,"rxjs/operator/concatAll":34,"rxjs/operator/concatMap":35,"rxjs/operator/every":36,"rxjs/operator/filter":37,"rxjs/operator/first":38,"rxjs/operator/last":39,"rxjs/operator/map":40,"rxjs/operator/mergeAll":41,"rxjs/operator/mergeMap":42,"rxjs/operator/reduce":44,"rxjs/util/EmptyError":48}],12:[function(t,e,n){"use strict";var r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},i=t("./Subject"),o=t("./util/ObjectUnsubscribedError"),s=function(t){function e(e){t.call(this),this._value=e}return r(e,t),Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!0,configurable:!0}),e.prototype._subscribe=function(e){var n=t.prototype._subscribe.call(this,e);return n&&!n.closed&&e.next(this._value),n},e.prototype.getValue=function(){if(this.hasError)throw this.thrownError;if(this.closed)throw new o.ObjectUnsubscribedError;return this._value},e.prototype.next=function(e){t.prototype.next.call(this,this._value=e)},e}(i.Subject);n.BehaviorSubject=s},{"./Subject":18,"./util/ObjectUnsubscribedError":49}],13:[function(t,e,n){"use strict";var r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},i=t("./Subscriber"),o=function(t){function e(e,n,r){t.call(this),this.parent=e,this.outerValue=n,this.outerIndex=r,this.index=0}return r(e,t),e.prototype._next=function(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)},e.prototype._error=function(t){this.parent.notifyError(t,this),this.unsubscribe()},e.prototype._complete=function(){this.parent.notifyComplete(this),this.unsubscribe()},e}(i.Subscriber);n.InnerSubscriber=o},{"./Subscriber":20}],14:[function(t,e,n){"use strict";var r=t("./Observable"),i=function(){function t(t,e,n){this.kind=t,this.value=e,this.error=n,this.hasValue="N"===t}return t.prototype.observe=function(t){switch(this.kind){case"N":return t.next&&t.next(this.value);case"E":return t.error&&t.error(this.error);case"C":return t.complete&&t.complete()}},t.prototype["do"]=function(t,e,n){var r=this.kind;switch(r){case"N":return t&&t(this.value);case"E":return e&&e(this.error);case"C":return n&&n()}},t.prototype.accept=function(t,e,n){return t&&"function"==typeof t.next?this.observe(t):this["do"](t,e,n)},t.prototype.toObservable=function(){var t=this.kind;switch(t){case"N":return r.Observable.of(this.value);case"E":return r.Observable["throw"](this.error);case"C":return r.Observable.empty()}throw new Error("unexpected notification kind value")},t.createNext=function(e){return"undefined"!=typeof e?new t("N",e):this.undefinedValueNotification},t.createError=function(e){return new t("E",void 0,e)},t.createComplete=function(){return this.completeNotification},t.completeNotification=new t("C"),t.undefinedValueNotification=new t("N",void 0),t}();n.Notification=i},{"./Observable":15}],15:[function(t,e,n){"use strict";var r=t("./util/root"),i=t("./util/toSubscriber"),o=t("./symbol/observable"),s=function(){function t(t){this._isScalar=!1,t&&(this._subscribe=t)}return t.prototype.lift=function(e){var n=new t;return n.source=this,n.operator=e,n},t.prototype.subscribe=function(t,e,n){var r=this.operator,o=i.toSubscriber(t,e,n);if(r?r.call(o,this.source):o.add(this._subscribe(o)),o.syncErrorThrowable&&(o.syncErrorThrowable=!1,o.syncErrorThrown))throw o.syncErrorValue;return o},t.prototype.forEach=function(t,e){var n=this;if(e||(r.root.Rx&&r.root.Rx.config&&r.root.Rx.config.Promise?e=r.root.Rx.config.Promise:r.root.Promise&&(e=r.root.Promise)),!e)throw new Error("no Promise impl found");return new e(function(e,r){var i=n.subscribe(function(e){if(i)try{t(e)}catch(n){r(n),i.unsubscribe()}else t(e)},r,e)})},t.prototype._subscribe=function(t){return this.source.subscribe(t)},t.prototype[o.$$observable]=function(){return this},t.create=function(e){return new t(e)},t}();n.Observable=s},{"./symbol/observable":46,"./util/root":57,"./util/toSubscriber":59}],16:[function(t,e,n){"use strict";n.empty={closed:!0,next:function(){},error:function(t){throw t},complete:function(){}}},{}],17:[function(t,e,n){"use strict";var r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},i=t("./Subscriber"),o=function(t){function e(){t.apply(this,arguments)}return r(e,t),e.prototype.notifyNext=function(t,e){this.destination.next(e)},e.prototype.notifyError=function(t){this.destination.error(t)},e.prototype.notifyComplete=function(){this.destination.complete()},e}(i.Subscriber);n.OuterSubscriber=o},{"./Subscriber":20}],18:[function(t,e,n){"use strict";var r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},i=t("./Observable"),o=t("./Subscriber"),s=t("./Subscription"),a=t("./util/ObjectUnsubscribedError"),u=t("./SubjectSubscription"),c=t("./symbol/rxSubscriber"),p=function(t){function e(e){t.call(this,e),this.destination=e}return r(e,t),e}(o.Subscriber);n.SubjectSubscriber=p;var l=function(t){function e(){t.call(this),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}return r(e,t),e.prototype[c.$$rxSubscriber]=function(){return new p(this)},e.prototype.lift=function(t){var e=new h(this,this);return e.operator=t,e},e.prototype.next=function(t){if(this.closed)throw new a.ObjectUnsubscribedError;if(!this.isStopped)for(var e=this.observers,n=e.length,r=e.slice(),i=0;n>i;i++)r[i].next(t)},e.prototype.error=function(t){if(this.closed)throw new a.ObjectUnsubscribedError;this.hasError=!0,this.thrownError=t,this.isStopped=!0;for(var e=this.observers,n=e.length,r=e.slice(),i=0;n>i;i++)r[i].error(t);this.observers.length=0},e.prototype.complete=function(){if(this.closed)throw new a.ObjectUnsubscribedError;this.isStopped=!0;for(var t=this.observers,e=t.length,n=t.slice(),r=0;e>r;r++)n[r].complete();this.observers.length=0},e.prototype.unsubscribe=function(){this.isStopped=!0,this.closed=!0,this.observers=null},e.prototype._subscribe=function(t){if(this.closed)throw new a.ObjectUnsubscribedError;return this.hasError?(t.error(this.thrownError),s.Subscription.EMPTY):this.isStopped?(t.complete(),s.Subscription.EMPTY):(this.observers.push(t),new u.SubjectSubscription(this,t))},e.prototype.asObservable=function(){var t=new i.Observable;return t.source=this,t},e.create=function(t,e){return new h(t,e)},e}(i.Observable);n.Subject=l;var h=function(t){function e(e,n){t.call(this),this.destination=e,this.source=n}return r(e,t),e.prototype.next=function(t){var e=this.destination;e&&e.next&&e.next(t)},e.prototype.error=function(t){var e=this.destination;e&&e.error&&this.destination.error(t)},e.prototype.complete=function(){var t=this.destination;t&&t.complete&&this.destination.complete()},e.prototype._subscribe=function(t){var e=this.source;return e?this.source.subscribe(t):s.Subscription.EMPTY},e}(l);n.AnonymousSubject=h},{"./Observable":15,"./SubjectSubscription":19,"./Subscriber":20,"./Subscription":21,"./symbol/rxSubscriber":47,"./util/ObjectUnsubscribedError":49}],19:[function(t,e,n){"use strict";var r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},i=t("./Subscription"),o=function(t){function e(e,n){t.call(this),this.subject=e,this.subscriber=n,this.closed=!1}return r(e,t),e.prototype.unsubscribe=function(){if(!this.closed){this.closed=!0;var t=this.subject,e=t.observers;if(this.subject=null,e&&0!==e.length&&!t.isStopped&&!t.closed){var n=e.indexOf(this.subscriber);-1!==n&&e.splice(n,1)}}},e}(i.Subscription);n.SubjectSubscription=o},{"./Subscription":21}],20:[function(t,e,n){"use strict";var r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},i=t("./util/isFunction"),o=t("./Subscription"),s=t("./Observer"),a=t("./symbol/rxSubscriber"),u=function(t){function e(n,r,i){switch(t.call(this),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=s.empty;break;case 1:if(!n){this.destination=s.empty;break}if("object"==typeof n){n instanceof e?(this.destination=n,this.destination.add(this)):(this.syncErrorThrowable=!0,this.destination=new c(this,n));break}default:this.syncErrorThrowable=!0,this.destination=new c(this,n,r,i)}}return r(e,t),e.prototype[a.$$rxSubscriber]=function(){return this},e.create=function(t,n,r){var i=new e(t,n,r);return i.syncErrorThrowable=!1,i},e.prototype.next=function(t){this.isStopped||this._next(t)},e.prototype.error=function(t){this.isStopped||(this.isStopped=!0,this._error(t))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this))},e.prototype._next=function(t){this.destination.next(t)},e.prototype._error=function(t){this.destination.error(t),this.unsubscribe()},e.prototype._complete=function(){this.destination.complete(),this.unsubscribe()},e}(o.Subscription);n.Subscriber=u;var c=function(t){function e(e,n,r,o){t.call(this),this._parent=e;var s,a=this;i.isFunction(n)?s=n:n&&(a=n,s=n.next,r=n.error,o=n.complete,i.isFunction(a.unsubscribe)&&this.add(a.unsubscribe.bind(a)),a.unsubscribe=this.unsubscribe.bind(this)),this._context=a,this._next=s,this._error=r,this._complete=o}return r(e,t),e.prototype.next=function(t){if(!this.isStopped&&this._next){var e=this._parent;e.syncErrorThrowable?this.__tryOrSetError(e,this._next,t)&&this.unsubscribe():this.__tryOrUnsub(this._next,t)}},e.prototype.error=function(t){if(!this.isStopped){var e=this._parent;if(this._error)e.syncErrorThrowable?(this.__tryOrSetError(e,this._error,t),this.unsubscribe()):(this.__tryOrUnsub(this._error,t),this.unsubscribe());else{if(!e.syncErrorThrowable)throw this.unsubscribe(),t;e.syncErrorValue=t,e.syncErrorThrown=!0,this.unsubscribe()}}},e.prototype.complete=function(){if(!this.isStopped){var t=this._parent;this._complete?t.syncErrorThrowable?(this.__tryOrSetError(t,this._complete),this.unsubscribe()):(this.__tryOrUnsub(this._complete),this.unsubscribe()):this.unsubscribe()}},e.prototype.__tryOrUnsub=function(t,e){try{t.call(this._context,e)}catch(n){throw this.unsubscribe(),n}},e.prototype.__tryOrSetError=function(t,e,n){try{e.call(this._context,n)}catch(r){return t.syncErrorValue=r,t.syncErrorThrown=!0,!0}return!1},e.prototype._unsubscribe=function(){var t=this._parent;this._context=null,this._parent=null,t.unsubscribe()},e}(u)},{"./Observer":16,"./Subscription":21,"./symbol/rxSubscriber":47,"./util/isFunction":53}],21:[function(t,e,n){"use strict";var r=t("./util/isArray"),i=t("./util/isObject"),o=t("./util/isFunction"),s=t("./util/tryCatch"),a=t("./util/errorObject"),u=t("./util/UnsubscriptionError"),c=function(){function t(t){this.closed=!1,t&&(this._unsubscribe=t)}return t.prototype.unsubscribe=function(){var t,e=!1;if(!this.closed){this.closed=!0;var n=this,c=n._unsubscribe,p=n._subscriptions;if(this._subscriptions=null,o.isFunction(c)){var l=s.tryCatch(c).call(this);l===a.errorObject&&(e=!0,(t=t||[]).push(a.errorObject.e))}if(r.isArray(p))for(var h=-1,f=p.length;++h<f;){var d=p[h];if(i.isObject(d)){var l=s.tryCatch(d.unsubscribe).call(d);if(l===a.errorObject){e=!0,t=t||[];var y=a.errorObject.e;y instanceof u.UnsubscriptionError?t=t.concat(y.errors):t.push(y)}}}if(e)throw new u.UnsubscriptionError(t)}},t.prototype.add=function(e){if(!e||e===t.EMPTY)return t.EMPTY;if(e===this)return this;var n=e;switch(typeof e){case"function":n=new t(e);case"object":if(n.closed||"function"!=typeof n.unsubscribe)break;this.closed?n.unsubscribe():(this._subscriptions||(this._subscriptions=[])).push(n);break;default:throw new Error("unrecognized teardown "+e+" added to Subscription.")}return n},t.prototype.remove=function(e){if(null!=e&&e!==this&&e!==t.EMPTY){var n=this._subscriptions;if(n){var r=n.indexOf(e);-1!==r&&n.splice(r,1)}}},t.EMPTY=function(t){return t.closed=!0,t}(new t),t}();n.Subscription=c},{"./util/UnsubscriptionError":50,"./util/errorObject":51,"./util/isArray":52,"./util/isFunction":53,"./util/isObject":54,"./util/tryCatch":60}],22:[function(t){"use strict";var e=t("../../Observable"),n=t("../../operator/map");e.Observable.prototype.map=n.map},{"../../Observable":15,"../../operator/map":40}],23:[function(t,e,n){"use strict";var r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},i=t("../Observable"),o=t("./ScalarObservable"),s=t("./EmptyObservable"),a=function(t){function e(e,n){t.call(this),this.arrayLike=e,this.scheduler=n,n||1!==e.length||(this._isScalar=!0,this.value=e[0])}return r(e,t),e.create=function(t,n){var r=t.length;return 0===r?new s.EmptyObservable:1===r?new o.ScalarObservable(t[0],n):new e(t,n)},e.dispatch=function(t){var e=t.arrayLike,n=t.index,r=t.length,i=t.subscriber;if(!i.closed){if(n>=r)return void i.complete();i.next(e[n]),t.index=n+1,this.schedule(t)}},e.prototype._subscribe=function(t){var n=0,r=this,i=r.arrayLike,o=r.scheduler,s=i.length;if(o)return o.schedule(e.dispatch,0,{arrayLike:i,index:n,length:s,subscriber:t});for(var a=0;s>a&&!t.closed;a++)t.next(i[a]);t.complete()},e}(i.Observable);n.ArrayLikeObservable=a},{"../Observable":15,"./EmptyObservable":25,"./ScalarObservable":29}],24:[function(t,e,n){"use strict";var r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},i=t("../Observable"),o=t("./ScalarObservable"),s=t("./EmptyObservable"),a=t("../util/isScheduler"),u=function(t){function e(e,n){t.call(this),this.array=e,this.scheduler=n,n||1!==e.length||(this._isScalar=!0,this.value=e[0])}return r(e,t),e.create=function(t,n){return new e(t,n)},e.of=function(){for(var t=[],n=0;n<arguments.length;n++)t[n-0]=arguments[n];var r=t[t.length-1];a.isScheduler(r)?t.pop():r=null;var i=t.length;return i>1?new e(t,r):1===i?new o.ScalarObservable(t[0],r):new s.EmptyObservable(r)},e.dispatch=function(t){var e=t.array,n=t.index,r=t.count,i=t.subscriber;return n>=r?void i.complete():(i.next(e[n]),void(i.closed||(t.index=n+1,this.schedule(t))))},e.prototype._subscribe=function(t){var n=0,r=this.array,i=r.length,o=this.scheduler;if(o)return o.schedule(e.dispatch,0,{array:r,index:n,count:i,subscriber:t});for(var s=0;i>s&&!t.closed;s++)t.next(r[s]);t.complete()},e}(i.Observable);n.ArrayObservable=u},{"../Observable":15,"../util/isScheduler":56,"./EmptyObservable":25,"./ScalarObservable":29}],25:[function(t,e,n){"use strict";var r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},i=t("../Observable"),o=function(t){function e(e){t.call(this),this.scheduler=e}return r(e,t),e.create=function(t){return new e(t)},e.dispatch=function(t){var e=t.subscriber;e.complete()},e.prototype._subscribe=function(t){var n=this.scheduler;return n?n.schedule(e.dispatch,0,{subscriber:t}):void t.complete()},e}(i.Observable);n.EmptyObservable=o},{"../Observable":15}],26:[function(t,e,n){"use strict";var r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},i=t("../util/isArray"),o=t("../util/isPromise"),s=t("./PromiseObservable"),a=t("./IteratorObservable"),u=t("./ArrayObservable"),c=t("./ArrayLikeObservable"),p=t("../symbol/iterator"),l=t("../Observable"),h=t("../operator/observeOn"),f=t("../symbol/observable"),d=function(t){return t&&"number"==typeof t.length},y=function(t){function e(e,n){t.call(this,null),this.ish=e,this.scheduler=n}return r(e,t),e.create=function(t,n){if(null!=t){if("function"==typeof t[f.$$observable])return t instanceof l.Observable&&!n?t:new e(t,n);if(i.isArray(t))return new u.ArrayObservable(t,n);if(o.isPromise(t))return new s.PromiseObservable(t,n);if("function"==typeof t[p.$$iterator]||"string"==typeof t)return new a.IteratorObservable(t,n);if(d(t))return new c.ArrayLikeObservable(t,n)}throw new TypeError((null!==t&&typeof t||t)+" is not observable")},e.prototype._subscribe=function(t){var e=this.ish,n=this.scheduler;return e[f.$$observable]().subscribe(null==n?t:new h.ObserveOnSubscriber(t,n,0))},e}(l.Observable);n.FromObservable=y},{"../Observable":15,"../operator/observeOn":43,"../symbol/iterator":45,"../symbol/observable":46,"../util/isArray":52,"../util/isPromise":55,"./ArrayLikeObservable":23,"./ArrayObservable":24,"./IteratorObservable":27,"./PromiseObservable":28}],27:[function(t,e,n){"use strict";function r(t){var e=t[p.$$iterator];if(!e&&"string"==typeof t)return new h(t);if(!e&&void 0!==t.length)return new f(t);if(!e)throw new TypeError("object is not iterable");return t[p.$$iterator]()}function i(t){var e=+t.length;return isNaN(e)?0:0!==e&&o(e)?(e=s(e)*Math.floor(Math.abs(e)),0>=e?0:e>d?d:e):e}function o(t){return"number"==typeof t&&u.root.isFinite(t)}function s(t){var e=+t;return 0===e?e:isNaN(e)?e:0>e?-1:1}var a=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},u=t("../util/root"),c=t("../Observable"),p=t("../symbol/iterator"),l=function(t){function e(e,n){if(t.call(this),this.scheduler=n,null==e)throw new Error("iterator cannot be null.");this.iterator=r(e)}return a(e,t),e.create=function(t,n){return new e(t,n)},e.dispatch=function(t){var e=t.index,n=t.hasError,r=t.iterator,i=t.subscriber;if(n)return void i.error(t.error);var o=r.next();return o.done?void i.complete():(i.next(o.value),t.index=e+1,i.closed?void("function"==typeof r["return"]&&r["return"]()):void this.schedule(t))},e.prototype._subscribe=function(t){var n=0,r=this,i=r.iterator,o=r.scheduler;if(o)return o.schedule(e.dispatch,0,{index:n,iterator:i,subscriber:t});for(;;){var s=i.next();if(s.done){t.complete();break}if(t.next(s.value),t.closed){"function"==typeof i["return"]&&i["return"]();break}}},e}(c.Observable);n.IteratorObservable=l;var h=function(){function t(t,e,n){void 0===e&&(e=0),void 0===n&&(n=t.length),this.str=t,this.idx=e,this.len=n}return t.prototype[p.$$iterator]=function(){return this},t.prototype.next=function(){return this.idx<this.len?{done:!1,value:this.str.charAt(this.idx++)}:{done:!0,value:void 0}},t}(),f=function(){function t(t,e,n){void 0===e&&(e=0),void 0===n&&(n=i(t)),this.arr=t,this.idx=e,this.len=n}return t.prototype[p.$$iterator]=function(){return this},t.prototype.next=function(){return this.idx<this.len?{done:!1,value:this.arr[this.idx++]}:{done:!0,value:void 0}},t}(),d=Math.pow(2,53)-1},{"../Observable":15,"../symbol/iterator":45,"../util/root":57}],28:[function(t,e,n){"use strict";function r(t){var e=t.value,n=t.subscriber;n.closed||(n.next(e),n.complete())}function i(t){var e=t.err,n=t.subscriber;n.closed||n.error(e)}var o=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},s=t("../util/root"),a=t("../Observable"),u=function(t){function e(e,n){t.call(this),this.promise=e,this.scheduler=n}return o(e,t),e.create=function(t,n){return new e(t,n)},e.prototype._subscribe=function(t){var e=this,n=this.promise,o=this.scheduler;if(null==o)this._isScalar?t.closed||(t.next(this.value),t.complete()):n.then(function(n){e.value=n,e._isScalar=!0,t.closed||(t.next(n),t.complete())},function(e){t.closed||t.error(e)}).then(null,function(t){s.root.setTimeout(function(){throw t})});else if(this._isScalar){if(!t.closed)return o.schedule(r,0,{value:this.value,subscriber:t})}else n.then(function(n){e.value=n,e._isScalar=!0,t.closed||t.add(o.schedule(r,0,{value:n,subscriber:t}))},function(e){t.closed||t.add(o.schedule(i,0,{err:e,subscriber:t}))}).then(null,function(t){s.root.setTimeout(function(){throw t})})},e}(a.Observable);n.PromiseObservable=u},{"../Observable":15,"../util/root":57}],29:[function(t,e,n){"use strict";var r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},i=t("../Observable"),o=function(t){function e(e,n){t.call(this),this.value=e,this.scheduler=n,this._isScalar=!0,n&&(this._isScalar=!1)}return r(e,t),e.create=function(t,n){return new e(t,n)},e.dispatch=function(t){var e=t.done,n=t.value,r=t.subscriber;return e?void r.complete():(r.next(n),void(r.closed||(t.done=!0,this.schedule(t))))},e.prototype._subscribe=function(t){var n=this.value,r=this.scheduler;return r?r.schedule(e.dispatch,0,{done:!1,value:n,subscriber:t}):(t.next(n),void(t.closed||t.complete()))},e}(i.Observable);n.ScalarObservable=o},{"../Observable":15}],30:[function(t,e,n){"use strict";var r=t("./FromObservable");n.from=r.FromObservable.create},{"./FromObservable":26}],31:[function(t,e,n){"use strict";var r=t("./PromiseObservable");n.fromPromise=r.PromiseObservable.create},{"./PromiseObservable":28}],32:[function(t,e,n){"use strict";var r=t("./ArrayObservable");n.of=r.ArrayObservable.of},{"./ArrayObservable":24}],33:[function(t,e,n){"use strict";function r(t){var e=new a(t),n=this.lift(e);return e.caught=n}var i=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},o=t("../OuterSubscriber"),s=t("../util/subscribeToResult");n._catch=r;var a=function(){function t(t){this.selector=t}return t.prototype.call=function(t,e){return e.subscribe(new u(t,this.selector,this.caught))},t}(),u=function(t){function e(e,n,r){t.call(this,e),this.selector=n,this.caught=r}return i(e,t),e.prototype.error=function(t){if(!this.isStopped){var e=void 0;try{e=this.selector(t,this.caught)}catch(t){return void this.destination.error(t)}this.unsubscribe(),this.destination.remove(this),s.subscribeToResult(this,e)}},e}(o.OuterSubscriber)},{"../OuterSubscriber":17,"../util/subscribeToResult":58}],34:[function(t,e,n){"use strict";function r(){return this.lift(new i.MergeAllOperator(1))}var i=t("./mergeAll");n.concatAll=r},{"./mergeAll":41}],35:[function(t,e,n){"use strict";function r(t,e){return this.lift(new i.MergeMapOperator(t,e,1))}var i=t("./mergeMap");n.concatMap=r},{"./mergeMap":42}],36:[function(t,e,n){"use strict";function r(t,e){return this.lift(new s(t,e,this))}var i=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},o=t("../Subscriber");n.every=r;var s=function(){function t(t,e,n){this.predicate=t,this.thisArg=e,this.source=n}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.predicate,this.thisArg,this.source))},t}(),a=function(t){function e(e,n,r,i){t.call(this,e),this.predicate=n,this.thisArg=r,this.source=i,this.index=0,this.thisArg=r||this}return i(e,t),e.prototype.notifyComplete=function(t){this.destination.next(t),this.destination.complete()},e.prototype._next=function(t){var e=!1;try{e=this.predicate.call(this.thisArg,t,this.index++,this.source)}catch(n){return void this.destination.error(n)}e||this.notifyComplete(!1)},e.prototype._complete=function(){this.notifyComplete(!0)},e}(o.Subscriber)},{"../Subscriber":20}],37:[function(t,e,n){"use strict";function r(t,e){return this.lift(new s(t,e))}var i=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},o=t("../Subscriber");n.filter=r;var s=function(){function t(t,e){this.predicate=t,this.thisArg=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.predicate,this.thisArg))},t}(),a=function(t){function e(e,n,r){t.call(this,e),this.predicate=n,this.thisArg=r,this.count=0,this.predicate=n}return i(e,t),e.prototype._next=function(t){var e;try{e=this.predicate.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}e&&this.destination.next(t)},e}(o.Subscriber)},{"../Subscriber":20}],38:[function(t,e,n){"use strict";function r(t,e,n){return this.lift(new a(t,e,n,this))}var i=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},o=t("../Subscriber"),s=t("../util/EmptyError");n.first=r;var a=function(){function t(t,e,n,r){this.predicate=t,this.resultSelector=e,this.defaultValue=n,this.source=r}return t.prototype.call=function(t,e){return e.subscribe(new u(t,this.predicate,this.resultSelector,this.defaultValue,this.source))},t}(),u=function(t){function e(e,n,r,i,o){t.call(this,e),this.predicate=n,this.resultSelector=r,this.defaultValue=i,this.source=o,this.index=0,this.hasCompleted=!1,this._emitted=!1}return i(e,t),e.prototype._next=function(t){var e=this.index++;this.predicate?this._tryPredicate(t,e):this._emit(t,e)},e.prototype._tryPredicate=function(t,e){var n;try{n=this.predicate(t,e,this.source)}catch(r){return void this.destination.error(r)}n&&this._emit(t,e)},e.prototype._emit=function(t,e){return this.resultSelector?void this._tryResultSelector(t,e):void this._emitFinal(t)},e.prototype._tryResultSelector=function(t,e){var n;try{n=this.resultSelector(t,e)}catch(r){return void this.destination.error(r)}this._emitFinal(n)},e.prototype._emitFinal=function(t){var e=this.destination;this._emitted||(this._emitted=!0,e.next(t),e.complete(),this.hasCompleted=!0)},e.prototype._complete=function(){var t=this.destination;this.hasCompleted||"undefined"==typeof this.defaultValue?this.hasCompleted||t.error(new s.EmptyError):(t.next(this.defaultValue),t.complete())},e}(o.Subscriber)},{"../Subscriber":20,"../util/EmptyError":48}],39:[function(t,e,n){"use strict";function r(t,e,n){return this.lift(new a(t,e,n,this))}var i=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},o=t("../Subscriber"),s=t("../util/EmptyError");n.last=r;var a=function(){function t(t,e,n,r){this.predicate=t,this.resultSelector=e,this.defaultValue=n,this.source=r}return t.prototype.call=function(t,e){return e.subscribe(new u(t,this.predicate,this.resultSelector,this.defaultValue,this.source))},t}(),u=function(t){function e(e,n,r,i,o){t.call(this,e),this.predicate=n,this.resultSelector=r,this.defaultValue=i,this.source=o,this.hasValue=!1,this.index=0,"undefined"!=typeof i&&(this.lastValue=i,this.hasValue=!0)}return i(e,t),e.prototype._next=function(t){var e=this.index++;if(this.predicate)this._tryPredicate(t,e);else{if(this.resultSelector)return void this._tryResultSelector(t,e);this.lastValue=t,this.hasValue=!0}},e.prototype._tryPredicate=function(t,e){var n;try{n=this.predicate(t,e,this.source)}catch(r){return void this.destination.error(r)}if(n){if(this.resultSelector)return void this._tryResultSelector(t,e);
-
-this.lastValue=t,this.hasValue=!0}},e.prototype._tryResultSelector=function(t,e){var n;try{n=this.resultSelector(t,e)}catch(r){return void this.destination.error(r)}this.lastValue=n,this.hasValue=!0},e.prototype._complete=function(){var t=this.destination;this.hasValue?(t.next(this.lastValue),t.complete()):t.error(new s.EmptyError)},e}(o.Subscriber)},{"../Subscriber":20,"../util/EmptyError":48}],40:[function(t,e,n){"use strict";function r(t,e){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return this.lift(new s(t,e))}var i=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},o=t("../Subscriber");n.map=r;var s=function(){function t(t,e){this.project=t,this.thisArg=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.project,this.thisArg))},t}();n.MapOperator=s;var a=function(t){function e(e,n,r){t.call(this,e),this.project=n,this.count=0,this.thisArg=r||this}return i(e,t),e.prototype._next=function(t){var e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}this.destination.next(e)},e}(o.Subscriber)},{"../Subscriber":20}],41:[function(t,e,n){"use strict";function r(t){return void 0===t&&(t=Number.POSITIVE_INFINITY),this.lift(new a(t))}var i=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},o=t("../OuterSubscriber"),s=t("../util/subscribeToResult");n.mergeAll=r;var a=function(){function t(t){this.concurrent=t}return t.prototype.call=function(t,e){return e.subscribe(new u(t,this.concurrent))},t}();n.MergeAllOperator=a;var u=function(t){function e(e,n){t.call(this,e),this.concurrent=n,this.hasCompleted=!1,this.buffer=[],this.active=0}return i(e,t),e.prototype._next=function(t){this.active<this.concurrent?(this.active++,this.add(s.subscribeToResult(this,t))):this.buffer.push(t)},e.prototype._complete=function(){this.hasCompleted=!0,0===this.active&&0===this.buffer.length&&this.destination.complete()},e.prototype.notifyComplete=function(t){var e=this.buffer;this.remove(t),this.active--,e.length>0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},e}(o.OuterSubscriber);n.MergeAllSubscriber=u},{"../OuterSubscriber":17,"../util/subscribeToResult":58}],42:[function(t,e,n){"use strict";function r(t,e,n){return void 0===n&&(n=Number.POSITIVE_INFINITY),"number"==typeof e&&(n=e,e=null),this.lift(new a(t,e,n))}var i=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},o=t("../util/subscribeToResult"),s=t("../OuterSubscriber");n.mergeMap=r;var a=function(){function t(t,e,n){void 0===n&&(n=Number.POSITIVE_INFINITY),this.project=t,this.resultSelector=e,this.concurrent=n}return t.prototype.call=function(t,e){return e.subscribe(new u(t,this.project,this.resultSelector,this.concurrent))},t}();n.MergeMapOperator=a;var u=function(t){function e(e,n,r,i){void 0===i&&(i=Number.POSITIVE_INFINITY),t.call(this,e),this.project=n,this.resultSelector=r,this.concurrent=i,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}return i(e,t),e.prototype._next=function(t){this.active<this.concurrent?this._tryNext(t):this.buffer.push(t)},e.prototype._tryNext=function(t){var e,n=this.index++;try{e=this.project(t,n)}catch(r){return void this.destination.error(r)}this.active++,this._innerSub(e,t,n)},e.prototype._innerSub=function(t,e,n){this.add(o.subscribeToResult(this,t,e,n))},e.prototype._complete=function(){this.hasCompleted=!0,0===this.active&&0===this.buffer.length&&this.destination.complete()},e.prototype.notifyNext=function(t,e,n,r){this.resultSelector?this._notifyResultSelector(t,e,n,r):this.destination.next(e)},e.prototype._notifyResultSelector=function(t,e,n,r){var i;try{i=this.resultSelector(t,e,n,r)}catch(o){return void this.destination.error(o)}this.destination.next(i)},e.prototype.notifyComplete=function(t){var e=this.buffer;this.remove(t),this.active--,e.length>0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},e}(s.OuterSubscriber);n.MergeMapSubscriber=u},{"../OuterSubscriber":17,"../util/subscribeToResult":58}],43:[function(t,e,n){"use strict";function r(t,e){return void 0===e&&(e=0),this.lift(new a(t,e))}var i=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},o=t("../Subscriber"),s=t("../Notification");n.observeOn=r;var a=function(){function t(t,e){void 0===e&&(e=0),this.scheduler=t,this.delay=e}return t.prototype.call=function(t,e){return e.subscribe(new u(t,this.scheduler,this.delay))},t}();n.ObserveOnOperator=a;var u=function(t){function e(e,n,r){void 0===r&&(r=0),t.call(this,e),this.scheduler=n,this.delay=r}return i(e,t),e.dispatch=function(t){var e=t.notification,n=t.destination;e.observe(n)},e.prototype.scheduleMessage=function(t){this.add(this.scheduler.schedule(e.dispatch,this.delay,new c(t,this.destination)))},e.prototype._next=function(t){this.scheduleMessage(s.Notification.createNext(t))},e.prototype._error=function(t){this.scheduleMessage(s.Notification.createError(t))},e.prototype._complete=function(){this.scheduleMessage(s.Notification.createComplete())},e}(o.Subscriber);n.ObserveOnSubscriber=u;var c=function(){function t(t,e){this.notification=t,this.destination=e}return t}();n.ObserveOnMessage=c},{"../Notification":14,"../Subscriber":20}],44:[function(t,e,n){"use strict";function r(t,e){var n=!1;return arguments.length>=2&&(n=!0),this.lift(new s(t,e,n))}var i=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},o=t("../Subscriber");n.reduce=r;var s=function(){function t(t,e,n){void 0===n&&(n=!1),this.accumulator=t,this.seed=e,this.hasSeed=n}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.accumulator,this.seed,this.hasSeed))},t}();n.ReduceOperator=s;var a=function(t){function e(e,n,r,i){t.call(this,e),this.accumulator=n,this.hasSeed=i,this.hasValue=!1,this.acc=r}return i(e,t),e.prototype._next=function(t){this.hasValue||(this.hasValue=this.hasSeed)?this._tryReduce(t):(this.acc=t,this.hasValue=!0)},e.prototype._tryReduce=function(t){var e;try{e=this.accumulator(this.acc,t)}catch(n){return void this.destination.error(n)}this.acc=e},e.prototype._complete=function(){(this.hasValue||this.hasSeed)&&this.destination.next(this.acc),this.destination.complete()},e}(o.Subscriber);n.ReduceSubscriber=a},{"../Subscriber":20}],45:[function(t,e,n){"use strict";function r(t){var e=t.Symbol;if("function"==typeof e)return e.iterator||(e.iterator=e("iterator polyfill")),e.iterator;var n=t.Set;if(n&&"function"==typeof(new n)["@@iterator"])return"@@iterator";var r=t.Map;if(r)for(var i=Object.getOwnPropertyNames(r.prototype),o=0;o<i.length;++o){var s=i[o];if("entries"!==s&&"size"!==s&&r.prototype[s]===r.prototype.entries)return s}return"@@iterator"}var i=t("../util/root");n.symbolIteratorPonyfill=r,n.$$iterator=r(i.root)},{"../util/root":57}],46:[function(t,e,n){"use strict";function r(t){var e,n=t.Symbol;return"function"==typeof n?n.observable?e=n.observable:(e=n("observable"),n.observable=e):e="@@observable",e}var i=t("../util/root");n.getSymbolObservable=r,n.$$observable=r(i.root)},{"../util/root":57}],47:[function(t,e,n){"use strict";var r=t("../util/root"),i=r.root.Symbol;n.$$rxSubscriber="function"==typeof i&&"function"==typeof i["for"]?i["for"]("rxSubscriber"):"@@rxSubscriber"},{"../util/root":57}],48:[function(t,e,n){"use strict";var r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},i=function(t){function e(){var e=t.call(this,"no elements in sequence");this.name=e.name="EmptyError",this.stack=e.stack,this.message=e.message}return r(e,t),e}(Error);n.EmptyError=i},{}],49:[function(t,e,n){"use strict";var r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},i=function(t){function e(){var e=t.call(this,"object unsubscribed");this.name=e.name="ObjectUnsubscribedError",this.stack=e.stack,this.message=e.message}return r(e,t),e}(Error);n.ObjectUnsubscribedError=i},{}],50:[function(t,e,n){"use strict";var r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},i=function(t){function e(e){t.call(this),this.errors=e;var n=Error.call(this,e?e.length+" errors occurred during unsubscription:\n  "+e.map(function(t,e){return e+1+") "+t.toString()}).join("\n  "):"");this.name=n.name="UnsubscriptionError",this.stack=n.stack,this.message=n.message}return r(e,t),e}(Error);n.UnsubscriptionError=i},{}],51:[function(t,e,n){"use strict";n.errorObject={e:{}}},{}],52:[function(t,e,n){"use strict";n.isArray=Array.isArray||function(t){return t&&"number"==typeof t.length}},{}],53:[function(t,e,n){"use strict";function r(t){return"function"==typeof t}n.isFunction=r},{}],54:[function(t,e,n){"use strict";function r(t){return null!=t&&"object"==typeof t}n.isObject=r},{}],55:[function(t,e,n){"use strict";function r(t){return t&&"function"!=typeof t.subscribe&&"function"==typeof t.then}n.isPromise=r},{}],56:[function(t,e,n){"use strict";function r(t){return t&&"function"==typeof t.schedule}n.isScheduler=r},{}],57:[function(t,e,n){(function(t){"use strict";if(n.root="object"==typeof window&&window.window===window&&window||"object"==typeof self&&self.self===self&&self||"object"==typeof t&&t.global===t&&t,!n.root)throw new Error("RxJS could not find any global context (window, self, global)")}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],58:[function(t,e,n){"use strict";function r(t,e,n,r){var h=new p.InnerSubscriber(t,n,r);if(h.closed)return null;if(e instanceof u.Observable)return e._isScalar?(h.next(e.value),h.complete(),null):e.subscribe(h);if(o.isArray(e)){for(var f=0,d=e.length;d>f&&!h.closed;f++)h.next(e[f]);h.closed||h.complete()}else{if(s.isPromise(e))return e.then(function(t){h.closed||(h.next(t),h.complete())},function(t){return h.error(t)}).then(null,function(t){i.root.setTimeout(function(){throw t})}),h;if(e&&"function"==typeof e[c.$$iterator])for(var y=e[c.$$iterator]();;){var m=y.next();if(m.done){h.complete();break}if(h.next(m.value),h.closed)break}else if(e&&"function"==typeof e[l.$$observable]){var v=e[l.$$observable]();if("function"==typeof v.subscribe)return v.subscribe(new p.InnerSubscriber(t,n,r));h.error(new TypeError("Provided object does not correctly implement Symbol.observable"))}else{var g=a.isObject(e)?"an invalid object":"'"+e+"'",_="You provided "+g+" where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.";h.error(new TypeError(_))}}return null}var i=t("./root"),o=t("./isArray"),s=t("./isPromise"),a=t("./isObject"),u=t("../Observable"),c=t("../symbol/iterator"),p=t("../InnerSubscriber"),l=t("../symbol/observable");n.subscribeToResult=r},{"../InnerSubscriber":13,"../Observable":15,"../symbol/iterator":45,"../symbol/observable":46,"./isArray":52,"./isObject":54,"./isPromise":55,"./root":57}],59:[function(t,e,n){"use strict";function r(t,e,n){if(t){if(t instanceof i.Subscriber)return t;if(t[o.$$rxSubscriber])return t[o.$$rxSubscriber]()}return t||e||n?new i.Subscriber(t,e,n):new i.Subscriber(s.empty)}var i=t("../Subscriber"),o=t("../symbol/rxSubscriber"),s=t("../Observer");n.toSubscriber=r},{"../Observer":16,"../Subscriber":20,"../symbol/rxSubscriber":47}],60:[function(t,e,n){"use strict";function r(){try{return o.apply(this,arguments)}catch(t){return s.errorObject.e=t,s.errorObject}}function i(t){return o=t,r}var o,s=t("./errorObject");n.tryCatch=i},{"./errorObject":51}]},{},[4])(4)});
\ No newline at end of file
+!function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.main=t()}}(function(){var t;return function e(t,n,r){function i(s,a){if(!n[s]){if(!t[s]){var u="function"==typeof require&&require;if(!a&&u)return u(s,!0);if(o)return o(s,!0);var c=new Error("Cannot find module '"+s+"'");throw c.code="MODULE_NOT_FOUND",c}var p=n[s]={exports:{}};t[s][0].call(p.exports,function(e){var n=t[s][1][e];return i(n?n:e)},p,p.exports,e,t,n,r)}return n[s].exports}for(var o="function"==typeof require&&require,s=0;s<r.length;s++)i(r[s]);return i}({1:[function(t,e,n){"use strict";var r=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},i=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},o=t("@angular/core"),s=function(){function t(){}return t=r([o.Component({selector:"my-app",template:"<router-outlet></router-outlet>"}),i("design:paramtypes",[])],t)}();n.AppComponent=s},{"@angular/core":7}],2:[function(t,e,n){"use strict";var r=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},i=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},o=t("@angular/core"),s=t("@angular/platform-browser"),a=t("@angular/router"),u=t("@angular/http"),c=t("./app.component"),p=t("./signature-book.component"),l=function(){function t(){}return t=r([o.NgModule({imports:[s.BrowserModule,a.RouterModule.forRoot([{path:":basketId/signatureBook/:resId",component:p.SignatureBookComponent},{path:"**",redirectTo:"",pathMatch:"full"}],{useHash:!0}),u.HttpModule],declarations:[c.AppComponent,p.SignatureBookComponent,p.SafeUrlPipe],bootstrap:[c.AppComponent]}),i("design:paramtypes",[])],t)}();n.AppModule=l},{"./app.component":1,"./signature-book.component":3,"@angular/core":7,"@angular/http":8,"@angular/platform-browser":10,"@angular/router":11}],3:[function(t,e,n){"use strict";var r=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},i=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},o=t("@angular/core"),s=t("@angular/http"),a=t("@angular/platform-browser"),u=t("@angular/router");t("rxjs/add/operator/map");var c=function(){function t(t){this.sanitizer=t}return t.prototype.transform=function(t){return this.sanitizer.bypassSecurityTrustResourceUrl(t)},t=r([o.Pipe({name:"safeUrl"}),i("design:paramtypes",[a.DomSanitizer])],t)}();n.SafeUrlPipe=c;var p=function(){function t(t,e,n,r){var i=this;this.http=t,this.route=e,this.router=n,this.zone=r,this.signatureBook={currentAction:{},consigne:"",documents:[],attachments:[],resList:[]},this.rightSelectedThumbnail=0,this.leftSelectedThumbnail=0,this.rightViewerLink="",this.leftViewerLink="",this.headerTab=1,this.showTopRightPanel=!1,this.showTopLeftPanel=!1,this.showResLeftPanel=!0,this.showLeftPanel=!0,this.showAttachmentEditionPanel=!1,this.leftContentWidth="39%",this.rightContentWidth="39%",this.notesViewerLink="",this.visaViewerLink="",this.histViewerLink="",window.angularSignatureBookComponent={componentAfterAttach:function(t){return i.processAfterAttach(t)},componentAfterAction:function(){return i.processAfterAction()}}}return t.prototype.prepareSignatureBook=function(){$j("#inner_content").remove(),$j("#header").remove(),$j("#viewBasketsTitle").remove(),$j("#homePageWelcomeTitle").remove(),$j("#footer").remove(),$j("#container").width("98%")},t.prototype.ngOnInit=function(){var t=this;this.prepareSignatureBook(),this.route.params.subscribe(function(e){t.resId=+e.resId,t.basketId=e.basketId,lockDocument(t.resId),setInterval(function(){lockDocument(t.resId)},5e4),t.http.get("index.php?display=true&page=initializeJsGlobalConfig").map(function(t){return t.json()}).subscribe(function(e){t.coreUrl=e.coreurl,t.http.get(t.coreUrl+"rest/"+t.basketId+"/signatureBook/"+t.resId).map(function(t){return t.json()}).subscribe(function(e){t.signatureBook=e,t.headerTab=1,t.leftSelectedThumbnail=0,t.rightSelectedThumbnail=0,t.leftViewerLink="",t.rightViewerLink="",t.showLeftPanel=!0,t.showResLeftPanel=!0,t.showTopLeftPanel=!1,t.showTopRightPanel=!1,t.showAttachmentEditionPanel=!1,t.notesViewerLink="index.php?display=true&module=notes&page=notes&identifier="+t.resId+"&origin=document&coll_id=letterbox_coll&load&size=full",t.visaViewerLink="index.php?display=true&page=show_visa_tab&module=visa&resId="+t.resId+"&collId=letterbox_coll&visaStep=true",t.histViewerLink="index.php?display=true&dir=indexing_searching&page=document_workflow_history&id="+t.resId+"&coll_id=letterbox_coll&load&size=full",t.signatureBook.documents[0]&&(t.leftViewerLink=t.signatureBook.documents[0].viewerLink),t.signatureBook.attachments[0]&&(t.rightViewerLink=t.signatureBook.attachments[0].viewerLink)})})})},t.prototype.ngOnDestroy=function(){delete window.angularSignatureBookComponent},t.prototype.processAfterAttach=function(t){var e=this;this.zone.run(function(){return e.refreshAttachments(t)})},t.prototype.processAfterAction=function(){for(var t=this,e=-1,n=this.signatureBook.resList.length,r=0;n>r;r++)this.signatureBook.resList[r].res_id==this.resId&&(this.signatureBook.resList[r+1]?e=this.signatureBook.resList[r+1].res_id:r>0&&(e=this.signatureBook.resList[r-1].res_id));this.zone.run(e>=0?function(){return t.changeLocation(e)}:function(){return t.backToBasket()})},t.prototype.changeSignatureBookLeftContent=function(t){this.headerTab=t,this.showTopLeftPanel=!1},t.prototype.changeRightViewer=function(t){0>t?this.showAttachmentEditionPanel=!0:(this.rightViewerLink=this.signatureBook.attachments[t].viewerLink,this.showAttachmentEditionPanel=!1),this.rightSelectedThumbnail=t},t.prototype.changeLeftViewer=function(t){this.leftViewerLink=this.signatureBook.documents[t].viewerLink,this.leftSelectedThumbnail=t},t.prototype.displayPanel=function(t){"TOPRIGHT"==t?this.showTopRightPanel=!this.showTopRightPanel:"TOPLEFT"==t?this.showTopLeftPanel=!this.showTopLeftPanel:"LEFT"==t?(this.showLeftPanel=!this.showLeftPanel,this.showResLeftPanel=!1,this.showLeftPanel?(this.rightContentWidth="47%",this.leftContentWidth="47%"):this.rightContentWidth="95%"):"RESLEFT"==t&&(this.showResLeftPanel=!this.showResLeftPanel,this.showResLeftPanel?(this.rightContentWidth="39%",this.leftContentWidth="39%"):(this.rightContentWidth="47%",this.leftContentWidth="47%"))},t.prototype.refreshAttachments=function(t){var e=this;this.http.get(this.coreUrl+"rest/signatureBook/"+this.resId+"/attachments").map(function(t){return t.json()}).subscribe(function(n){e.signatureBook.attachments=n,"add"==t?e.changeRightViewer(e.signatureBook.attachments.length-1):"del"==t&&e.changeRightViewer(0)})},t.prototype.addAttachmentIframe=function(){showAttachmentsForm("index.php?display=true&module=attachments&page=attachments_content&docId="+this.resId)},t.prototype.editAttachmentIframe=function(t){var e;0==t.res_id?e=t.res_id_version:0==t.res_id_version&&(e=t.res_id),modifyAttachmentsForm("index.php?display=true&module=attachments&page=attachments_content&id="+e+"&relation="+t.relation+"&docId="+this.resId,"98%","auto")},t.prototype.delAttachment=function(t){var e=this,n=confirm("Voulez-vous vraiment supprimer la pièce jointe ?");if(n){var r;0==t.res_id?r=t.res_id_version:0==t.res_id_version&&(r=t.res_id),this.http.get("index.php?display=true&module=attachments&page=del_attachment&id="+r+"&relation="+t.relation+"&rest=true").subscribe(function(){e.refreshAttachments("del")})}},t.prototype.prepareSignFile=function(t){0==t.res_id?this.signatureBookSignFile(t.res_id_version,1):0==t.res_id_version&&this.signatureBookSignFile(t.res_id,0)},t.prototype.signatureBookSignFile=function(t,e){var n=this,r="";0==e?r="index.php?display=true&module=visa&page=sign_file&collId=letterbox_coll&resIdMaster="+this.resId+"&id="+t:1==e?r="index.php?display=true&module=visa&page=sign_file&collId=letterbox_coll&isVersion&resIdMaster="+this.resId+"&id="+t:2==e&&(r="index.php?display=true&module=visa&page=sign_file&collId=letterbox_coll&isOutgoing&resIdMaster="+this.resId+"&id="+t),this.http.get(r).map(function(t){return t.json()}).subscribe(function(t){0==t.status?(n.rightViewerLink="index.php?display=true&module=visa&page=view_pdf_attachement&res_id_master="+n.resId+"&id="+t.new_id,n.signatureBook.attachments[n.rightSelectedThumbnail].viewerLink=n.rightViewerLink,n.signatureBook.attachments[n.rightSelectedThumbnail].status="SIGN"):alert(t.error)})},t.prototype.unsignFile=function(t){var e,n,r=this;0==t.res_id?(n=t.res_id_version,e="res_version_attachments"):0==t.res_id_version&&(n=t.res_id,e="res_attachments"),this.http.put(this.coreUrl+"rest/"+e+"/"+n+"/unsign",{},{}).map(function(t){return t.json()}).subscribe(function(t){"OK"==t.status?(r.rightViewerLink="index.php?display=true&module=visa&page=view_pdf_attachement&res_id_master="+r.resId+"&id="+n,r.signatureBook.attachments[r.rightSelectedThumbnail].viewerLink=r.rightViewerLink,r.signatureBook.attachments[r.rightSelectedThumbnail].status="A_TRA"):alert(t.error)})},t.prototype.backToBasket=function(){location.hash="",location.reload()},t.prototype.changeLocation=function(t){var e="/"+this.basketId+"/signatureBook/"+t;this.router.navigate([e])},t.prototype.validForm=function(){""!=$j("#signatureBookActions option:selected")[0].value&&(unlockDocument(this.resId),valid_action_form("empty","index.php?display=true&page=manage_action&module=core",this.signatureBook.currentAction.id,this.resId,"res_letterbox","null","letterbox_coll","page",!1,[$j("#signatureBookActions option:selected")[0].value]))},t=r([o.Component({templateUrl:"js/angular/app/Views/signatureBook.html"}),i("design:paramtypes",[s.Http,u.ActivatedRoute,u.Router,o.NgZone])],t)}();n.SignatureBookComponent=p},{"@angular/core":7,"@angular/http":8,"@angular/platform-browser":10,"@angular/router":11,"rxjs/add/operator/map":22}],4:[function(t){"use strict";var e=t("@angular/platform-browser-dynamic"),n=t("@angular/core"),r=t("./app/app.module");n.enableProdMode(),e.platformBrowserDynamic().bootstrapModule(r.AppModule)},{"./app/app.module":2,"@angular/core":7,"@angular/platform-browser-dynamic":9}],5:[function(e,n,r){(function(i){!function(i,o){"object"==typeof r&&"undefined"!=typeof n?o(r,e("@angular/core")):"function"==typeof t&&t.amd?t(["exports","@angular/core"],o):o((i.ng=i.ng||{},i.ng.common=i.ng.common||{}),i.ng.core)}(this,function(t,e){"use strict";function n(t){return t.name||typeof t}function r(t){return null!=t}function o(t){return null==t}function s(t){if("string"==typeof t)return t;if(null==t)return""+t;if(t.overriddenName)return""+t.overriddenName;if(t.name)return""+t.name;var e=t.toString(),n=e.indexOf("\n");return-1===n?e:e.substring(0,n)}function a(t){return null!==t&&("function"==typeof t||"object"==typeof t)}function u(){if(!L)if(R.Symbol&&Symbol.iterator)L=Symbol.iterator;else for(var t=Object.getOwnPropertyNames(Map.prototype),e=0;e<t.length;++e){var n=t[e];"entries"!==n&&"size"!==n&&Map.prototype[n]===Map.prototype.entries&&(L=n)}return L}function c(t,e){return t&&e.startsWith(t)?e.substring(t.length):e}function p(t){return t.replace(/\/index.html$/,"")}function l(t,e,n){var r="="+t;if(e.indexOf(r)>-1)return r;if(r=n.getPluralCategory(t),e.indexOf(r)>-1)return r;if(e.indexOf("other")>-1)return"other";throw new Error('No plural message found for value "'+t+'"')}function h(t,e){"string"==typeof e&&(e=parseInt(e,10));var n=e,r=n.toString().replace(/^[^.]*\.?/,""),i=Math.floor(Math.abs(n)),o=r.length,s=parseInt(r,10),a=parseInt(n.toString().replace(/^[^.]*\.?|0+$/g,""),10)||0,u=t.split("-")[0].toLowerCase();switch(u){case"af":case"asa":case"az":case"bem":case"bez":case"bg":case"brx":case"ce":case"cgg":case"chr":case"ckb":case"ee":case"el":case"eo":case"es":case"eu":case"fo":case"fur":case"gsw":case"ha":case"haw":case"hu":case"jgo":case"jmc":case"ka":case"kk":case"kkj":case"kl":case"ks":case"ksb":case"ky":case"lb":case"lg":case"mas":case"mgo":case"ml":case"mn":case"nb":case"nd":case"ne":case"nn":case"nnh":case"nyn":case"om":case"or":case"os":case"ps":case"rm":case"rof":case"rwk":case"saq":case"seh":case"sn":case"so":case"sq":case"ta":case"te":case"teo":case"tk":case"tr":case"ug":case"uz":case"vo":case"vun":case"wae":case"xog":return 1===n?G.One:G.Other;case"agq":case"bas":case"cu":case"dav":case"dje":case"dua":case"dyo":case"ebu":case"ewo":case"guz":case"kam":case"khq":case"ki":case"kln":case"kok":case"ksf":case"lrc":case"lu":case"luo":case"luy":case"mer":case"mfe":case"mgh":case"mua":case"mzn":case"nmg":case"nus":case"qu":case"rn":case"rw":case"sbp":case"twq":case"vai":case"yav":case"yue":case"zgh":case"ak":case"ln":case"mg":case"pa":case"ti":return n===Math.floor(n)&&n>=0&&1>=n?G.One:G.Other;case"am":case"as":case"bn":case"fa":case"gu":case"hi":case"kn":case"mr":case"zu":return 0===i||1===n?G.One:G.Other;case"ar":return 0===n?G.Zero:1===n?G.One:2===n?G.Two:n%100===Math.floor(n%100)&&n%100>=3&&10>=n%100?G.Few:n%100===Math.floor(n%100)&&n%100>=11&&99>=n%100?G.Many:G.Other;case"ast":case"ca":case"de":case"en":case"et":case"fi":case"fy":case"gl":case"it":case"nl":case"sv":case"sw":case"ur":case"yi":return 1===i&&0===o?G.One:G.Other;case"be":return n%10===1&&n%100!==11?G.One:n%10===Math.floor(n%10)&&n%10>=2&&4>=n%10&&!(n%100>=12&&14>=n%100)?G.Few:n%10===0||n%10===Math.floor(n%10)&&n%10>=5&&9>=n%10||n%100===Math.floor(n%100)&&n%100>=11&&14>=n%100?G.Many:G.Other;case"br":return n%10===1&&n%100!==11&&n%100!==71&&n%100!==91?G.One:n%10===2&&n%100!==12&&n%100!==72&&n%100!==92?G.Two:n%10===Math.floor(n%10)&&(n%10>=3&&4>=n%10||n%10===9)&&!(n%100>=10&&19>=n%100||n%100>=70&&79>=n%100||n%100>=90&&99>=n%100)?G.Few:0!==n&&n%1e6===0?G.Many:G.Other;case"bs":case"hr":case"sr":return 0===o&&i%10===1&&i%100!==11||s%10===1&&s%100!==11?G.One:0===o&&i%10===Math.floor(i%10)&&i%10>=2&&4>=i%10&&!(i%100>=12&&14>=i%100)||s%10===Math.floor(s%10)&&s%10>=2&&4>=s%10&&!(s%100>=12&&14>=s%100)?G.Few:G.Other;case"cs":case"sk":return 1===i&&0===o?G.One:i===Math.floor(i)&&i>=2&&4>=i&&0===o?G.Few:0!==o?G.Many:G.Other;case"cy":return 0===n?G.Zero:1===n?G.One:2===n?G.Two:3===n?G.Few:6===n?G.Many:G.Other;case"da":return 1===n||0!==a&&(0===i||1===i)?G.One:G.Other;case"dsb":case"hsb":return 0===o&&i%100===1||s%100===1?G.One:0===o&&i%100===2||s%100===2?G.Two:0===o&&i%100===Math.floor(i%100)&&i%100>=3&&4>=i%100||s%100===Math.floor(s%100)&&s%100>=3&&4>=s%100?G.Few:G.Other;case"ff":case"fr":case"hy":case"kab":return 0===i||1===i?G.One:G.Other;case"fil":return 0===o&&(1===i||2===i||3===i)||0===o&&i%10!==4&&i%10!==6&&i%10!==9||0!==o&&s%10!==4&&s%10!==6&&s%10!==9?G.One:G.Other;case"ga":return 1===n?G.One:2===n?G.Two:n===Math.floor(n)&&n>=3&&6>=n?G.Few:n===Math.floor(n)&&n>=7&&10>=n?G.Many:G.Other;case"gd":return 1===n||11===n?G.One:2===n||12===n?G.Two:n===Math.floor(n)&&(n>=3&&10>=n||n>=13&&19>=n)?G.Few:G.Other;case"gv":return 0===o&&i%10===1?G.One:0===o&&i%10===2?G.Two:0!==o||i%100!==0&&i%100!==20&&i%100!==40&&i%100!==60&&i%100!==80?0!==o?G.Many:G.Other:G.Few;case"he":return 1===i&&0===o?G.One:2===i&&0===o?G.Two:0!==o||n>=0&&10>=n||n%10!==0?G.Other:G.Many;case"is":return 0===a&&i%10===1&&i%100!==11||0!==a?G.One:G.Other;case"ksh":return 0===n?G.Zero:1===n?G.One:G.Other;case"kw":case"naq":case"se":case"smn":return 1===n?G.One:2===n?G.Two:G.Other;case"lag":return 0===n?G.Zero:0!==i&&1!==i||0===n?G.Other:G.One;case"lt":return n%10!==1||n%100>=11&&19>=n%100?n%10===Math.floor(n%10)&&n%10>=2&&9>=n%10&&!(n%100>=11&&19>=n%100)?G.Few:0!==s?G.Many:G.Other:G.One;case"lv":case"prg":return n%10===0||n%100===Math.floor(n%100)&&n%100>=11&&19>=n%100||2===o&&s%100===Math.floor(s%100)&&s%100>=11&&19>=s%100?G.Zero:n%10===1&&n%100!==11||2===o&&s%10===1&&s%100!==11||2!==o&&s%10===1?G.One:G.Other;case"mk":return 0===o&&i%10===1||s%10===1?G.One:G.Other;case"mt":return 1===n?G.One:0===n||n%100===Math.floor(n%100)&&n%100>=2&&10>=n%100?G.Few:n%100===Math.floor(n%100)&&n%100>=11&&19>=n%100?G.Many:G.Other;case"pl":return 1===i&&0===o?G.One:0===o&&i%10===Math.floor(i%10)&&i%10>=2&&4>=i%10&&!(i%100>=12&&14>=i%100)?G.Few:0===o&&1!==i&&i%10===Math.floor(i%10)&&i%10>=0&&1>=i%10||0===o&&i%10===Math.floor(i%10)&&i%10>=5&&9>=i%10||0===o&&i%100===Math.floor(i%100)&&i%100>=12&&14>=i%100?G.Many:G.Other;case"pt":return n===Math.floor(n)&&n>=0&&2>=n&&2!==n?G.One:G.Other;case"ro":return 1===i&&0===o?G.One:0!==o||0===n||1!==n&&n%100===Math.floor(n%100)&&n%100>=1&&19>=n%100?G.Few:G.Other;case"ru":case"uk":return 0===o&&i%10===1&&i%100!==11?G.One:0===o&&i%10===Math.floor(i%10)&&i%10>=2&&4>=i%10&&!(i%100>=12&&14>=i%100)?G.Few:0===o&&i%10===0||0===o&&i%10===Math.floor(i%10)&&i%10>=5&&9>=i%10||0===o&&i%100===Math.floor(i%100)&&i%100>=11&&14>=i%100?G.Many:G.Other;case"shi":return 0===i||1===n?G.One:n===Math.floor(n)&&n>=2&&10>=n?G.Few:G.Other;case"si":return 0===n||1===n||0===i&&1===s?G.One:G.Other;case"sl":return 0===o&&i%100===1?G.One:0===o&&i%100===2?G.Two:0===o&&i%100===Math.floor(i%100)&&i%100>=3&&4>=i%100||0!==o?G.Few:G.Other;case"tzm":return n===Math.floor(n)&&n>=0&&1>=n||n===Math.floor(n)&&n>=11&&99>=n?G.One:G.Other;default:return G.Other}}function f(t){return a(t)?Array.isArray(t)||!(t instanceof Map)&&u()in t:!1}function d(t){return function(e,n){var r=t(e,n);return 1==r.length?"0"+r:r}}function y(t){return function(e,n){return t(e,n).split(" ")[1]}}function m(t){return function(e,n){return t(e,n).split(" ")[0]}}function v(t,e,n){return new Intl.DateTimeFormat(e,n).format(t).replace(/[\u200e\u200f]/g,"")}function g(t){var e={hour:"2-digit",hour12:!1,timeZoneName:t};return function(t,n){var r=v(t,n,e);return r?r.substring(3):""}}function _(t,e){return t.hour12=e,t}function b(t,e){var n={};return n[t]=2===e?"2-digit":"numeric",n}function w(t,e){var n={};return n[t]=4>e?e>1?"short":"narrow":"long",n}function E(t){return(e=Object).assign.apply(e,[{}].concat(t));var e}function S(t){return function(e,n){return v(e,n,t)}}function C(t,e,n){var r=wt[t];if(r)return r(e,n);var i=t,o=St.get(i);if(!o){o=[];var s=void 0;for(bt.exec(t);t;)s=bt.exec(t),s?(o=o.concat(s.slice(1)),t=o.pop()):(o.push(t),t=null);St.set(i,o)}return o.reduce(function(t,r){var i=Et[r];return t+(i?i(e,n):x(r))},"")}function x(t){return"''"===t?"'":t.replace(/(^'|'$)/g,"").replace(/''/g,"'")}function T(t){return null==t||""===t}function P(t){return t instanceof Date&&!isNaN(t.valueOf())}function A(t){var e=new Date(0),n=0,r=0,i=t[8]?e.setUTCFullYear:e.setFullYear,o=t[8]?e.setUTCHours:e.setHours;t[9]&&(n=O(t[9]+t[10]),r=O(t[9]+t[11])),i.call(e,O(t[1]),O(t[2])-1,O(t[3]));var s=O(t[4]||"0")-n,a=O(t[5]||"0")-r,u=O(t[6]||"0"),c=Math.round(1e3*parseFloat("0."+(t[7]||0)));return o.call(e,s,a,u,c),e}function O(t){return parseInt(t,10)}function M(t,e,n,r,i,o,s){if(void 0===o&&(o=null),void 0===s&&(s=!1),null==n)return null;if(n="string"==typeof n&&j.isNumeric(n)?+n:n,"number"!=typeof n)throw new ht(t,n);var a,u,c;if(r!==gt.Currency&&(a=1,u=0,c=3),i){var p=i.match(kt);if(null===p)throw new Error(i+" is not a valid digit info for number pipes");null!=p[1]&&(a=j.parseIntAutoRadix(p[1])),null!=p[3]&&(u=j.parseIntAutoRadix(p[3])),null!=p[5]&&(c=j.parseIntAutoRadix(p[5]))}return _t.format(n,e,r,{minimumIntegerDigits:a,minimumFractionDigits:u,maximumFractionDigits:c,currency:o,currencyAsSymbol:s})}var R,k=function(){function t(){}return t.prototype.getBaseHrefFromDOM=function(){},t.prototype.onPopState=function(){},t.prototype.onHashChange=function(){},Object.defineProperty(t.prototype,"pathname",{get:function(){return null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"search",{get:function(){return null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hash",{get:function(){return null},enumerable:!0,configurable:!0}),t.prototype.replaceState=function(){},t.prototype.pushState=function(){},t.prototype.forward=function(){},t.prototype.back=function(){},t}(),N=function(){function t(){}return t.prototype.path=function(){},t.prototype.prepareExternalUrl=function(){},t.prototype.pushState=function(){},t.prototype.replaceState=function(){},t.prototype.forward=function(){},t.prototype.back=function(){},t.prototype.onPopState=function(){},t.prototype.getBaseHref=function(){},t}(),I=new e.OpaqueToken("appBaseHref");R="undefined"==typeof window?"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:i:window;var D=R;D.assert=function(){};var j=function(){function t(){}return t.parseIntAutoRadix=function(t){var e=parseInt(t);if(isNaN(e))throw new Error("Invalid integer literal when parsing "+t);return e},t.isNumeric=function(t){return!isNaN(t-parseFloat(t))},t}(),L=null,V=function(){function t(n){var r=this;this._subject=new e.EventEmitter,this._platformStrategy=n;var i=this._platformStrategy.getBaseHref();this._baseHref=t.stripTrailingSlash(p(i)),this._platformStrategy.onPopState(function(t){r._subject.emit({url:r.path(!0),pop:!0,type:t.type})})}return t.prototype.path=function(t){return void 0===t&&(t=!1),this.normalize(this._platformStrategy.path(t))},t.prototype.isCurrentPathEqualTo=function(e,n){return void 0===n&&(n=""),this.path()==this.normalize(e+t.normalizeQueryParams(n))},t.prototype.normalize=function(e){return t.stripTrailingSlash(c(this._baseHref,p(e)))},t.prototype.prepareExternalUrl=function(t){return t&&"/"!==t[0]&&(t="/"+t),this._platformStrategy.prepareExternalUrl(t)},t.prototype.go=function(t,e){void 0===e&&(e=""),this._platformStrategy.pushState(null,"",t,e)},t.prototype.replaceState=function(t,e){void 0===e&&(e=""),this._platformStrategy.replaceState(null,"",t,e)},t.prototype.forward=function(){this._platformStrategy.forward()},t.prototype.back=function(){this._platformStrategy.back()},t.prototype.subscribe=function(t,e,n){return void 0===e&&(e=null),void 0===n&&(n=null),this._subject.subscribe({next:t,error:e,complete:n})},t.normalizeQueryParams=function(t){return t&&"?"!==t[0]?"?"+t:t},t.joinWithSlash=function(t,e){if(0==t.length)return e;if(0==e.length)return t;var n=0;return t.endsWith("/")&&n++,e.startsWith("/")&&n++,2==n?t+e.substring(1):1==n?t+e:t+"/"+e},t.stripTrailingSlash=function(t){return t.replace(/\/$/,"")},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[{type:N}]},t}(),F=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},U=function(t){function n(e,n){t.call(this),this._platformLocation=e,this._baseHref="",r(n)&&(this._baseHref=n)}return F(n,t),n.prototype.onPopState=function(t){this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t)},n.prototype.getBaseHref=function(){return this._baseHref},n.prototype.path=function(t){void 0===t&&(t=!1);var e=this._platformLocation.hash;return r(e)||(e="#"),e.length>0?e.substring(1):e},n.prototype.prepareExternalUrl=function(t){var e=V.joinWithSlash(this._baseHref,t);return e.length>0?"#"+e:e},n.prototype.pushState=function(t,e,n,r){var i=this.prepareExternalUrl(n+V.normalizeQueryParams(r));0==i.length&&(i=this._platformLocation.pathname),this._platformLocation.pushState(t,e,i)},n.prototype.replaceState=function(t,e,n,r){var i=this.prepareExternalUrl(n+V.normalizeQueryParams(r));0==i.length&&(i=this._platformLocation.pathname),this._platformLocation.replaceState(t,e,i)},n.prototype.forward=function(){this._platformLocation.forward()},n.prototype.back=function(){this._platformLocation.back()},n.decorators=[{type:e.Injectable}],n.ctorParameters=function(){return[{type:k},{type:void 0,decorators:[{type:e.Optional},{type:e.Inject,args:[I]}]}]},n}(N),B=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},H=function(t){function n(e,n){if(t.call(this),this._platformLocation=e,o(n)&&(n=this._platformLocation.getBaseHrefFromDOM()),o(n))throw new Error("No base href set. Please provide a value for the APP_BASE_HREF token or add a base element to the document.");this._baseHref=n}return B(n,t),n.prototype.onPopState=function(t){this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t)},n.prototype.getBaseHref=function(){return this._baseHref},n.prototype.prepareExternalUrl=function(t){return V.joinWithSlash(this._baseHref,t)},n.prototype.path=function(t){void 0===t&&(t=!1);var e=this._platformLocation.pathname+V.normalizeQueryParams(this._platformLocation.search),n=this._platformLocation.hash;return n&&t?""+e+n:e},n.prototype.pushState=function(t,e,n,r){var i=this.prepareExternalUrl(n+V.normalizeQueryParams(r));this._platformLocation.pushState(t,e,i)},n.prototype.replaceState=function(t,e,n,r){var i=this.prepareExternalUrl(n+V.normalizeQueryParams(r));this._platformLocation.replaceState(t,e,i)},n.prototype.forward=function(){this._platformLocation.forward()},n.prototype.back=function(){this._platformLocation.back()},n.decorators=[{type:e.Injectable}],n.ctorParameters=function(){return[{type:k},{type:void 0,decorators:[{type:e.Optional},{type:e.Inject,args:[I]}]}]},n}(N),q=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},z=function(){function t(){}return t.prototype.getPluralCategory=function(){},t}(),W=function(t){function n(e){t.call(this),this._locale=e}return q(n,t),n.prototype.getPluralCategory=function(t){var e=h(this._locale,t);switch(e){case G.Zero:return"zero";case G.One:return"one";case G.Two:return"two";case G.Few:return"few";case G.Many:return"many";default:return"other"}},n.decorators=[{type:e.Injectable}],n.ctorParameters=function(){return[{type:void 0,decorators:[{type:e.Inject,args:[e.LOCALE_ID]}]}]},n}(z),G={};G.Zero=0,G.One=1,G.Two=2,G.Few=3,G.Many=4,G.Other=5,G[G.Zero]="Zero",G[G.One]="One",G[G.Two]="Two",G[G.Few]="Few",G[G.Many]="Many",G[G.Other]="Other";var K=function(){function t(t,e,n,r){this._iterableDiffers=t,this._keyValueDiffers=e,this._ngEl=n,this._renderer=r,this._initialClasses=[]}return Object.defineProperty(t.prototype,"klass",{set:function(t){this._applyInitialClasses(!0),this._initialClasses="string"==typeof t?t.split(/\s+/):[],this._applyInitialClasses(!1),this._applyClasses(this._rawClass,!1)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngClass",{set:function(t){this._cleanupClasses(this._rawClass),this._iterableDiffer=null,this._keyValueDiffer=null,this._rawClass="string"==typeof t?t.split(/\s+/):t,this._rawClass&&(f(this._rawClass)?this._iterableDiffer=this._iterableDiffers.find(this._rawClass).create(null):this._keyValueDiffer=this._keyValueDiffers.find(this._rawClass).create(null))},enumerable:!0,configurable:!0}),t.prototype.ngDoCheck=function(){if(this._iterableDiffer){var t=this._iterableDiffer.diff(this._rawClass);t&&this._applyIterableChanges(t)}else if(this._keyValueDiffer){var t=this._keyValueDiffer.diff(this._rawClass);t&&this._applyKeyValueChanges(t)}},t.prototype._cleanupClasses=function(t){this._applyClasses(t,!0),this._applyInitialClasses(!1)},t.prototype._applyKeyValueChanges=function(t){var e=this;t.forEachAddedItem(function(t){return e._toggleClass(t.key,t.currentValue)}),t.forEachChangedItem(function(t){return e._toggleClass(t.key,t.currentValue)}),t.forEachRemovedItem(function(t){t.previousValue&&e._toggleClass(t.key,!1)})},t.prototype._applyIterableChanges=function(t){var e=this;t.forEachAddedItem(function(t){if("string"!=typeof t.item)throw new Error("NgClass can only toggle CSS classes expressed as strings, got "+s(t.item));e._toggleClass(t.item,!0)}),t.forEachRemovedItem(function(t){return e._toggleClass(t.item,!1)})},t.prototype._applyInitialClasses=function(t){var e=this;this._initialClasses.forEach(function(n){return e._toggleClass(n,!t)})},t.prototype._applyClasses=function(t,e){var n=this;t&&(Array.isArray(t)||t instanceof Set?t.forEach(function(t){return n._toggleClass(t,!e)}):Object.keys(t).forEach(function(r){null!=t[r]&&n._toggleClass(r,!e)}))},t.prototype._toggleClass=function(t,e){var n=this;t=t.trim(),t&&t.split(/\s+/g).forEach(function(t){n._renderer.setElementClass(n._ngEl.nativeElement,t,e)})},t.decorators=[{type:e.Directive,args:[{selector:"[ngClass]"}]}],t.ctorParameters=function(){return[{type:e.IterableDiffers},{type:e.KeyValueDiffers},{type:e.ElementRef},{type:e.Renderer}]},t.propDecorators={klass:[{type:e.Input,args:["class"]}],ngClass:[{type:e.Input}]},t}(),X=function(){function t(t,e,n){this.$implicit=t,this.index=e,this.count=n}return Object.defineProperty(t.prototype,"first",{get:function(){return 0===this.index},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"last",{get:function(){return this.index===this.count-1},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"even",{get:function(){return this.index%2===0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"odd",{get:function(){return!this.even},enumerable:!0,configurable:!0}),t}(),Q=function(){function t(t,e,n,r){this._viewContainer=t,this._template=e,this._differs=n,this._cdr=r,this._differ=null}return Object.defineProperty(t.prototype,"ngForTrackBy",{get:function(){return this._trackByFn},set:function(t){e.isDevMode()&&null!=t&&"function"!=typeof t&&console&&console.warn&&console.warn("trackBy must be a function, but received "+JSON.stringify(t)+". See https://angular.io/docs/ts/latest/api/common/index/NgFor-directive.html#!#change-propagation for more information."),this._trackByFn=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngForTemplate",{set:function(t){t&&(this._template=t)},enumerable:!0,configurable:!0}),t.prototype.ngOnChanges=function(t){if("ngForOf"in t){var e=t.ngForOf.currentValue;if(!this._differ&&e)try{this._differ=this._differs.find(e).create(this._cdr,this.ngForTrackBy)}catch(r){throw new Error("Cannot find a differ supporting object '"+e+"' of type '"+n(e)+"'. NgFor only supports binding to Iterables such as Arrays.")}}},t.prototype.ngDoCheck=function(){if(this._differ){var t=this._differ.diff(this.ngForOf);t&&this._applyChanges(t)}},t.prototype._applyChanges=function(t){var e=this,n=[];t.forEachOperation(function(t,r,i){if(null==t.previousIndex){var o=e._viewContainer.createEmbeddedView(e._template,new X(null,null,null),i),s=new Y(t,o);n.push(s)}else if(null==i)e._viewContainer.remove(r);else{var o=e._viewContainer.get(r);e._viewContainer.move(o,i);var s=new Y(t,o);n.push(s)}});for(var r=0;r<n.length;r++)this._perViewChange(n[r].view,n[r].record);for(var r=0,i=this._viewContainer.length;i>r;r++){var o=this._viewContainer.get(r);o.context.index=r,o.context.count=i}t.forEachIdentityChange(function(t){var n=e._viewContainer.get(t.currentIndex);n.context.$implicit=t.item})},t.prototype._perViewChange=function(t,e){t.context.$implicit=e.item},t.decorators=[{type:e.Directive,args:[{selector:"[ngFor][ngForOf]"}]}],t.ctorParameters=function(){return[{type:e.ViewContainerRef},{type:e.TemplateRef},{type:e.IterableDiffers
+},{type:e.ChangeDetectorRef}]},t.propDecorators={ngForOf:[{type:e.Input}],ngForTrackBy:[{type:e.Input}],ngForTemplate:[{type:e.Input}]},t}(),Y=function(){function t(t,e){this.record=t,this.view=e}return t}(),$=function(){function t(t,e){this._viewContainer=t,this._template=e,this._hasView=!1}return Object.defineProperty(t.prototype,"ngIf",{set:function(t){t&&!this._hasView?(this._hasView=!0,this._viewContainer.createEmbeddedView(this._template)):!t&&this._hasView&&(this._hasView=!1,this._viewContainer.clear())},enumerable:!0,configurable:!0}),t.decorators=[{type:e.Directive,args:[{selector:"[ngIf]"}]}],t.ctorParameters=function(){return[{type:e.ViewContainerRef},{type:e.TemplateRef}]},t.propDecorators={ngIf:[{type:e.Input}]},t}(),Z=function(){function t(t,e){this._viewContainerRef=t,this._templateRef=e,this._created=!1}return t.prototype.create=function(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)},t.prototype.destroy=function(){this._created=!1,this._viewContainerRef.clear()},t.prototype.enforceState=function(t){t&&!this._created?this.create():!t&&this._created&&this.destroy()},t}(),J=function(){function t(){this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}return Object.defineProperty(t.prototype,"ngSwitch",{set:function(t){this._ngSwitch=t,0===this._caseCount&&this._updateDefaultCases(!0)},enumerable:!0,configurable:!0}),t.prototype._addCase=function(){return this._caseCount++},t.prototype._addDefault=function(t){this._defaultViews||(this._defaultViews=[]),this._defaultViews.push(t)},t.prototype._matchCase=function(t){var e=t==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||e,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),e},t.prototype._updateDefaultCases=function(t){if(this._defaultViews&&t!==this._defaultUsed){this._defaultUsed=t;for(var e=0;e<this._defaultViews.length;e++){var n=this._defaultViews[e];n.enforceState(t)}}},t.decorators=[{type:e.Directive,args:[{selector:"[ngSwitch]"}]}],t.ctorParameters=function(){return[]},t.propDecorators={ngSwitch:[{type:e.Input}]},t}(),tt=function(){function t(t,e,n){this.ngSwitch=n,n._addCase(),this._view=new Z(t,e)}return t.prototype.ngDoCheck=function(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))},t.decorators=[{type:e.Directive,args:[{selector:"[ngSwitchCase]"}]}],t.ctorParameters=function(){return[{type:e.ViewContainerRef},{type:e.TemplateRef},{type:J,decorators:[{type:e.Host}]}]},t.propDecorators={ngSwitchCase:[{type:e.Input}]},t}(),et=function(){function t(t,e,n){n._addDefault(new Z(t,e))}return t.decorators=[{type:e.Directive,args:[{selector:"[ngSwitchDefault]"}]}],t.ctorParameters=function(){return[{type:e.ViewContainerRef},{type:e.TemplateRef},{type:J,decorators:[{type:e.Host}]}]},t}(),nt=function(){function t(t){this._localization=t,this._caseViews={}}return Object.defineProperty(t.prototype,"ngPlural",{set:function(t){this._switchValue=t,this._updateView()},enumerable:!0,configurable:!0}),t.prototype.addCase=function(t,e){this._caseViews[t]=e},t.prototype._updateView=function(){this._clearViews();var t=Object.keys(this._caseViews),e=l(this._switchValue,t,this._localization);this._activateView(this._caseViews[e])},t.prototype._clearViews=function(){this._activeView&&this._activeView.destroy()},t.prototype._activateView=function(t){t&&(this._activeView=t,this._activeView.create())},t.decorators=[{type:e.Directive,args:[{selector:"[ngPlural]"}]}],t.ctorParameters=function(){return[{type:z}]},t.propDecorators={ngPlural:[{type:e.Input}]},t}(),rt=function(){function t(t,e,n,r){this.value=t;var i=!isNaN(Number(t));r.addCase(i?"="+t:t,new Z(n,e))}return t.decorators=[{type:e.Directive,args:[{selector:"[ngPluralCase]"}]}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:e.Attribute,args:["ngPluralCase"]}]},{type:e.TemplateRef},{type:e.ViewContainerRef},{type:nt,decorators:[{type:e.Host}]}]},t}(),it=function(){function t(t,e,n){this._differs=t,this._ngEl=e,this._renderer=n}return Object.defineProperty(t.prototype,"ngStyle",{set:function(t){this._ngStyle=t,!this._differ&&t&&(this._differ=this._differs.find(t).create(null))},enumerable:!0,configurable:!0}),t.prototype.ngDoCheck=function(){if(this._differ){var t=this._differ.diff(this._ngStyle);t&&this._applyChanges(t)}},t.prototype._applyChanges=function(t){var e=this;t.forEachRemovedItem(function(t){return e._setStyle(t.key,null)}),t.forEachAddedItem(function(t){return e._setStyle(t.key,t.currentValue)}),t.forEachChangedItem(function(t){return e._setStyle(t.key,t.currentValue)})},t.prototype._setStyle=function(t,e){var n=t.split("."),r=n[0],i=n[1];e=e&&i?""+e+i:e,this._renderer.setElementStyle(this._ngEl.nativeElement,r,e)},t.decorators=[{type:e.Directive,args:[{selector:"[ngStyle]"}]}],t.ctorParameters=function(){return[{type:e.KeyValueDiffers},{type:e.ElementRef},{type:e.Renderer}]},t.propDecorators={ngStyle:[{type:e.Input}]},t}(),ot=function(){function t(t){this._viewContainerRef=t}return Object.defineProperty(t.prototype,"ngOutletContext",{set:function(t){this._context=t},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"ngTemplateOutlet",{set:function(t){this._templateRef=t},enumerable:!0,configurable:!0}),t.prototype.ngOnChanges=function(){this._viewRef&&this._viewContainerRef.remove(this._viewContainerRef.indexOf(this._viewRef)),this._templateRef&&(this._viewRef=this._viewContainerRef.createEmbeddedView(this._templateRef,this._context))},t.decorators=[{type:e.Directive,args:[{selector:"[ngTemplateOutlet]"}]}],t.ctorParameters=function(){return[{type:e.ViewContainerRef}]},t.propDecorators={ngOutletContext:[{type:e.Input}],ngTemplateOutlet:[{type:e.Input}]},t}(),st=[K,Q,$,ot,it,J,tt,et,nt,rt],at=e.__core_private__.isPromise,ut=e.__core_private__.isObservable,ct=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},pt=function(t){function e(e){t.call(this,e);var n=new Error(e);this._nativeError=n}return ct(e,t),Object.defineProperty(e.prototype,"message",{get:function(){return this._nativeError.message},set:function(t){this._nativeError.message=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"name",{get:function(){return this._nativeError.name},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"stack",{get:function(){return this._nativeError.stack},set:function(t){this._nativeError.stack=t},enumerable:!0,configurable:!0}),e.prototype.toString=function(){return this._nativeError.toString()},e}(Error),lt=(function(t){function e(e,n){t.call(this,e+" caused by: "+(n instanceof Error?n.message:n)),this.originalError=n}return ct(e,t),Object.defineProperty(e.prototype,"stack",{get:function(){return(this.originalError instanceof Error?this.originalError:this._nativeError).stack},enumerable:!0,configurable:!0}),e}(pt),this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),ht=function(t){function e(e,n){t.call(this,"Invalid argument '"+n+"' for pipe '"+s(e)+"'")}return lt(e,t),e}(pt),ft=function(){function t(){}return t.prototype.createSubscription=function(t,e){return t.subscribe({next:e,error:function(t){throw t}})},t.prototype.dispose=function(t){t.unsubscribe()},t.prototype.onDestroy=function(t){t.unsubscribe()},t}(),dt=function(){function t(){}return t.prototype.createSubscription=function(t,e){return t.then(e,function(t){throw t})},t.prototype.dispose=function(){},t.prototype.onDestroy=function(){},t}(),yt=new dt,mt=new ft,vt=function(){function t(t){this._ref=t,this._latestValue=null,this._latestReturnedValue=null,this._subscription=null,this._obj=null,this._strategy=null}return t.prototype.ngOnDestroy=function(){this._subscription&&this._dispose()},t.prototype.transform=function(t){return this._obj?t!==this._obj?(this._dispose(),this.transform(t)):this._latestValue===this._latestReturnedValue?this._latestReturnedValue:(this._latestReturnedValue=this._latestValue,e.WrappedValue.wrap(this._latestValue)):(t&&this._subscribe(t),this._latestReturnedValue=this._latestValue,this._latestValue)},t.prototype._subscribe=function(t){var e=this;this._obj=t,this._strategy=this._selectStrategy(t),this._subscription=this._strategy.createSubscription(t,function(n){return e._updateLatestValue(t,n)})},t.prototype._selectStrategy=function(e){if(at(e))return yt;if(ut(e))return mt;throw new ht(t,e)},t.prototype._dispose=function(){this._strategy.dispose(this._subscription),this._latestValue=null,this._latestReturnedValue=null,this._subscription=null,this._obj=null},t.prototype._updateLatestValue=function(t,e){t===this._obj&&(this._latestValue=e,this._ref.markForCheck())},t.decorators=[{type:e.Pipe,args:[{name:"async",pure:!1}]}],t.ctorParameters=function(){return[{type:e.ChangeDetectorRef}]},t}(),gt={};gt.Decimal=0,gt.Percent=1,gt.Currency=2,gt[gt.Decimal]="Decimal",gt[gt.Percent]="Percent",gt[gt.Currency]="Currency";var _t=function(){function t(){}return t.format=function(t,e,n,r){var i=void 0===r?{}:r,o=i.minimumIntegerDigits,s=i.minimumFractionDigits,a=i.maximumFractionDigits,u=i.currency,c=i.currencyAsSymbol,p=void 0===c?!1:c,l={minimumIntegerDigits:o,minimumFractionDigits:s,maximumFractionDigits:a,style:gt[n].toLowerCase()};return n==gt.Currency&&(l.currency=u,l.currencyDisplay=p?"symbol":"code"),new Intl.NumberFormat(e,l).format(t)},t}(),bt=/((?:[^yMLdHhmsazZEwGjJ']+)|(?:'(?:[^']|'')*')|(?:E+|y+|M+|L+|d+|H+|h+|J+|j+|m+|s+|a|z|Z|G+|w+))(.*)/,wt={yMMMdjms:S(E([b("year",1),w("month",3),b("day",1),b("hour",1),b("minute",1),b("second",1)])),yMdjm:S(E([b("year",1),b("month",1),b("day",1),b("hour",1),b("minute",1)])),yMMMMEEEEd:S(E([b("year",1),w("month",4),w("weekday",4),b("day",1)])),yMMMMd:S(E([b("year",1),w("month",4),b("day",1)])),yMMMd:S(E([b("year",1),w("month",3),b("day",1)])),yMd:S(E([b("year",1),b("month",1),b("day",1)])),jms:S(E([b("hour",1),b("second",1),b("minute",1)])),jm:S(E([b("hour",1),b("minute",1)]))},Et={yyyy:S(b("year",4)),yy:S(b("year",2)),y:S(b("year",1)),MMMM:S(w("month",4)),MMM:S(w("month",3)),MM:S(b("month",2)),M:S(b("month",1)),LLLL:S(w("month",4)),L:S(w("month",1)),dd:S(b("day",2)),d:S(b("day",1)),HH:d(m(S(_(b("hour",2),!1)))),H:m(S(_(b("hour",1),!1))),hh:d(m(S(_(b("hour",2),!0)))),h:m(S(_(b("hour",1),!0))),jj:S(b("hour",2)),j:S(b("hour",1)),mm:d(S(b("minute",2))),m:S(b("minute",1)),ss:d(S(b("second",2))),s:S(b("second",1)),sss:S(b("second",3)),EEEE:S(w("weekday",4)),EEE:S(w("weekday",3)),EE:S(w("weekday",2)),E:S(w("weekday",1)),a:y(S(_(b("hour",1),!0))),Z:g("short"),z:g("long"),ww:S({}),w:S({}),G:S(w("era",1)),GG:S(w("era",2)),GGG:S(w("era",3)),GGGG:S(w("era",4))},St=new Map,Ct=function(){function t(){}return t.format=function(t,e,n){return C(n,t,e)},t}(),xt=/^(\d{4})-?(\d\d)-?(\d\d)(?:T(\d\d)(?::?(\d\d)(?::?(\d\d)(?:\.(\d+))?)?)?(Z|([+-])(\d\d):?(\d\d))?)?$/,Tt=function(){function t(t){this._locale=t}return t.prototype.transform=function(e,n){void 0===n&&(n="mediumDate");var r;if(T(e)||e!==e)return null;if("string"==typeof e&&(e=e.trim()),P(e))r=e;else if(j.isNumeric(e))r=new Date(parseFloat(e));else if("string"==typeof e&&/^(\d{4}-\d{1,2}-\d{1,2})$/.test(e)){var i=e.split("-").map(function(t){return parseInt(t,10)}),o=i[0],s=i[1],a=i[2];r=new Date(o,s-1,a)}else r=new Date(e);if(!P(r)){var u=void 0;if("string"!=typeof e||!(u=e.match(xt)))throw new ht(t,e);r=A(u)}return Ct.format(r,this._locale,t._ALIASES[n]||n)},t._ALIASES={medium:"yMMMdjms","short":"yMdjm",fullDate:"yMMMMEEEEd",longDate:"yMMMMd",mediumDate:"yMMMd",shortDate:"yMd",mediumTime:"jms",shortTime:"jm"},t.decorators=[{type:e.Pipe,args:[{name:"date",pure:!0}]}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:e.Inject,args:[e.LOCALE_ID]}]}]},t}(),Pt=/#/g,At=function(){function t(t){this._localization=t}return t.prototype.transform=function(e,n){if(null==e)return"";if("object"!=typeof n||null===n)throw new ht(t,n);var r=l(e,Object.keys(n),this._localization);return n[r].replace(Pt,e.toString())},t.decorators=[{type:e.Pipe,args:[{name:"i18nPlural",pure:!0}]}],t.ctorParameters=function(){return[{type:z}]},t}(),Ot=function(){function t(){}return t.prototype.transform=function(e,n){if(null==e)return"";if("object"!=typeof n||"string"!=typeof e)throw new ht(t,n);return n.hasOwnProperty(e)?n[e]:n.hasOwnProperty("other")?n.other:""},t.decorators=[{type:e.Pipe,args:[{name:"i18nSelect",pure:!0}]}],t.ctorParameters=function(){return[]},t}(),Mt=function(){function t(){}return t.prototype.transform=function(t){return JSON.stringify(t,null,2)},t.decorators=[{type:e.Pipe,args:[{name:"json",pure:!1}]}],t.ctorParameters=function(){return[]},t}(),Rt=function(){function t(){}return t.prototype.transform=function(e){if(o(e))return e;if("string"!=typeof e)throw new ht(t,e);return e.toLowerCase()},t.decorators=[{type:e.Pipe,args:[{name:"lowercase"}]}],t.ctorParameters=function(){return[]},t}(),kt=/^(\d+)?\.((\d+)(-(\d+))?)?$/,Nt=function(){function t(t){this._locale=t}return t.prototype.transform=function(e,n){return void 0===n&&(n=null),M(t,this._locale,e,gt.Decimal,n)},t.decorators=[{type:e.Pipe,args:[{name:"number"}]}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:e.Inject,args:[e.LOCALE_ID]}]}]},t}(),It=function(){function t(t){this._locale=t}return t.prototype.transform=function(e,n){return void 0===n&&(n=null),M(t,this._locale,e,gt.Percent,n)},t.decorators=[{type:e.Pipe,args:[{name:"percent"}]}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:e.Inject,args:[e.LOCALE_ID]}]}]},t}(),Dt=function(){function t(t){this._locale=t}return t.prototype.transform=function(e,n,r,i){return void 0===n&&(n="USD"),void 0===r&&(r=!1),void 0===i&&(i=null),M(t,this._locale,e,gt.Currency,i,n,r)},t.decorators=[{type:e.Pipe,args:[{name:"currency"}]}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:e.Inject,args:[e.LOCALE_ID]}]}]},t}(),jt=function(){function t(){}return t.prototype.transform=function(e,n,r){if(null==e)return e;if(!this.supports(e))throw new ht(t,e);return e.slice(n,r)},t.prototype.supports=function(t){return"string"==typeof t||Array.isArray(t)},t.decorators=[{type:e.Pipe,args:[{name:"slice",pure:!1}]}],t.ctorParameters=function(){return[]},t}(),Lt=function(){function t(){}return t.prototype.transform=function(e){if(o(e))return e;if("string"!=typeof e)throw new ht(t,e);return e.toUpperCase()},t.decorators=[{type:e.Pipe,args:[{name:"uppercase"}]}],t.ctorParameters=function(){return[]},t}(),Vt=[vt,Lt,Rt,Mt,jt,Nt,It,Dt,Tt,At,Ot],Ft=function(){function t(){}return t.decorators=[{type:e.NgModule,args:[{declarations:[st,Vt],exports:[st,Vt],providers:[{provide:z,useClass:W}]}]}],t.ctorParameters=function(){return[]},t}(),Ut=new e.Version("2.4.9");t.NgLocalization=z,t.CommonModule=Ft,t.NgClass=K,t.NgFor=Q,t.NgIf=$,t.NgPlural=nt,t.NgPluralCase=rt,t.NgStyle=it,t.NgSwitch=J,t.NgSwitchCase=tt,t.NgSwitchDefault=et,t.NgTemplateOutlet=ot,t.AsyncPipe=vt,t.DatePipe=Tt,t.I18nPluralPipe=At,t.I18nSelectPipe=Ot,t.JsonPipe=Mt,t.LowerCasePipe=Rt,t.CurrencyPipe=Dt,t.DecimalPipe=Nt,t.PercentPipe=It,t.SlicePipe=jt,t.UpperCasePipe=Lt,t.VERSION=Ut,t.Version=e.Version,t.PlatformLocation=k,t.LocationStrategy=N,t.APP_BASE_HREF=I,t.HashLocationStrategy=U,t.PathLocationStrategy=H,t.Location=V})}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"@angular/core":7}],6:[function(e,n,r){!function(i,o){"object"==typeof r&&"undefined"!=typeof n?o(r,e("@angular/core")):"function"==typeof t&&t.amd?t(["exports","@angular/core"],o):o((i.ng=i.ng||{},i.ng.compiler=i.ng.compiler||{}),i.ng.core)}(this,function(t,e){"use strict";function n(t,e,n){void 0===n&&(n=null);var r=[],i=t.visit?function(e){return t.visit(e,n)||e.visit(t,n)}:function(e){return e.visit(t,n)};return e.forEach(function(t){var e=i(t);e&&r.push(e)}),r}function r(t){return null!=t}function i(t){return null==t}function o(t){return"object"==typeof t&&null!==t&&Object.getPrototypeOf(t)===eo}function s(t){if("string"==typeof t)return t;if(null==t)return""+t;if(t.overriddenName)return""+t.overriddenName;if(t.name)return""+t.name;var e=t.toString(),n=e.indexOf("\n");return-1===n?e:e.substring(0,n)}function a(t){return null!==t&&("function"==typeof t||"object"==typeof t)}function u(t){return!a(t)}function c(t){return t.replace(/([.*+?^=!:${}()|[\]\/\\])/g,"\\$1")}function p(t){if(":"!=t[0])return[null,t];var e=t.indexOf(":",1);if(-1==e)throw new Error('Unsupported format "'+t+'" expecting ":namespace:name"');return[t.slice(1,e),t.slice(e+1)]}function l(t){return null===t?null:p(t)[0]}function h(t,e){return t?":"+t+":"+e:e}function f(t){return Qo[t.toLowerCase()]||Yo}function d(t){return t.replace(ss,function(){for(var t=[],e=0;e<arguments.length;e++)t[e-0]=arguments[e];return t[1].toUpperCase()})}function y(t,e){return v(t,":",e)}function m(t,e){return v(t,".",e)}function v(t,e,n){var r=t.indexOf(e);return-1==r?n:[t.slice(0,r).trim(),t.slice(r+1).trim()]}function g(t,e,n){return Array.isArray(t)?e.visitArray(t,n):o(t)?e.visitStringMap(t,n):null==t||u(t)?e.visitPrimitive(t,n):e.visitOther(t,n)}function _(t){return t.replace(/\W/g,"_")}function b(t){if(!t||!t.reference)return null;var e=t.reference;if(e instanceof Ji)return e.name;if(e.__anonymousType)return e.__anonymousType;var n=s(e);return n.indexOf("(")>=0?(n="anonymous_"+Ss++,e.__anonymousType=n):n=_(n),n}function w(t){var e=t.reference;return e instanceof Ji?e.filePath:Po.importUri(e)}function E(t){return r(t.value)?_(t.value):b(t.identifier)}function S(t){return r(t.identifier)?t.identifier.reference:t.value}function C(t,n){var r=Zo.parse(n.selector)[0].getMatchingElementTemplate();return Ps.create({isHost:!0,type:{reference:t,diDeps:[],lifecycleHooks:[]},template:new Ts({encapsulation:e.ViewEncapsulation.None,template:r,templateUrl:"",styles:[],styleUrls:[],ngContentSelectors:[],animations:[]}),changeDetection:e.ChangeDetectionStrategy.Default,inputs:[],outputs:[],host:{},isComponent:!0,selector:"*",providers:[],viewProviders:[],queries:[],viewQueries:[]})}function x(t){return t||[]}function T(t){return t>=Ns&&Vs>=t||t==Ra}function P(t){return t>=sa&&aa>=t}function A(t){return t>=ga&&Pa>=t||t>=ua&&ha>=t}function O(t){return t>=ga&&ba>=t||t>=ua&&pa>=t||P(t)}function M(){return function(t){return t}}function R(t,n){if(e.isDevMode()&&!i(n)){if(!Array.isArray(n))throw new Error("Expected '"+t+"' to be an array of strings.");for(var r=0;r<n.length;r+=1)if("string"!=typeof n[r])throw new Error("Expected '"+t+"' to be an array of strings.")}}function k(t,n){if(r(n)&&(!Array.isArray(n)||2!=n.length))throw new Error("Expected '"+t+"' to be an array, [start, end].");if(e.isDevMode()&&!i(n)){var o=n[0],s=n[1];Na.forEach(function(t){if(t.test(o)||t.test(s))throw new Error("['"+o+"', '"+s+"'] contains unusable interpolation symbol.")})}}function N(t,e){return new du(t,lu.Character,e,String.fromCharCode(e))}function I(t,e){return new du(t,lu.Identifier,0,e)}function D(t,e){return new du(t,lu.Keyword,0,e)}function j(t,e){return new du(t,lu.Operator,0,e)}function L(t,e){return new du(t,lu.String,0,e)}function V(t,e){return new du(t,lu.Number,e,"")}function F(t,e){return new du(t,lu.Error,0,e)}function U(t){return t>=ga&&Pa>=t||t>=ua&&ha>=t||t==va||t==Hs}function B(t){if(0==t.length)return!1;var e=new mu(t);if(!U(e.peek))return!1;for(e.advance();e.peek!==ks;){if(!H(e.peek))return!1;e.advance()}return!0}function H(t){return A(t)||P(t)||t==va||t==Hs}function q(t){return t==_a||t==ca}function z(t){return t==$s||t==Qs}function W(t){return t===Ws||t===Us||t===ka}function G(t){switch(t){case wa:return Is;case ba:return js;case Ea:return Ls;case Sa:return Ns;case xa:return Ds;default:return t}}function K(t){var e=c(t.start)+"([\\s\\S]*?)"+c(t.end);return new RegExp(e,"g")}function X(t,e,n){void 0===n&&(n=null);var r=[],i=t.visit?function(e){return t.visit(e,n)||e.visit(t,n)}:function(e){return e.visit(t,n)};return e.forEach(function(t){var e=i(t);e&&r.push(e)}),r}function Q(t,e,n,r,i){return void 0===r&&(r=!1),void 0===i&&(i=Da),new Hu(new xu(t,e),n,r,i).tokenize()}function Y(t){var e=t===ks?"EOF":String.fromCharCode(t);return'Unexpected character "'+e+'"'}function $(t){return'Unknown entity "'+t+'" - use the "&#<decimal>;" or  "&#x<hex>;" syntax'}function Z(t){return!T(t)||t===ks}function J(t){return T(t)||t===ia||t===Js||t===Ws||t===Us||t===ra}function tt(t){return(ga>t||t>Pa)&&(ua>t||t>ha)&&(sa>t||t>aa)}function et(t){return t==ea||t==ks||!O(t)}function nt(t){return t==ea||t==ks||!A(t)}function rt(t,e,n){var r=n?t.indexOf(n.start,e)==e:!1;return t.charCodeAt(e)==Aa&&!r}function it(t){return t===ra||A(t)}function ot(t,e){return st(t)==st(e)}function st(t){return t>=ga&&Pa>=t?t-ga+ua:t}function at(t){for(var e,n=[],r=0;r<t.length;r++){var i=t[r];e&&e.type==ju.TEXT&&i.type==ju.TEXT?(e.parts[0]+=i.parts[0],e.sourceSpan.end=i.sourceSpan.end):(e=i,n.push(e))}return n}function ut(t,e){return t.length>0&&t[t.length-1]===e}function ct(t){var e=new ic(rc,t);return function(t,n,r){return e.toI18nMessage(t,n,r)}}function pt(t){return t.split(oc)[1]}function lt(t,e,n,r){var i=new fc(n,r);return i.extract(t,e)}function ht(t,e,n,r,i){var o=new fc(r,i);return o.merge(t,e,n)}function ft(t){return t instanceof Iu&&t.value&&t.value.startsWith("i18n")}function dt(t){return t instanceof Iu&&t.value&&"/i18n"===t.value}function yt(t){return t.attrs.find(function(t){return t.name===uc})||null}function mt(t){if(!t)return["",""];var e=t.indexOf("|");return-1==e?["",t]:[t.slice(0,e),t.slice(e+1)]}function vt(){return yc}function gt(t){return wt(bt(t.nodes).join("")+("["+t.meaning+"]"))}function _t(t){var e=new wc,n=t.nodes.map(function(t){return t.visit(e,null)});return Ct(n.join(""),t.meaning)}function bt(t){return t.map(function(t){return t.visit(bc,null)})}function wt(t){var e=Pt(t),n=Dt(e,Ec.Big),r=8*e.length,i=new Array(80),o=[1732584193,4023233417,2562383102,271733878,3285377520],s=o[0],a=o[1],u=o[2],c=o[3],p=o[4];n[r>>5]|=128<<24-r%32,n[(r+64>>9<<4)+15]=r;for(var l=0;l<n.length;l+=16){for(var h=[s,a,u,c,p],f=h[0],d=h[1],y=h[2],m=h[3],v=h[4],g=0;80>g;g++){i[g]=16>g?n[l+g]:Nt(i[g-3]^i[g-8]^i[g-14]^i[g-16],1);var _=Et(g,a,u,c),b=_[0],w=_[1],E=[Nt(s,5),b,p,w,i[g]].reduce(Ot);S=[c,u,Nt(a,30),s,E],p=S[0],c=S[1],u=S[2],a=S[3],s=S[4]}C=[Ot(s,f),Ot(a,d),Ot(u,y),Ot(c,m),Ot(p,v)],s=C[0],a=C[1],u=C[2],c=C[3],p=C[4]}return Ut(Vt([s,a,u,c,p]));var S,C}function Et(t,e,n,r){return 20>t?[e&n|~e&r,1518500249]:40>t?[e^n^r,1859775393]:60>t?[e&n|e&r|n&r,2400959708]:[e^n^r,3395469782]}function St(t){var e=Pt(t),n=[xt(e,0),xt(e,102072)],r=n[0],i=n[1];return 0!=r||0!=i&&1!=i||(r=319790063^r,i=-1801410264^i),[r,i]}function Ct(t,e){var n=St(t),r=n[0],i=n[1];if(e){var o=St(e),s=o[0],a=o[1];u=Rt(It([r,i],1),[s,a]),r=u[0],i=u[1]}return Bt(Vt([2147483647&r,i]));var u}function xt(t,e){var n,r=[2654435769,2654435769],i=r[0],o=r[1],s=t.length;for(n=0;s>=n+12;n+=12)i=Ot(i,Lt(t,n,Ec.Little)),o=Ot(o,Lt(t,n+4,Ec.Little)),e=Ot(e,Lt(t,n+8,Ec.Little)),a=Tt([i,o,e]),i=a[0],o=a[1],e=a[2];return i=Ot(i,Lt(t,n,Ec.Little)),o=Ot(o,Lt(t,n+4,Ec.Little)),e=Ot(e,s),e=Ot(e,Lt(t,n+8,Ec.Little)<<8),Tt([i,o,e])[2];var a}function Tt(t){var e=t[0],n=t[1],r=t[2];return e=kt(e,n),e=kt(e,r),e^=r>>>13,n=kt(n,r),n=kt(n,e),n^=e<<8,r=kt(r,e),r=kt(r,n),r^=n>>>13,e=kt(e,n),e=kt(e,r),e^=r>>>12,n=kt(n,r),n=kt(n,e),n^=e<<16,r=kt(r,e),r=kt(r,n),r^=n>>>5,e=kt(e,n),e=kt(e,r),e^=r>>>3,n=kt(n,r),n=kt(n,e),n^=e<<10,r=kt(r,e),r=kt(r,n),r^=n>>>15,[e,n,r]}function Pt(t){for(var e="",n=0;n<t.length;n++){var r=At(t,n);127>=r?e+=String.fromCharCode(r):2047>=r?e+=String.fromCharCode(192|r>>>6,128|63&r):65535>=r?e+=String.fromCharCode(224|r>>>12,128|r>>>6&63,128|63&r):2097151>=r&&(e+=String.fromCharCode(240|r>>>18,128|r>>>12&63,128|r>>>6&63,128|63&r))}return e}function At(t,e){if(0>e||e>=t.length)throw new Error("index="+e+' is out of range in "'+t+'"');var n=t.charCodeAt(e);if(n>=55296&&57343>=n&&t.length>e+1){var r=jt(t,e+1);if(r>=56320&&57343>=r)return 1024*(n-55296)+r-56320+65536}return n}function Ot(t,e){return Mt(t,e)[1]}function Mt(t,e){var n=(65535&t)+(65535&e),r=(t>>>16)+(e>>>16)+(n>>>16);return[r>>>16,r<<16|65535&n]}function Rt(t,e){var n=t[0],r=t[1],i=e[0],o=e[1],s=Mt(r,o),a=s[0],u=s[1],c=Ot(Ot(n,i),a);return[c,u]}function kt(t,e){var n=(65535&t)-(65535&e),r=(t>>16)-(e>>16)+(n>>16);return r<<16|65535&n}function Nt(t,e){return t<<e|t>>>32-e}function It(t,e){var n=t[0],r=t[1],i=n<<e|r>>>32-e,o=r<<e|n>>>32-e;return[i,o]}function Dt(t,e){for(var n=Array(t.length+3>>>2),r=0;r<n.length;r++)n[r]=Lt(t,4*r,e);return n}function jt(t,e){return e>=t.length?0:255&t.charCodeAt(e)}function Lt(t,e,n){var r=0;if(n===Ec.Big)for(var i=0;4>i;i++)r+=jt(t,e+i)<<24-8*i;else for(var i=0;4>i;i++)r+=jt(t,e+i)<<8*i;return r}function Vt(t){return t.reduce(function(t,e){return t+Ft(e)},"")}function Ft(t){for(var e="",n=0;4>n;n++)e+=String.fromCharCode(t>>>8*(3-n)&255);return e}function Ut(t){for(var e="",n=0;n<t.length;n++){var r=jt(t,n);e+=(r>>>4).toString(16)+(15&r).toString(16)}return e.toLowerCase()}function Bt(t){for(var e="",n="1",r=t.length-1;r>=0;r--)e=Ht(e,qt(jt(t,r),n)),n=qt(256,n);return e.split("").reverse().join("")}function Ht(t,e){for(var n="",r=Math.max(t.length,e.length),i=0,o=0;r>i||o;i++){var s=o+ +(t[i]||0)+ +(e[i]||0);s>=10?(o=1,n+=s-10):(o=0,n+=s)}return n}function qt(t,e){for(var n="",r=e;0!==t;t>>>=1)1&t&&(n=Ht(n,r)),r=Ht(r,r);return n}function zt(t){return t.map(function(t){return t.visit(Tc)}).join("")}function Wt(t){return kc.reduce(function(t,e){return t.replace(e[0],e[1])},t)}function Gt(t){switch(t.toLowerCase()){case"br":return"lb";case"img":return"image";default:return"x-"+t}}function Kt(t){return _t(t)}function Xt(t,e,n){return void 0===e&&(e=null),void 0===n&&(n="src"),null==e?"@angular/"+t+"/index":"@angular/"+t+"/"+n+"/"+e}function Qt(t){return Po.resolveIdentifier(t.name,t.moduleUrl,t.runtime)}function Yt(t){var e=Po.resolveIdentifier(t.name,t.moduleUrl,t.runtime);return{reference:e}}function $t(t){return{identifier:t}}function Zt(t){return $t(Yt(t))}function Jt(t,e){var n=Po.resolveEnum(Qt(t),e);return{reference:n}}function te(t){var e=new Cp;return new Ep(X(e,t),e.isExpanded,e.errors)}function ee(t,e){var n=t.cases.map(function(t){-1!=wp.indexOf(t.value)||t.value.match(/^=\d+$/)||e.push(new Sp(t.valueSourceSpan,'Plural cases should be "=<number>" or one of '+wp.join(", ")));var n=te(t.expression);return e.push.apply(e,n.errors),new Nu("template",[new ku("ngPluralCase",""+t.value,t.valueSourceSpan)],n.nodes,t.sourceSpan,t.sourceSpan,t.sourceSpan)}),r=new ku("[ngPlural]",t.switchValue,t.switchValueSourceSpan);return new Nu("ng-container",[r],n,t.sourceSpan,t.sourceSpan,t.sourceSpan)}function ne(t,e){var n=t.cases.map(function(t){var n=te(t.expression);return e.push.apply(e,n.errors),"other"===t.value?new Nu("template",[new ku("ngSwitchDefault","",t.valueSourceSpan)],n.nodes,t.sourceSpan,t.sourceSpan,t.sourceSpan):new Nu("template",[new ku("ngSwitchCase",""+t.value,t.valueSourceSpan)],n.nodes,t.sourceSpan,t.sourceSpan,t.sourceSpan)}),r=new ku("[ngSwitch]",t.switchValue,t.switchValueSourceSpan);return new Nu("ng-container",[r],n,t.sourceSpan,t.sourceSpan,t.sourceSpan)}function re(t,e){var n=e.useExisting,r=e.useValue,i=e.deps;return{token:t.token,useClass:t.useClass,useExisting:n,useFactory:t.useFactory,useValue:r,deps:i,multi:t.multi}}function ie(t,e){var n=e.eager,r=e.providers;return new Qi(t.token,t.multiProvider,t.eager||n,r,t.providerType,t.lifecycleHooks,t.sourceSpan)}function oe(t,e,n){var r=new Map;t.forEach(function(t){var i={token:{identifier:t.type},useClass:t.type};se([i],t.isComponent?Yi.Component:Yi.Directive,!0,e,n,r)});var i=t.filter(function(t){return t.isComponent}).concat(t.filter(function(t){return!t.isComponent}));return i.forEach(function(t){se(t.providers,Yi.PublicService,!1,e,n,r),se(t.viewProviders,Yi.PrivateService,!1,e,n,r)}),r}function se(t,e,n,i,o,s){t.forEach(function(t){var a=s.get(S(t.token));if(r(a)&&!!a.multiProvider!=!!t.multi&&o.push(new Tp("Mixing multi and non multi provider is not possible for token "+E(a.token),i)),a)t.multi||(a.providers.length=0),a.providers.push(t);else{var u=t.token.identifier&&t.token.identifier.lifecycleHooks?t.token.identifier.lifecycleHooks:[];a=new Qi(t.token,t.multi,n||u.length>0,[t],e,u,i),s.set(S(t.token),a)}})}function ae(t){var e=new Map;return t.viewQueries&&t.viewQueries.forEach(function(t){return ce(e,t)}),e}function ue(t){var e=new Map;return t.forEach(function(t){t.queries&&t.queries.forEach(function(t){return ce(e,t)})}),e}function ce(t,e){e.selectors.forEach(function(n){var r=t.get(S(n));r||(r=[],t.set(S(n),r)),r.push(e)})}function pe(t){if(null==t||0===t.length||"/"==t[0])return!1;var e=t.match(Ip);return null===e||"package"==e[1]||"asset"==e[1]}function le(t,e,n){var r=[],i=n.replace(Np,"").replace(kp,function(){for(var n=[],i=0;i<arguments.length;i++)n[i-0]=arguments[i];var o=n[1]||n[2];return pe(o)?(r.push(t.resolve(e,o)),""):n[0]});return new Rp(i,r)}function he(t){return"@"==t[0]}function fe(t,n,r,i){var o=[];return Zo.parse(n).forEach(function(e){var n=e.element?[e.element]:t.allKnownElementNames(),s=new Set(e.notSelectors.filter(function(t){return t.isElementSelector()}).map(function(t){return t.element})),a=n.filter(function(t){return!s.has(t)});o.push.apply(o,a.map(function(e){return t.securityContext(e,r,i)}))}),0===o.length?[e.SecurityContext.NONE]:Array.from(new Set(o)).sort()}function de(t){var e=null,n=null,r=null,i=!1,o=null;t.attrs.forEach(function(t){var s=t.name.toLowerCase();s==Wp?e=t.value:s==Qp?n=t.value:s==Xp?r=t.value:t.name==Jp?i=!0:t.name==tl&&t.value.length>0&&(o=t.value)}),e=ye(e);var s=t.name.toLowerCase(),a=el.OTHER;return p(s)[1]==Gp?a=el.NG_CONTENT:s==$p?a=el.STYLE:s==Zp?a=el.SCRIPT:s==Kp&&r==Yp&&(a=el.STYLESHEET),new nl(a,e,n,i,o)}function ye(t){return null===t||0===t.length?"*":t}function me(t){return t.trim().split(/\s+/g)}function ve(t,e){var n=new Zo,r=p(t)[1];n.setElement(r);for(var i=0;i<e.length;i++){var o=e[i][0],s=p(o)[1],a=e[i][1];if(n.addAttribute(s,a),o.toLowerCase()==bl){var u=me(a);u.forEach(function(t){return n.addClassName(t)})}}return n}function ge(t){return t instanceof Ou&&0==t.value.trim().length}function _e(t){var e=new Map;return t.forEach(function(t){e.get(t.type.reference)||e.set(t.type.reference,t)}),Array.from(e.values())}function be(t,e,n){var r=xe(t.styles,{},e,n,!1),i=new ql(r),o=t.stateNameExpr.split(/\s*,\s*/);return o.map(function(t){return new Fl(t,i)})}function we(t,e,n,r){var i=new Ql,o=[],s=t.stateChangeExpr.split(/\s*,\s*/);s.forEach(function(t){o.push.apply(o,Se(t,r))});var a=Ce(t.steps),u=Te(a,e,n,r),c=Re(u,0,i,e,r);0==r.length&&ke(c,i,r);var p=c instanceof Wl?c:new Kl([c]);return new Bl(o,p)}function Ee(t,e){switch(t){case":enter":return"void => *";case":leave":return"* => void";default:return e.push(new nh('the transition alias value "'+t+'" is not supported')),"* => *"}}function Se(t,e){var n=[];":"==t[0]&&(t=Ee(t,e));var i=t.match(/^(\*|[-\w]+)\s*(<?[=-]>)\s*(\*|[-\w]+)$/);if(!r(i)||i.length<4)return e.push(new nh("the provided "+t+" is not of a supported format")),n;var o=i[1],s=i[2],a=i[3];n.push(new Ul(o,a));var u=o==Do&&a==Do;return"<"!=s[0]||u||n.push(new Ul(a,o)),n}function Ce(t){return Array.isArray(t)?new ws(t):t}function xe(t,e,n,r,i){var o=t.offset;(o>1||0>o)&&r.push(new nh("Offset values for animations must be between 0 and 1"));var s=[];return t.styles.forEach(function(t){if("string"==typeof t)i?s.push.apply(s,Oe(t,e,r)):r.push(new nh("State based animations cannot contain references to other states"));else{var o=t,a={};Object.keys(o).forEach(function(t){var e=n.normalizeAnimationStyleProperty(t),i=n.normalizeAnimationStyleValue(e,t,o[t]),s=i.error;s&&r.push(new nh(s)),a[e]=i.value}),s.push(a)}}),s}function Te(t,e,n,r){
+var i=Ae(t,e,n,r);return t instanceof Es?new Es(i):new ws(i)}function Pe(t,e){if("object"==typeof e&&null!==e&&t.length>0){var n=t.length-1,r=t[n];if("object"==typeof r&&null!==r)return void(t[n]=ro.merge(r,e))}t.push(e)}function Ae(t,e,n,i){var o;if(!(t instanceof bs))return[t];o=t.steps;var s,a=[];return o.forEach(function(t){if(t instanceof gs)r(s)||(s=[]),xe(t,e,n,i,!0).forEach(function(t){Pe(s,t)});else{if(r(s)&&(a.push(new gs(0,s)),s=null),t instanceof _s){var o=t.styles;o instanceof gs?o.styles=xe(o,e,n,i,!0):o instanceof vs&&o.steps.forEach(function(t){t.styles=xe(t,e,n,i,!0)})}else if(t instanceof bs){var u=Ae(t,e,n,i);t=t instanceof Es?new Es(u):new ws(u)}a.push(t)}}),r(s)&&a.push(new gs(0,s)),a}function Oe(t,e,n){var i=[];if(":"!=t[0])n.push(new nh('Animation states via styles must be prefixed with a ":"'));else{var o=t.substring(1),s=e[o];r(s)?s.styles.forEach(function(t){"object"==typeof t&&null!==t&&i.push(t)}):n.push(new nh('Unable to apply styles due to missing a state: "'+o+'"'))}return i}function Me(t,e,n,i,o){var s=t.steps.length,a=0;t.steps.forEach(function(t){return a+=r(t.offset)?1:0}),a>0&&s>a&&(o.push(new nh("Not all style() entries contain an offset for the provided keyframe()")),a=s);var u=s-1,c=0==a?1/u:0,p=[],l=0,h=!1,f=0;t.steps.forEach(function(t){var e=t.offset,n={};t.styles.forEach(function(t){Object.keys(t).forEach(function(e){"offset"!=e&&(n[e]=t[e])})}),r(e)?h=h||f>e:e=l==u?th:c*l,p.push([e,n]),f=e,l++}),h&&p.sort(function(t,e){return t[0]<=e[0]?-1:1});var d=p[0];d[0]!=Jl&&p.splice(0,0,d=[Jl,{}]);var y=d[1];u=p.length-1;var m=p[u];m[0]!=th&&(p.push(m=[th,{}]),u++);for(var v=m[1],g=1;u>=g;g++){var _=p[g],b=_[1];Object.keys(b).forEach(function(t){r(y[t])||(y[t]=Vo)})}for(var w=function(t){var e=p[t],n=e[1];Object.keys(n).forEach(function(t){r(v[t])||(v[t]=n[t])})},g=u-1;g>=0;g--)w(g);return p.map(function(t){return new zl(t[0],new ql([t[1]]))})}function Re(t,e,n,i,o){var s,a=0,u=e;if(t instanceof bs){var c,p=0,l=[],h=t instanceof Es;if(t.steps.forEach(function(t){var s=h?u:e;if(t instanceof gs)return t.styles.forEach(function(t){var e=t;Object.keys(e).forEach(function(t){n.insertAtTime(t,s,e[t])})}),void(c=t.styles);var f=Re(t,s,n,i,o);if(r(c)){if(t instanceof bs){var d=new ql(c);l.push(new Hl(d,[],0,0,""))}else{var y=f;(v=y.startingStyles.styles).push.apply(v,c)}c=null}var m=f.playTime;e+=m,a+=m,p=Math.max(m,p),l.push(f);var v}),r(c)){var f=new ql(c);l.push(new Hl(f,[],0,0,""))}h?(s=new Gl(l),a=p,e=u+a):s=new Kl(l)}else if(t instanceof _s){var d=Ne(t.timings,o),y=t.styles,m=void 0;if(y instanceof vs)m=Me(y,e,n,i,o);else{var v=y,g=th,_=new ql(v.styles),b=new zl(g,_);m=[b]}s=new Hl(new ql([]),m,d.duration,d.delay,d.easing),a=d.duration+d.delay,e+=a,m.forEach(function(t){return t.styles.styles.forEach(function(t){return Object.keys(t).forEach(function(r){n.insertAtTime(r,e,t[r])})})})}else s=new Hl(null,[],0,0,"");return s.playTime=a,s.startTime=u,s}function ke(t,e,n){if(t instanceof Hl&&t.keyframes.length>0){var r=t.keyframes;if(1==r.length){var i=r[0],o=Ie(i,t.startTime,t.playTime,e,n);t.keyframes=[o,i]}}else t instanceof Wl&&t.steps.forEach(function(t){return ke(t,e,n)})}function Ne(t,e){var n,o=/^([\.\d]+)(m?s)(?:\s+([\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?/i,s=0,a=null;if("string"==typeof t){var u=t.match(o);if(null===u)return e.push(new nh('The provided timing value "'+t+'" is invalid.')),new oh(0,0,null);var c=parseFloat(u[1]),p=u[2];"s"==p&&(c*=eh),n=Math.floor(c);var l=u[3],h=u[4];if(r(l)){var f=parseFloat(l);r(h)&&"s"==h&&(f*=eh),s=Math.floor(f)}var d=u[5];i(d)||(a=d)}else n=t;return new oh(n,s,a)}function Ie(t,e,n,i,o){var s={},a=e+n;return t.styles.styles.forEach(function(t){Object.keys(t).forEach(function(n){var u=t[n];if("offset"!=n){var c,p,l,h=i.indexOfAtOrBeforeTime(n,e);r(h)?(c=i.getByIndex(n,h),l=c.value,p=i.getByIndex(n,h+1)):l=Vo,r(p)&&!p.matches(a,u)&&o.push(new nh('The animated CSS property "'+n+'" unexpectedly changes between steps "'+c.time+'ms" and "'+a+'ms" at "'+p.time+'ms"')),s[n]=l}})}),new zl(Jl,new ql([s]))}function De(){return new ph}function je(){return new ph(".")}function Le(t){var e=Fe(t);return e&&e[hh.Scheme]||""}function Ve(t,e,n,i,o,s,a){var u=[];return r(t)&&u.push(t+":"),r(n)&&(u.push("//"),r(e)&&u.push(e+"@"),u.push(n),r(i)&&u.push(":"+i)),r(o)&&u.push(o),r(s)&&u.push("?"+s),r(a)&&u.push("#"+a),u.join("")}function Fe(t){return t.match(lh)}function Ue(t){if("/"==t)return"/";for(var e="/"==t[0]?"/":"",n="/"===t[t.length-1]?"/":"",r=t.split("/"),i=[],o=0,s=0;s<r.length;s++){var a=r[s];switch(a){case"":case".":break;case"..":i.length>0?i.pop():o++;break;default:i.push(a)}}if(""==e){for(;o-->0;)i.unshift("..");0===i.length&&i.push(".")}return e+i.join("/")+n}function Be(t){var e=t[hh.Path];return e=i(e)?"":Ue(e),t[hh.Path]=e,Ve(t[hh.Scheme],t[hh.UserInfo],t[hh.Domain],t[hh.Port],e,t[hh.QueryData],t[hh.Fragment])}function He(t,e){var n=Fe(encodeURI(e)),o=Fe(t);if(r(n[hh.Scheme]))return Be(n);n[hh.Scheme]=o[hh.Scheme];for(var s=hh.Scheme;s<=hh.Port;s++)i(n[s])&&(n[s]=o[s]);if("/"==n[hh.Path][0])return Be(n);var a=o[hh.Path];i(a)&&(a="/");var u=a.lastIndexOf("/");return a=a.substring(0,u+1)+n[hh.Path],n[hh.Path]=a,Be(n)}function qe(t){return t instanceof e.Directive}function ze(t,e,n){var r=new xf(t,e);return n.visitExpression(r,null)}function We(t){var e=new Tf;return e.visitAllStatements(t,null),e.varNames}function Ge(t,e){return void 0===e&&(e=null),new Lh(t,e)}function Ke(t,e){return void 0===e&&(e=null),new Gh(t,null,e)}function Xe(t,e,n){return void 0===e&&(e=null),void 0===n&&(n=null),r(t)?Qe(Ke(t),e,n):null}function Qe(t,e,n){return void 0===e&&(e=null),void 0===n&&(n=null),r(t)?new xh(t,e,n):null}function Ye(t,e){return void 0===e&&(e=null),new ef(t,e)}function $e(t,e,n){return void 0===e&&(e=null),void 0===n&&(n=!1),new rf(t.map(function(t){return new nf(t[0],t[1],n)}),e)}function Ze(t){return new Xh(t)}function Je(t,e,n){return void 0===n&&(n=null),new $h(t,e,n)}function tn(t,e){return void 0===e&&(e=null),new Wh(t,e)}function en(t){var e=""+t.fields.length,n=rn(e);return t.fields.push(new mf(n.name,null,[cf.Private])),t.ctorStmts.push(of.prop(n.name).set(Ke(Yt(_p.UNINITIALIZED))).toStmt()),new Pf(n,e)}function nn(t,e,n,r){var i=Ke(Yt(_p.checkBinding)).callFn([n,e,t.currValExpr]);return t.forceUpdate&&(i=t.forceUpdate.or(i)),t.stmts.concat([new bf(i,r.concat([of.prop(e.name).set(t.currValExpr).toStmt()]))])}function rn(t){return of.prop("_expr_"+t)}function on(t){return r(t.value)?tn(t.value):Ke(t.identifier)}function sn(t){if(0===t.length)return Ke(Yt(_p.EMPTY_INLINE_ARRAY));var e=Math.log(t.length)/Math.log(2),n=Math.ceil(e),r=n<_p.inlineArrays.length?_p.inlineArrays[n]:_p.InlineArrayDynamic,i=Yt(r);return Ke(i).instantiate([tn(t.length)].concat(t))}function an(t,e,n,r){r.fields.push(new mf(n.name,null));var i=e<_p.pureProxies.length?_p.pureProxies[e]:null;if(!i)throw new Error("Unsupported number of argument for pure functions: "+e);r.ctorStmts.push(of.prop(n.name).set(Ke(Yt(i)).callFn([t])).toStmt())}function un(t,e){var n=Object.keys(t.runtime).find(function(n){return t.runtime[n]===e});if(!n)throw new Error("Unknown enum value "+e+" in "+t.name);return Ke(Jt(t,n))}function cn(t,e,n,r,i){var o=wn(i),s=[];e||(e=new If);var a=new Nf(t,e,n,Af,i,!1),u=r.visit(a,kf.Expression);if(!u)return null;if(a.temporaryCount)for(var c=0;c<a.temporaryCount;c++)s.push(fn(i,c));if(a.needsValueUnwrapper){var p=Af.callMethod("reset",[]).toStmt();s.push(p)}return s.push(o.set(u).toDeclStmt(null,[cf.Final])),a.needsValueUnwrapper?new Mf(s,o,Af.prop("hasWrappedValue")):new Mf(s,o,null)}function pn(t,e,n,r,i){e||(e=new If);var o=new Nf(t,e,n,null,i,!0),s=[];gn(r.visit(o,kf.Statement),s),dn(o.temporaryCount,i,s);var a=s.length-1,u=null;if(a>=0){var c=s[a],p=Sn(c);p&&(u=En(i),s[a]=u.set(p.cast(Ah).notIdentical(tn(!1))).toDeclStmt(null,[cf.Final]))}return new Rf(s,u)}function ln(t){var e=[],n=We(t);return n.has(Af.name)&&e.push(Af.set(Ke(Yt(_p.ValueUnwrapper)).instantiate([])).toDeclStmt(null,[cf.Final])),e}function hn(t,e){return"tmp_"+t+"_"+e}function fn(t,e){return new lf(hn(t,e),af)}function dn(t,e,n){for(var r=t-1;r>=0;r--)n.unshift(fn(e,r))}function yn(t,e){if(t!==kf.Statement)throw new Error("Expected a statement, but saw "+e)}function mn(t,e){if(t!==kf.Expression)throw new Error("Expected an expression, but saw "+e)}function vn(t,e){return t===kf.Statement?e.toStmt():e}function gn(t,e){Array.isArray(t)?t.forEach(function(t){return gn(t,e)}):e.push(t)}function _n(t,e){if(0===e.length)return Ke(Yt(_p.EMPTY_ARRAY));for(var n=of.prop("_arr_"+t.fields.length),r=[],i=[],o=0;o<e.length;o++){var s="p"+o;r.push(new Yh(s)),i.push(Ge(s))}return an(Je(r,[new df(Ye(i))],new Th(Ah)),e.length,n,t),n.callFn(e)}function bn(t,e){if(0===e.length)return Ke(Yt(_p.EMPTY_MAP));for(var n=of.prop("_map_"+t.fields.length),r=[],i=[],o=[],s=0;s<e.length;s++){var a="p"+s;r.push(new Yh(a)),i.push([e[s][0],Ge(a)]),o.push(e[s][1])}return an(Je(r,[new df($e(i))],new Ph(Ah)),e.length,n,t),n.callFn(o)}function wn(t){return Ge("currVal_"+t)}function En(t){return Ge("pd_"+t)}function Sn(t){return t instanceof ff?t.expr:t instanceof df?t.value:null}function Cn(t,e,n,i,o,s){var a=[],u=t.prop("renderer");switch(i=xn(t,e,i,s),e.type){case Zi.Property:o&&a.push(Ke(Yt(_p.setBindingDebugInfo)).callFn([u,n,tn(e.name),i]).toStmt()),a.push(u.callMethod("setElementProperty",[n,tn(e.name),i]).toStmt());break;case Zi.Attribute:i=i.isBlank().conditional(af,i.callMethod("toString",[])),a.push(u.callMethod("setElementAttribute",[n,tn(e.name),i]).toStmt());break;case Zi.Class:a.push(u.callMethod("setElementClass",[n,tn(e.name),i]).toStmt());break;case Zi.Style:var c=i.callMethod("toString",[]);r(e.unit)&&(c=c.plus(tn(e.unit))),i=i.isBlank().conditional(af,c),a.push(u.callMethod("setElementStyle",[n,tn(e.name),i]).toStmt());break;case Zi.Animation:throw new Error("Illegal state: Should not come here!")}return a}function xn(t,n,r,i){if(n.securityContext===e.SecurityContext.NONE)return r;if(n.needsRuntimeSecurityContext||(i=un(_p.SecurityContext,n.securityContext)),!i)throw new Error("internal error, no SecurityContext given "+n.name);var o=t.prop("viewUtils").prop("sanitizer"),s=[i,r];return o.callMethod("sanitize",s)}function Tn(t,e,n,r,i,o,s,a){var u=[],c=[],p=n.name,l=e.prop("componentType").prop("animations").key(tn(p)),h=tn(Lo),f=Ke(Yt(_p.UNINITIALIZED)),d=Ge("animationTransition_"+p);c.push(d.set(l.callFn([t,o,a.equals(f).conditional(h,a),s.equals(f).conditional(h,s)])).toDeclStmt()),u.push(d.set(l.callFn([t,o,a,h])).toDeclStmt());var y=[],m=r.find(function(t){return t.isAnimation&&t.name==p&&"start"==t.phase});m&&y.push(d.callMethod("onStart",[i.callMethod(Bh.Bind,[t,tn(Hi.calcFullName(p,null,"start"))])]).toStmt());var v=r.find(function(t){return t.isAnimation&&t.name==p&&"done"==t.phase});return v&&y.push(d.callMethod("onDone",[i.callMethod(Bh.Bind,[t,tn(Hi.calcFullName(p,null,"done"))])]).toStmt()),c.push.apply(c,y),u.push.apply(u,y),{updateStmts:c,detachStmts:u}}function Pn(t){var e=t.parentArgs||[],n=t.parent?[sf.callFn(e).toStmt()]:[],r=An(Array.isArray(t.builders)?t.builders:[t.builders]),i=new vf(null,t.ctorParams||[],n.concat(r.ctorStmts));return new _f(t.name,t.parent,r.fields,r.getters,i,r.methods,t.modifiers||[])}function An(t){return{fields:(e=[]).concat.apply(e,t.map(function(t){return t.fields||[]})),methods:(n=[]).concat.apply(n,t.map(function(t){return t.methods||[]})),getters:(r=[]).concat.apply(r,t.map(function(t){return t.getters||[]})),ctorStmts:(i=[]).concat.apply(i,t.map(function(t){return t.ctorStmts||[]}))};var e,n,r,i}function On(t){var e=Ge("changed"),n=[e.set(of.prop(Uf)).toDeclStmt(),of.prop(Uf).set(tn(!1)).toStmt()],r=[];if(t.genChanges){var i=[];t.ngOnChanges&&i.push(of.prop(Vf).callMethod("ngOnChanges",[of.prop(Ff)]).toStmt()),t.compilerConfig.logBindingUpdate&&i.push(Ke(Yt(_p.setBindingDebugInfoForChanges)).callFn([Wf.prop("renderer"),Kf,of.prop(Ff)]).toStmt()),i.push(Qf),r.push(new bf(e,i))}t.ngOnInit&&r.push(new bf(Wf.prop("numberOfChecks").identical(new Wh(0)),[of.prop(Vf).callMethod("ngOnInit",[]).toStmt()])),t.ngDoCheck&&r.push(of.prop(Vf).callMethod("ngDoCheck",[]).toStmt()),r.length>0&&n.push(new bf(Ze(qf),r)),n.push(new df(e)),t.methods.push(new vf("ngDoCheck",[new Yh(Wf.name,Xe(Yt(_p.AppView),[Ah])),new Yh(Kf.name,Ah),new Yh(qf.name,Oh)],n,Oh))}function Mn(t,e){var n=en(e),r=[of.prop(Uf).set(tn(!0)).toStmt(),of.prop(Vf).prop(t).set(Hf).toStmt()];e.genChanges&&r.push(of.prop(Ff).key(tn(t)).set(Ke(Yt(_p.SimpleChange)).instantiate([n.expression,Hf])).toStmt());var i=nn({currValExpr:Hf,forceUpdate:zf,stmts:[]},n.expression,qf,r);e.methods.push(new vf("check_"+t,[new Yh(Hf.name,Ah),new Yh(qf.name,Oh),new Yh(zf.name,Oh)],i))}function Rn(t,e,n){var r=[],i=[new Yh(Wf.name,Xe(Yt(_p.AppView),[Ah])),new Yh(Gf.name,Xe(Yt(_p.AppView),[Ah])),new Yh(Kf.name,Ah),new Yh(qf.name,Oh)];t.forEach(function(t){var o=en(n),s=cn(n,null,of.prop(Vf),t.value,o.bindingId);if(s){var a;t.needsRuntimeSecurityContext&&(a=Ge("secCtx_"+i.length),i.push(new Yh(a.name,Xe(Yt(_p.SecurityContext)))));var u;if(t.isAnimation){var c=Tn(Wf,Gf,t,e,of.prop(Bf).or(Ke(Yt(_p.noop))),Kf,s.currValExpr,o.expression),p=c.updateStmts,l=c.detachStmts;u=p,(h=n.detachStmts).push.apply(h,l)}else u=Cn(Wf,t,Kf,s.currValExpr,n.compilerConfig.logBindingUpdate,a);r.push.apply(r,nn(s,o.expression,qf,u));var h}}),n.methods.push(new vf("checkHost",i,r))}function kn(t,e){var n=Ge("result"),r=[n.set(tn(!0)).toDeclStmt(Oh)];t.forEach(function(t,i){var o=pn(e,null,of.prop(Vf),t.handler,"sub_"+i),s=o.stmts;o.preventDefault&&s.push(n.set(o.preventDefault.and(n)).toStmt()),r.push(new bf(Xf.equals(tn(t.fullName)),s))}),r.push(new df(n)),e.methods.push(new vf("handleEvent",[new Yh(Xf.name,Rh),new Yh(Of.event.name,Ah)],r,Oh))}function Nn(t,e){var n=[new Yh(Wf.name,Xe(Yt(_p.AppView),[Ah])),new Yh(Bf,Ah)],r=[of.prop(Bf).set(Ge(Bf)).toStmt()];Object.keys(t.outputs).forEach(function(i,o){var s=t.outputs[i],a="emit"+o;n.push(new Yh(a,Oh));var u="subscription"+o;e.fields.push(new mf(u,Ah)),r.push(new bf(Ge(a),[of.prop(u).set(of.prop(Vf).prop(i).callMethod(Bh.SubscribeObservable,[Ge(Bf).callMethod(Bh.Bind,[Wf,tn(s)])])).toStmt()])),e.destroyStmts.push(of.prop(u).and(of.prop(u).callMethod("unsubscribe",[])).toStmt())}),e.methods.push(new vf("subscribe",n,r))}function In(t,e,n){var r=[],i=new qp(e,Da,n,[],r),o=w(t.type),s=o?"in Directive "+b(t.type)+" in "+o:"in Directive "+b(t.type),a=new xu("",s),u=new Tu(new Cu(a,null,null,null),new Cu(a,null,null,null)),c=i.createDirectiveHostPropertyAsts(t.toSummary(),u),p=i.createDirectiveHostEventAsts(t.toSummary(),u);return new Zf(c,p,r)}function Dn(t){var e=t.filter(function(t){return t.level===Pu.WARNING}),n=t.filter(function(t){return t.level===Pu.FATAL});if(e.length>0&&this._console.warn("Directive parse warnings:\n"+e.join("\n")),n.length>0)throw new Error("Directive parse errors:\n"+n.join("\n"))}function jn(t,e){return Po.hasLifecycleHook(e,Ln(t))}function Ln(t){switch(t){case ao.OnInit:return"ngOnInit";case ao.OnDestroy:return"ngOnDestroy";case ao.DoCheck:return"ngDoCheck";case ao.OnChanges:return"ngOnChanges";case ao.AfterContentInit:return"ngAfterContentInit";case ao.AfterContentChecked:return"ngAfterContentChecked";case ao.AfterViewInit:return"ngAfterViewInit";case ao.AfterViewChecked:return"ngAfterViewChecked"}}function Vn(t){return t instanceof e.NgModule}function Fn(t){return t instanceof e.Pipe}function Un(t,n){if(void 0===n&&(n=[]),t)for(var r=0;r<t.length;r++){var i=e.resolveForwardRef(t[r]);Array.isArray(i)?Un(i,n):n.push(i)}return n}function Bn(t){return t?Array.from(new Set(t)):[]}function Hn(t){return Bn(Un(t))}function qn(t){return t instanceof Ji||t instanceof e.Type}function zn(t,e,n){if(e instanceof Ji)return e.filePath;var r=n.moduleId;if("string"==typeof r){var i=Le(r);return i?r:"package:"+r+os}if(null!==r&&void 0!==r)throw new cs('moduleId should be a string in "'+Gn(e)+"\". See https://goo.gl/wIDDiL for more information.\nIf you're using Webpack you should inline the template and the styles, see https://goo.gl/X2J8zc.");return t.importUri(e)}function Wn(t,e){g(t,new dd,e)}function Gn(t){return t instanceof Ji?t.name+" in "+t.filePath:s(t)}function Kn(t,e){return void 0===e&&(e=null),g(t,new md,e)}function Xn(t,e,n){if(void 0===n&&(n=!0),i(t))return null;var r=t.replace(xd,function(){for(var t=[],n=0;n<arguments.length;n++)t[n-0]=arguments[n];return"$"==t[0]?e?"\\$":"$":"\n"==t[0]?"\\n":"\r"==t[0]?"\\r":"\\"+t[0]}),o=n||!Td.test(r);return o?"'"+r+"'":r}function Qn(t){for(var e="",n=0;t>n;n++)e+="  ";return e}function Yn(t){var e=new Dd(Nd),n=Md.createRoot([]),r=Array.isArray(t)?t:[t];return r.forEach(function(t){if(t instanceof pf)t.visitStatement(e,n);else if(t instanceof Dh)t.visitExpression(e,n);else{if(!(t instanceof Eh))throw new Error("Don't know how to print debug info for "+t);t.visitType(e,n)}}),n.toSource()}function $n(t,e){for(var n=0,r=e;n<r.length;n++){var i=r[n];jd[i.toLowerCase()]=t}}function Zn(t){switch(t){case"width":case"height":case"minWidth":case"minHeight":case"maxWidth":case"maxHeight":case"left":case"top":case"bottom":case"right":case"fontSize":case"outlineWidth":case"outlineOffset":case"paddingTop":case"paddingLeft":case"paddingBottom":case"paddingRight":case"marginTop":case"marginLeft":case"marginBottom":case"marginRight":case"borderRadius":case"borderWidth":case"borderTopWidth":case"borderLeftWidth":case"borderRightWidth":case"borderBottomWidth":case"textIndent":return!0;default:return!1}}function Jn(t){return t.replace(ly,"")}function tr(t){var e=t.match(hy);return e?e[0]:""}function er(t,e){var n=nr(t),r=0;return n.escapedString.replace(fy,function(){for(var t=[],i=0;i<arguments.length;i++)t[i-0]=arguments[i];var o=t[2],s="",a=t[4],u="";a&&a.startsWith("{"+vy)&&(s=n.blocks[r++],a=a.substring(vy.length+1),u="{");var c=e(new gy(o,s));return""+t[1]+c.selector+t[3]+u+c.content+a})}function nr(t){for(var e=t.split(dy),n=[],r=[],i=0,o=[],s=0;s<e.length;s++){var a=e[s];a==my&&i--,i>0?o.push(a):(o.length>0&&(r.push(o.join("")),n.push(vy),o=[]),n.push(a)),a==yy&&i++}return o.length>0&&(r.push(o.join("")),n.push(vy)),new _y(n.join(""),r)}function rr(t){var e="styles";return t&&(e+="_"+b(t.type)),e}function ir(t,e,n){if(e===n)return t;for(var r=of,i=e;i!==n&&i.declarationElement.view;)i=i.declarationElement.view,r=r.prop("parentView");if(i!==n)throw new Error("Internal error: Could not calculate a property in a parent view: "+t);return t.visitExpression(new Ny(r,n),null)}function or(t,e,n){var r;r=t.viewType===go.HOST?of:of.prop("parentView");var i=[on(e),of.prop("parentIndex")];return n&&i.push(af),r.callMethod("injectorGet",i)}function sr(t,e){return"View_"+b(t.type)+e}function ar(t){return"handleEvent_"+t}function ur(t){return io.flatten(t.values.map(function(t){return t instanceof Iy?cr(t.view.declarationElement.viewContainer,t.view,ur(t)):t}))}function cr(t,e,n){var r=n.map(function(t){return ze(of.name,Ge("nestedView"),t)});return t.callMethod("mapNestedViews",[Ge(e.className),Je([new Yh("nestedView",e.classType)],[new df(Ye(r))],Ah)])}function pr(t,e){e.fields.push(new mf(t,Xe(Yt(_p.QueryList),[Ah])));var n=of.prop(t);return e.createMethod.addStmt(of.prop(t).set(Ke(Yt(_p.QueryList),[Ah]).instantiate([])).toStmt()),n}function lr(t,e){e.meta.selectors.forEach(function(n){var r=t.get(S(n));r||(r=[],t.set(S(n),r)),r.push(e)})}function hr(t,e,n,r){var i;return i=e>0?tn(t).lowerEquals(By.requestNodeIndex).and(By.requestNodeIndex.lowerEquals(tn(t+e))):tn(t).identical(By.requestNodeIndex),new bf(By.token.identical(on(n.token)).and(i),[new df(r)])}function fr(t,e,n,r,i){var o,s,a=i.view;if(n?(o=Ye(e),s=new Th(Ah)):(o=e[0],s=e[0].type),s||(s=Ah),r)a.fields.push(new mf(t,s)),a.createMethod.addStmt(of.prop(t).set(o).toStmt());else{var u="_"+t;a.fields.push(new mf(u,s));var c=new Ry(a);c.resetDebugInfo(i.nodeIndex,i.sourceAst),c.addStmt(new bf(of.prop(u).isBlank(),[of.prop(u).set(o).toStmt()])),c.addStmt(new df(of.prop(u))),a.getters.push(new gf(t,c.finish(),s))}return of.prop(t)}function dr(t,e){for(var n=null,r=t.pipeMetas.length-1;r>=0;r--){var i=t.pipeMetas[r];if(i.name==e){n=i;break}}if(!n)throw new Error("Illegal state: Could not find pipe "+e+" although the parser should have detected this error!");return n}function yr(t,e){return e>0?go.EMBEDDED:t.isHost?go.HOST:go.COMPONENT}function mr(t,e,n,r){var i=vr(t,e);return i.size?(r&&gr(i,n),_r(i,e,n),br(t,e,n),!0):!1}function vr(t,e){var n=new Map;return t.forEach(function(t){n.set(t.fullName,t)}),e.forEach(function(t){t.hostEvents.forEach(function(t){n.set(t.fullName,t)})}),n}function gr(t,e){var n=[];if(t.forEach(function(t){t.phase||n.push(tn(t.name),tn(t.target))}),n.length){var r=Ge("disposable_"+e.view.disposables.length);e.view.disposables.push(r),e.view.createMethod.addStmt(r.set(Ke(Yt(_p.subscribeToRenderElement)).callFn([of,e.renderNode,sn(n),wr(e)])).toDeclStmt(kh,[cf.Private]))}}function _r(t,e,n){var r=Array.from(t.keys());e.forEach(function(t){var e=n.directiveWrapperInstance.get(t.directive.type.reference);n.view.createMethod.addStmts(Jf.subscribe(t.directive,t.hostProperties,r,e,of,wr(n)))})}function br(t,e,n){var r=e.some(function(t){return t.hostEvents.some(function(){return t.directive.isComponent})}),i=r?n.compViewExpr:of,o=new Ry(n.view);o.resetDebugInfo(n.nodeIndex,n.sourceAst),o.push(i.callMethod("markPathToRootAsCheckOnce",[]).toStmt());var s=Ge("eventName"),a=Ge("result");o.push(a.set(tn(!0)).toDeclStmt(Oh)),e.forEach(function(t){var e=n.directiveWrapperInstance.get(t.directive.type.reference);t.hostEvents.length>0&&o.push(a.set(Jf.handleEvent(t.hostEvents,e,s,Of.event).and(a)).toStmt())}),t.forEach(function(t,e){var r=pn(n.view,n.view,n.view.componentContext,t.handler,"sub_"+e),i=r.stmts;r.preventDefault&&i.push(a.set(r.preventDefault.and(a)).toStmt()),o.push(new bf(s.equals(tn(t.fullName)),i))}),o.push(new df(a)),n.view.methods.push(new vf(ar(n.nodeIndex),[new Yh(s.name,Rh),new Yh(Of.event.name,Ah)],o.finish(),Oh))}function wr(t){var e=ar(t.nodeIndex);return of.callMethod("eventHandler",[of.prop(e)])}function Er(t,e,n){var r=n.view,i=t.type.lifecycleHooks,o=r.afterContentLifecycleCallbacksMethod;o.resetDebugInfo(n.nodeIndex,n.sourceAst),-1!==i.indexOf(ao.AfterContentInit)&&o.addStmt(new bf(Jy,[e.callMethod("ngAfterContentInit",[]).toStmt()])),-1!==i.indexOf(ao.AfterContentChecked)&&o.addStmt(e.callMethod("ngAfterContentChecked",[]).toStmt())}function Sr(t,e,n){var r=n.view,i=t.type.lifecycleHooks,o=r.afterViewLifecycleCallbacksMethod;o.resetDebugInfo(n.nodeIndex,n.sourceAst),-1!==i.indexOf(ao.AfterViewInit)&&o.addStmt(new bf(Jy,[e.callMethod("ngAfterViewInit",[]).toStmt()])),-1!==i.indexOf(ao.AfterViewChecked)&&o.addStmt(e.callMethod("ngAfterViewChecked",[]).toStmt())}function Cr(t,e,n){n.view.destroyMethod.addStmts(Jf.ngOnDestroy(t.directive,e)),n.view.detachMethod.addStmts(Jf.ngOnDetach(t.hostProperties,e,of,n.compViewExpr||of,n.renderNode))}function xr(t,e,n){var r=n.view.destroyMethod;r.resetDebugInfo(n.nodeIndex,n.sourceAst),t.providerType!==Yi.Directive&&t.providerType!==Yi.Component&&-1!==t.lifecycleHooks.indexOf(ao.OnDestroy)&&r.addStmt(e.callMethod("ngOnDestroy",[]).toStmt())}function Tr(t,e,n){var r=n.destroyMethod;-1!==t.type.lifecycleHooks.indexOf(ao.OnDestroy)&&r.addStmt(e.callMethod("ngOnDestroy",[]).toStmt())}function Pr(t,e,n){var r=en(n),i=cn(n,n,n.componentContext,t.value,r.bindingId);return i?(n.detectChangesRenderPropertiesMethod.resetDebugInfo(e.nodeIndex,t),void n.detectChangesRenderPropertiesMethod.addStmts(nn(i,r.expression,Hy.throwOnChange,[of.prop("renderer").callMethod("setText",[e.renderNode,i.currValExpr]).toStmt()]))):null}function Ar(t,e,n,r){var i=r.view,o=r.renderNode;t.forEach(function(t){var s=en(i);i.detectChangesRenderPropertiesMethod.resetDebugInfo(r.nodeIndex,t);var a=cn(i,i,r.view.componentContext,t.value,s.bindingId);if(a){var u=[],c=i.detectChangesRenderPropertiesMethod;switch(t.type){case Zi.Property:case Zi.Attribute:case Zi.Class:case Zi.Style:u.push.apply(u,Cn(of,t,o,a.currValExpr,i.genConfig.logBindingUpdate));break;case Zi.Animation:c=i.animationBindingsMethod;var p=Tn(of,of,t,e,(n?of.prop(ar(r.nodeIndex)):Ke(Yt(_p.noop))).callMethod(Bh.Bind,[of]),r.renderNode,a.currValExpr,s.expression),l=p.updateStmts,h=p.detachStmts;u.push.apply(u,l),i.detachMethod.addStmts(h)}c.addStmts(nn(a,s.expression,Hy.throwOnChange,u))}})}function Or(t,e,n,r,i){var o=t.hostProperties.filter(function(t){return t.needsRuntimeSecurityContext}).map(function(t){var e;switch(t.type){case Zi.Property:e=i.securityContext(r,t.name,!1);break;case Zi.Attribute:e=i.securityContext(r,t.name,!0);break;default:throw new Error("Illegal state: Only property / attribute bindings can have an unknown security context! Binding "+t.name)}return un(_p.SecurityContext,e)});n.view.detectChangesRenderPropertiesMethod.addStmts(Jf.checkHost(t.hostProperties,e,of,n.compViewExpr||of,n.renderNode,Hy.throwOnChange,o))}function Mr(t,e,n,r){var i=r.view,o=i.detectChangesInInputsMethod;o.resetDebugInfo(r.nodeIndex,r.sourceAst),t.inputs.forEach(function(t,s){var a=r.nodeIndex+"_"+n+"_"+s;o.resetDebugInfo(r.nodeIndex,t);var u=cn(i,i,i.componentContext,t.value,a);u&&(o.addStmts(u.stmts),o.addStmt(e.callMethod("check_"+t.directiveName,[u.currValExpr,Hy.throwOnChange,u.forceUpdate||tn(!1)]).toStmt()))});var s=t.directive.isComponent&&!oo(t.directive.changeDetection),a=Jf.ngDoCheck(e,of,r.renderNode,Hy.throwOnChange),u=s?new bf(a,[r.compViewExpr.callMethod("markAsCheckOnce",[]).toStmt()]):a.toStmt();o.addStmt(u)}function Rr(t){var e=[];t.getProviderTokens().forEach(function(n){var r=t.getQueriesFor(n);e.push.apply(e,r.map(function(t){return new tm(t,n)}))}),Object.keys(t.referenceTokens).forEach(function(n){var r={value:n};e.push.apply(e,t.getQueriesFor(r).map(function(t){return new tm(t,r)}))}),e.forEach(function(e){var n;if(e.read.identifier)n=t.instances.get(S(e.read));else{var r=t.referenceTokens[e.read.value];n=r?t.instances.get(S(r)):t.elementRef}n&&e.query.addValue(n,t.view)})}function kr(t,e,r){var i=new em(t,r);n(i,e),t.pipes.forEach(function(t){Tr(t.meta,t.instance,t.view)})}function Nr(t,e,r){var i=new um(t,r),o=t.declarationElement.isNull()?t.declarationElement:t.declarationElement.parent;return n(i,e,o),(t.viewType===go.EMBEDDED||t.viewType===go.HOST)&&(t.lastRenderNode=i.getOrCreateLastRenderNode()),i.nestedViewCount}function Ir(t,e){t.nodes.forEach(function(t){t instanceof Xy&&(t.finish(),t.hasEmbeddedView&&Ir(t.embeddedView,e))}),t.finish(),Br(t,e)}function Dr(t){for(var e=t.view;Lr(t.parent,e);)t=t.parent;return t}function jr(t){for(var e=t.view;Lr(t,e);)t=t.parent;return t}function Lr(t,e){return!t.isNull()&&t.sourceAst.name===om&&t.view===e}function Vr(t,e){var n={};Object.keys(t).forEach(function(e){n[e]=t[e]}),e.forEach(function(t){Object.keys(t.hostAttributes).forEach(function(e){var i=t.hostAttributes[e],o=n[e];n[e]=r(o)?Ur(e,o,i):i})});var i=[];return Object.keys(n).sort().forEach(function(t){i.push(t,n[t])}),i}function Fr(t){var e={};return t.forEach(function(t){e[t.name]=t.value}),e}function Ur(t,e,n){return t==rm||t==im?e+" "+n:n}function Br(t,e){var n=af;t.genConfig.genDebugInfo&&(n=Ge("nodeDebugInfos_"+b(t.component.type)+t.viewIndex),e.push(n.set(Ye(t.nodes.map(Hr),new Th(Xe(Yt(_p.StaticNodeDebugInfo)),[wh.Const]))).toDeclStmt(null,[cf.Final])));var r=Ge("renderType_"+b(t.component.type));if(0===t.viewIndex){var i=void 0;i=t.component.template.templateUrl==w(t.component.type)?w(t.component.type)+" class "+b(t.component.type)+" - inline template":t.component.template.templateUrl,e.push(r.set(Ke(Yt(_p.createRenderComponentType)).callFn([tn(t.genConfig.genDebugInfo?i:""),tn(t.component.template.ngContentSelectors.length),Ly.fromValue(t.component.template.encapsulation),t.styles,$e(t.animations.map(function(t){return[t.name,t.fnExp]}),null,!0)])).toDeclStmt(Xe(Yt(_p.RenderComponentType))))}var o=qr(t,r,n);e.push(o)}function Hr(t){var e=t instanceof Xy?t:null,n=[],i=af,o=[];return r(e)&&(n=e.getProviderTokens().map(function(t){return on(t)}),r(e.component)&&(i=on($t(e.component.type))),Object.keys(e.referenceTokens).forEach(function(t){var n=e.referenceTokens[t];o.push([t,r(n)?on(n):af])})),Ke(Yt(_p.StaticNodeDebugInfo)).instantiate([Ye(n,new Th(Ah,[wh.Const])),i,$e(o,new Ph(Ah,[wh.Const]))],Xe(Yt(_p.StaticNodeDebugInfo),null,[wh.Const]))}function qr(t,e,n){var r=[new Yh(Fy.viewUtils.name,Xe(Yt(_p.ViewUtils))),new Yh(Fy.parentView.name,Xe(Yt(_p.AppView),[Ah])),new Yh(Fy.parentIndex.name,Mh),new Yh(Fy.parentElement.name,Ah)],i=[Ge(t.className),e,jy.fromValue(t.viewType),Fy.viewUtils,Fy.parentView,Fy.parentIndex,Fy.parentElement,Vy.fromValue(Qr(t))];t.genConfig.genDebugInfo&&i.push(n),t.viewType===go.EMBEDDED&&(r.push(new Yh("declaredViewContainer",Xe(Yt(_p.ViewContainer)))),i.push(Ge("declaredViewContainer")));var o=[new vf("createInternal",[new Yh(am.name,Rh)],Wr(t),Xe(Yt(_p.ComponentRef),[Ah])),new vf("injectorGetInternal",[new Yh(By.token.name,Ah),new Yh(By.requestNodeIndex.name,Mh),new Yh(By.notFoundResult.name,Ah)],Kr(t.injectorGetMethod.finish(),By.notFoundResult),Ah),new vf("detectChangesInternal",[new Yh(Hy.throwOnChange.name,Oh)],Gr(t)),new vf("dirtyParentQueriesInternal",[],t.dirtyParentQueriesMethod.finish()),new vf("destroyInternal",[],zr(t)),new vf("detachInternal",[],t.detachMethod.finish()),Yr(t),$r(t),Jr(t)].filter(function(t){return t.body.length>0}),s=t.genConfig.genDebugInfo?_p.DebugAppView:_p.AppView,a=Pn({name:t.className,parent:Ke(Yt(s),[Xr(t)]),parentArgs:i,ctorParams:r,builders:[{methods:o},t]});return a}function zr(t){var e=[];return t.viewContainers.forEach(function(t){e.push(t.callMethod("destroyNestedViews",[]).toStmt())}),t.viewChildren.forEach(function(t){e.push(t.callMethod("destroy",[]).toStmt())}),e.push.apply(e,t.destroyMethod.finish()),e}function Wr(t){var e=af,n=[];t.viewType===go.COMPONENT&&(e=Uy.renderer.callMethod("createViewRoot",[of.prop("parentElement")]),n=[sm.set(e).toDeclStmt(Xe(t.genConfig.renderTypes.renderNode),[cf.Final])]);var r;if(t.viewType===go.HOST){var i=t.nodes[0];r=Ke(Yt(_p.ComponentRef_),[Ah]).instantiate([tn(i.nodeIndex),of,i.renderNode,i.getComponent()])}else r=af;var o=Uy.renderer.cast(Ah).prop("directRenderer").conditional(af,Ye(t.nodes.map(function(t){return t.renderNode})));return n.concat(t.createMethod.finish(),[of.callMethod("init",[t.lastRenderNode,o,t.disposables.length?Ye(t.disposables):af]).toStmt(),new df(r)])}function Gr(t){var e=[];if(t.animationBindingsMethod.isEmpty()&&t.detectChangesInInputsMethod.isEmpty()&&t.updateContentQueriesMethod.isEmpty()&&t.afterContentLifecycleCallbacksMethod.isEmpty()&&t.detectChangesRenderPropertiesMethod.isEmpty()&&t.updateViewQueriesMethod.isEmpty()&&t.afterViewLifecycleCallbacksMethod.isEmpty()&&0===t.viewContainers.length&&0===t.viewChildren.length)return e;e.push.apply(e,t.animationBindingsMethod.finish()),e.push.apply(e,t.detectChangesInInputsMethod.finish()),t.viewContainers.forEach(function(t){e.push(t.callMethod("detectChangesInNestedViews",[Hy.throwOnChange]).toStmt())});var n=t.updateContentQueriesMethod.finish().concat(t.afterContentLifecycleCallbacksMethod.finish());n.length>0&&e.push(new bf(Ze(Hy.throwOnChange),n)),e.push.apply(e,t.detectChangesRenderPropertiesMethod.finish()),t.viewChildren.forEach(function(t){e.push(t.callMethod("internalDetectChanges",[Hy.throwOnChange]).toStmt())});var r=t.updateViewQueriesMethod.finish().concat(t.afterViewLifecycleCallbacksMethod.finish());r.length>0&&e.push(new bf(Ze(Hy.throwOnChange),r));var i=[],o=We(e);return o.has(Hy.changed.name)&&i.push(Hy.changed.set(tn(!0)).toDeclStmt(Oh)),o.has(Hy.changes.name)&&i.push(Hy.changes.set(af).toDeclStmt(new Ph(Xe(Yt(_p.SimpleChange))))),i.push.apply(i,ln(e)),i.concat(e)}function Kr(t,e){return t.length>0?t.concat([new df(e)]):t}function Xr(t){return t.viewType===go.COMPONENT?Xe(t.component.type):Ah}function Qr(t){var e;return e=t.viewType===go.COMPONENT?oo(t.component.changeDetection)?so.CheckAlways:so.CheckOnce:so.CheckAlways}function Yr(t){
+var e=Ge("cb"),n=Ge("ctx"),r=Zr(t.rootNodes,e,n);return new vf("visitRootNodesInternal",[new Yh(e.name,Ah),new Yh(n.name,Ah)],r)}function $r(t){var e=Ge("nodeIndex"),n=Ge("ngContentIndex"),r=Ge("cb"),i=Ge("ctx"),o=[];return t.nodes.forEach(function(t){t instanceof Xy&&t.component&&t.contentNodesByNgContentIndex.forEach(function(s,a){o.push(new bf(e.equals(tn(t.nodeIndex)).and(n.equals(tn(a))),Zr(s,r,i)))})}),new vf("visitProjectableNodesInternal",[new Yh(e.name,Mh),new Yh(n.name,Mh),new Yh(r.name,Ah),new Yh(i.name,Ah)],o)}function Zr(t,e,n){var r=[];return t.forEach(function(t){switch(t.type){case Yy.Node:r.push(e.callFn([t.expr,n]).toStmt());break;case Yy.ViewContainer:r.push(e.callFn([t.expr.prop("nativeElement"),n]).toStmt()),r.push(t.expr.callMethod("visitNestedViewRootNodes",[e,n]).toStmt());break;case Yy.NgContent:r.push(of.callMethod("visitProjectedNodes",[tn(t.ngContentIndex),e,n]).toStmt())}}),r}function Jr(t){var e=Ge("nodeIndex"),n=[];return t.nodes.forEach(function(t){t instanceof Xy&&t.embeddedView&&n.push(new bf(e.equals(tn(t.nodeIndex)),[new df(t.embeddedView.classExpr.instantiate([Uy.viewUtils,of,tn(t.nodeIndex),t.renderNode,t.viewContainer]))]))}),n.length>0&&n.push(new df(af)),new vf("createEmbeddedViewInternal",[new Yh(e.name,Mh)],n,Xe(Yt(_p.AppView),[Ah]))}function ti(t,e){var n=tn(Lo);switch(e){case Lo:return t.equals(n);case Do:return tn(!0);default:return t.equals(tn(e))}}function ei(t){if(t instanceof Hl&&t.duration>0&&2==t.keyframes.length){var e=ni(t.keyframes[0])[0],n=ni(t.keyframes[1])[0];return 0===Object.keys(e).length&&0===Object.keys(n).length}return!1}function ni(t){return t.styles.styles}function ri(t,e,n,r,i){var o=new jm(t);r.forEach(function(t){return o.addOrMergeSummary({symbol:t.symbol,metadata:t.metadata})});for(var s=0;s<o.symbols.length;s++){var a=o.symbols[s];if(!t.isSourceFile(a.filePath)){var u=e.resolveSummary(a);if(!u){var c=n.resolveSymbol(a);c&&(u={symbol:c.symbol,metadata:c.metadata})}u&&o.addOrMergeSummary(u)}}return i.forEach(function(n){if(o.addOrMergeSummary({symbol:n.type.reference,metadata:{__symbolic:"class"},type:n}),n.summaryKind===Cs.NgModule){var r=n;r.exportedDirectives.concat(r.exportedPipes).forEach(function(n){var r=n.reference;t.isSourceFile(r.filePath)||o.addOrMergeSummary(e.resolveSummary(r))})}}),o.serialize()}function ii(t,e){var n=new Lm(t);return n.deserialize(e)}function oi(t){var e=t.replace(Dm,"");return e+".ngsummary.json"}function si(t,e){return e.dependencies.forEach(function(e){if(e instanceof qy){var n=e;n.placeholder.reference=t.getStaticSymbol(ui(w(n.comp)),e.name)}else if(e instanceof zy){var r=e;r.placeholder.reference=t.getStaticSymbol(ui(w(r.comp)),ci(r.comp))}else if(e instanceof Wy){var i=e;i.placeholder.reference=t.getStaticSymbol(ui(w(i.dir)),i.name)}}),e.statements}function ai(t,e,n){return e.dependencies.forEach(function(e){e.valuePlaceholder.reference=t.getStaticSymbol(pi(e.moduleUrl,e.isShimmed,n),e.name)}),e.statements}function ui(t){var e=hi(t);return e[0]+".ngfactory"+e[1]}function ci(t){return b(t)+"NgFactory"}function pi(t,e,n){return""+t+(e?".shim":"")+".ngstyle"+n}function li(t){if(!t.isComponent)throw new Error("Could not compile '"+b(t.type)+"' because it is not a component.")}function hi(t){if(t.endsWith(".d.ts"))return[t.slice(0,-5),".ts"];var e=t.lastIndexOf(".");return-1!==e?[t.substring(0,e),t.substring(e)]:[t,""]}function fi(t,e,n){var r=vi(t,e,n),i=r.ngModules,o=r.symbolsMissingModule;return yi(t,i,o,n)}function di(t,e,n){var r=fi(t,e,n);if(r.symbolsMissingModule&&r.symbolsMissingModule.length){var i=r.symbolsMissingModule.map(function(t){return"Cannot determine the module for class "+t.name+" in "+t.filePath+"!"});throw new Error(i.join("\n"))}return r}function yi(t,e,n,r){var i=new Map;e.forEach(function(t){return i.set(t.type.reference,t)});var o=new Map,s=new Map,a=new Map,u=new Map,c=new Map,p=new Set;t.forEach(function(t){var e=t.filePath;p.add(e),r.isInjectable(t)&&c.set(e,(c.get(e)||[]).concat(t))}),e.forEach(function(t){var e=t.type.reference.filePath;p.add(e),s.set(e,(s.get(e)||[]).concat(t.type.reference)),t.declaredDirectives.forEach(function(e){var n=e.reference.filePath;p.add(n),a.set(n,(a.get(n)||[]).concat(e.reference)),o.set(e.reference,t)}),t.declaredPipes.forEach(function(e){var n=e.reference.filePath;p.add(n),u.set(n,(u.get(n)||[]).concat(e.reference)),o.set(e.reference,t)})});var l=[];return p.forEach(function(t){var e=a.get(t)||[],n=u.get(t)||[],r=s.get(t)||[],i=c.get(t)||[];l.push({srcUrl:t,directives:e,pipes:n,ngModules:r,injectables:i})}),{ngModuleByPipeOrDirective:o,files:l,ngModules:e,symbolsMissingModule:n}}function mi(t,e,n){var r=[];return e.filter(function(t){return n.isSourceFile(t)}).forEach(function(e){t.getSymbolsOf(e).forEach(function(e){var n=t.resolveSymbol(e),i=n.metadata;i&&"error"!=i.__symbolic&&r.push(n.symbol)})}),r}function vi(t,e,n){var r=new Map,i=[],o=new Set,s=function(t){if(r.has(t)||!e.isSourceFile(t.filePath))return!1;var i=n.getNgModuleMetadata(t,!1);return i&&(r.set(i.type.reference,i),i.declaredDirectives.forEach(function(t){return o.add(t.reference)}),i.declaredPipes.forEach(function(t){return o.add(t.reference)}),i.transitiveModule.modules.forEach(function(t){return s(t.reference)})),!!i};t.forEach(function(t){s(t)||!n.isDirective(t)&&!n.isPipe(t)||i.push(t)});var a=i.filter(function(t){return!o.has(t)});return{ngModules:Array.from(r.values()),symbolsMissingModule:a}}function gi(t){return"object"==typeof t&&t.name&&t.filePath}function _i(t){switch(t.message){case"Reference to non-exported class":if(t.context&&t.context.className)return"Reference to a non-exported class "+t.context.className+". Consider exporting the class";break;case"Variable not initialized":return"Only initialized variables and constants can be referenced because the value of this variable is needed by the template compiler";case"Destructuring not supported":return"Referencing an exported destructured variable or constant is not supported by the template compiler. Consider simplifying this to avoid destructuring";case"Could not resolve type":if(t.context&&t.context.typeName)return"Could not resolve type "+t.context.typeName;break;case"Function call not supported":var e=t.context&&t.context.name?"Calling function '"+t.context.name+"', f":"F";return e+"unction calls are not supported. Consider replacing the function or lambda with a reference to an exported function";case"Reference to a local symbol":if(t.context&&t.context.name)return"Reference to a local (non-exported) symbol '"+t.context.name+"'. Consider exporting the symbol"}return t.message}function bi(t){return"Error encountered resolving symbol values statically. "+_i(t)}function wi(t,e){if(!t)return{};var n={};return Object.keys(t).forEach(function(r){var i=e(t[r],r);Si(i)||(Hm.test(r)?Object.defineProperty(n,r,{enumerable:!1,configurable:!0,value:i}):n[r]=i)}),n}function Ei(t){return null===t||"function"!=typeof t&&"object"!=typeof t}function Si(t){return t&&"ignore"==t.__symbolic}function Ci(t,e,n,r){var i=new Error(t);return i.fileName=e,i.line=n,i.column=r,i}function xi(t,n){var r=n.translations||"",i=je(),o=new to,s=new Ym(t,o),a=new Qm(t,o,s),u=new qm(a);Fm.install(u);var c=new dp(new lp,r,n.i18nFormat),p=new kl({genDebugInfo:n.debug===!0,defaultEncapsulation:e.ViewEncapsulation.Emulated,logBindingUpdate:!1,useJit:!1}),l=new yh({get:function(e){return t.loadResource(e)}},i,c,p),h=new wu(new fu),f=new Gd,d=new To,y=new xl(h,f,c,d,[]),m=new fd(new nd(u),new _h(u),new od(u),s,f,l,u),v=new Vm(t,m,y,new Ay(i),new hm(p,f),new Yf(p,h,f,d),new wd,new Id(t),s,n.locale,n.i18nFormat,new ih(f),a);return{compiler:v,reflector:u}}function Ti(t,e){var n=t.concat([new df(Ge(e))]),i=new $m(null,null,null,new Map),o=new Jm,s=o.visitAllStatements(n,i);return r(s)?s.value:null}function Pi(t,e,n,i,o){for(var s=i.createChildWihtLocalVars(),a=0;a<t.length;a++)s.vars.set(t[a],e[a]);var u=o.visitAllStatements(n,s);return r(u)?u.value:null}function Ai(t,e,n){var r={};t.getters.forEach(function(i){r[i.name]={configurable:!1,get:function(){var r=new $m(e,this,t.name,e.vars);return Pi([],[],i.body,r,n)}}}),t.methods.forEach(function(i){var o=i.params.map(function(t){return t.name});r[i.name]={writable:!1,configurable:!1,value:function(){for(var r=[],s=0;s<arguments.length;s++)r[s-0]=arguments[s];var a=new $m(e,this,t.name,e.vars);return Pi(o,r,i.body,a,n)}}});var i=t.constructorMethod.params.map(function(t){return t.name}),o=function(){for(var r=this,o=[],s=0;s<arguments.length;s++)o[s-0]=arguments[s];var a=new $m(e,this,t.name,e.vars);t.fields.forEach(function(t){r[t.name]=void 0}),Pi(i,o,t.constructorMethod.body,a,n)},s=t.parent?t.parent.visitExpression(n,e):Object;return o.prototype=Object.create(s.prototype,r),o}function Oi(t,e,n,r){return function(){for(var i=[],o=0;o<arguments.length;o++)i[o-0]=arguments[o];return Pi(t,i,e,n,r)}}function Mi(t,e,n,r){var i=n+"\nreturn "+e+"\n//# sourceURL="+t,o=[],s=[];for(var a in r)o.push(a),s.push(r[a]);return(new(Function.bind.apply(Function,[void 0].concat(o.concat(i))))).apply(void 0,s)}function Ri(t,e,n){var r=new ov,i=Md.createRoot([n]);return r.visitAllStatements(e,i),Mi(t,n,i.toSource(),r.getArgs())}function ki(t){if(!t.isComponent)throw new Error("Could not compile '"+b(t.type)+"' because it is not a component.")}function Ni(){Po.reflectionCapabilities=new Oo}function Ii(t){return{useDebug:Di(t.map(function(t){return t.useDebug})),useJit:Di(t.map(function(t){return t.useJit})),defaultEncapsulation:Di(t.map(function(t){return t.defaultEncapsulation})),providers:ji(t.map(function(t){return t.providers}))}}function Di(t){for(var e=t.length-1;e>=0;e--)if(void 0!==t[e])return t[e];return void 0}function ji(t){var e=[];return t.forEach(function(t){return t&&e.push.apply(e,t)}),e}var Li=new e.Version("2.4.9"),Vi=function(){function t(t,e,n){this.value=t,this.ngContentIndex=e,this.sourceSpan=n}return t.prototype.visit=function(t,e){return t.visitText(this,e)},t}(),Fi=function(){function t(t,e,n){this.value=t,this.ngContentIndex=e,this.sourceSpan=n}return t.prototype.visit=function(t,e){return t.visitBoundText(this,e)},t}(),Ui=function(){function t(t,e,n){this.name=t,this.value=e,this.sourceSpan=n}return t.prototype.visit=function(t,e){return t.visitAttr(this,e)},t}(),Bi=function(){function t(t,e,n,r,i,o,s){this.name=t,this.type=e,this.securityContext=n,this.needsRuntimeSecurityContext=r,this.value=i,this.unit=o,this.sourceSpan=s}return t.prototype.visit=function(t,e){return t.visitElementProperty(this,e)},Object.defineProperty(t.prototype,"isAnimation",{get:function(){return this.type===Zi.Animation},enumerable:!0,configurable:!0}),t}(),Hi=function(){function t(t,e,n,r,i){this.name=t,this.target=e,this.phase=n,this.handler=r,this.sourceSpan=i}return t.calcFullName=function(t,e,n){return e?e+":"+t:n?"@"+t+"."+n:t},t.prototype.visit=function(t,e){return t.visitEvent(this,e)},Object.defineProperty(t.prototype,"fullName",{get:function(){return t.calcFullName(this.name,this.target,this.phase)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isAnimation",{get:function(){return!!this.phase},enumerable:!0,configurable:!0}),t}(),qi=function(){function t(t,e,n){this.name=t,this.value=e,this.sourceSpan=n}return t.prototype.visit=function(t,e){return t.visitReference(this,e)},t}(),zi=function(){function t(t,e,n){this.name=t,this.value=e,this.sourceSpan=n}return t.prototype.visit=function(t,e){return t.visitVariable(this,e)},t}(),Wi=function(){function t(t,e,n,r,i,o,s,a,u,c,p,l){this.name=t,this.attrs=e,this.inputs=n,this.outputs=r,this.references=i,this.directives=o,this.providers=s,this.hasViewContainer=a,this.children=u,this.ngContentIndex=c,this.sourceSpan=p,this.endSourceSpan=l}return t.prototype.visit=function(t,e){return t.visitElement(this,e)},t}(),Gi=function(){function t(t,e,n,r,i,o,s,a,u,c){this.attrs=t,this.outputs=e,this.references=n,this.variables=r,this.directives=i,this.providers=o,this.hasViewContainer=s,this.children=a,this.ngContentIndex=u,this.sourceSpan=c}return t.prototype.visit=function(t,e){return t.visitEmbeddedTemplate(this,e)},t}(),Ki=function(){function t(t,e,n,r){this.directiveName=t,this.templateName=e,this.value=n,this.sourceSpan=r}return t.prototype.visit=function(t,e){return t.visitDirectiveProperty(this,e)},t}(),Xi=function(){function t(t,e,n,r,i){this.directive=t,this.inputs=e,this.hostProperties=n,this.hostEvents=r,this.sourceSpan=i}return t.prototype.visit=function(t,e){return t.visitDirective(this,e)},t}(),Qi=function(){function t(t,e,n,r,i,o,s){this.token=t,this.multiProvider=e,this.eager=n,this.providers=r,this.providerType=i,this.lifecycleHooks=o,this.sourceSpan=s}return t.prototype.visit=function(){return null},t}(),Yi={};Yi.PublicService=0,Yi.PrivateService=1,Yi.Component=2,Yi.Directive=3,Yi.Builtin=4,Yi[Yi.PublicService]="PublicService",Yi[Yi.PrivateService]="PrivateService",Yi[Yi.Component]="Component",Yi[Yi.Directive]="Directive",Yi[Yi.Builtin]="Builtin";var $i=function(){function t(t,e,n){this.index=t,this.ngContentIndex=e,this.sourceSpan=n}return t.prototype.visit=function(t,e){return t.visitNgContent(this,e)},t}(),Zi={};Zi.Property=0,Zi.Attribute=1,Zi.Class=2,Zi.Style=3,Zi.Animation=4,Zi[Zi.Property]="Property",Zi[Zi.Attribute]="Attribute",Zi[Zi.Class]="Class",Zi[Zi.Style]="Style",Zi[Zi.Animation]="Animation";var Ji=function(){function t(t,e,n){this.filePath=t,this.name=e,this.members=n}return t}(),to=function(){function t(){this.cache=new Map}return t.prototype.get=function(t,e,n){n=n||[];var r=n.length?"."+n.join("."):"",i='"'+t+'".'+e+r,o=this.cache.get(i);return o||(o=new Ji(t,e,n),this.cache.set(i,o)),o},t}(),eo=Object.getPrototypeOf({}),no=function(){function t(){}return t.parseIntAutoRadix=function(t){var e=parseInt(t);if(isNaN(e))throw new Error("Invalid integer literal when parsing "+t);return e},t.isNumeric=function(t){return!isNaN(t-parseFloat(t))},t}(),ro=function(){function t(){}return t.merge=function(t,e){for(var n={},r=0,i=Object.keys(t);r<i.length;r++){var o=i[r];n[o]=t[o]}for(var s=0,a=Object.keys(e);s<a.length;s++){var o=a[s];n[o]=e[o]}return n},t.equals=function(t,e){var n=Object.keys(t),r=Object.keys(e);if(n.length!=r.length)return!1;for(var i=0;i<n.length;i++){var o=n[i];if(t[o]!==e[o])return!1}return!0},t}(),io=function(){function t(){}return t.findLast=function(t,e){for(var n=t.length-1;n>=0;n--)if(e(t[n]))return t[n];return null},t.removeAll=function(t,e){for(var n=0;n<e.length;++n){var r=t.indexOf(e[n]);r>-1&&t.splice(r,1)}},t.remove=function(t,e){var n=t.indexOf(e);return n>-1?(t.splice(n,1),!0):!1},t.equals=function(t,e){if(t.length!=e.length)return!1;for(var n=0;n<t.length;++n)if(t[n]!==e[n])return!1;return!0},t.flatten=function(e){return e.reduce(function(e,n){var r=Array.isArray(n)?t.flatten(n):n;return e.concat(r)},[])},t}(),oo=e.__core_private__.isDefaultChangeDetectionStrategy,so=e.__core_private__.ChangeDetectorStatus,ao=e.__core_private__.LifecycleHooks,uo=e.__core_private__.LIFECYCLE_HOOKS_VALUES,co=e.__core_private__.ReflectorReader,po=e.__core_private__.ViewContainer,lo=e.__core_private__.CodegenComponentFactoryResolver,ho=e.__core_private__.ComponentRef_,fo=e.__core_private__.AppView,yo=e.__core_private__.DebugAppView,mo=e.__core_private__.NgModuleInjector,vo=e.__core_private__.registerModuleFactory,go=e.__core_private__.ViewType,_o=e.__core_private__.view_utils,bo=e.__core_private__.DebugContext,wo=e.__core_private__.StaticNodeDebugInfo,Eo=e.__core_private__.devModeEqual,So=e.__core_private__.UNINITIALIZED,Co=e.__core_private__.ValueUnwrapper,xo=e.__core_private__.TemplateRef_,To=e.__core_private__.Console,Po=e.__core_private__.reflector,Ao=e.__core_private__.Reflector,Oo=e.__core_private__.ReflectionCapabilities,Mo=e.__core_private__.NoOpAnimationPlayer,Ro=e.__core_private__.AnimationSequencePlayer,ko=e.__core_private__.AnimationGroupPlayer,No=e.__core_private__.AnimationKeyframe,Io=e.__core_private__.AnimationStyles,Do=e.__core_private__.ANY_STATE,jo=e.__core_private__.DEFAULT_STATE,Lo=e.__core_private__.EMPTY_STATE,Vo=e.__core_private__.FILL_STYLE_FLAG,Fo=e.__core_private__.prepareFinalAnimationStyles,Uo=e.__core_private__.balanceAnimationKeyframes,Bo=e.__core_private__.clearStyles,Ho=e.__core_private__.collectAndResolveStyles,qo=e.__core_private__.renderStyles,zo=e.__core_private__.ComponentStillLoadingError,Wo=e.__core_private__.AnimationTransition,Go={};Go.RAW_TEXT=0,Go.ESCAPABLE_RAW_TEXT=1,Go.PARSABLE_DATA=2,Go[Go.RAW_TEXT]="RAW_TEXT",Go[Go.ESCAPABLE_RAW_TEXT]="ESCAPABLE_RAW_TEXT",Go[Go.PARSABLE_DATA]="PARSABLE_DATA";var Ko={Aacute:"Á",aacute:"á",Acirc:"Â",acirc:"â",acute:"´",AElig:"Æ",aelig:"æ",Agrave:"À",agrave:"à",alefsym:"ℵ",Alpha:"Α",alpha:"α",amp:"&",and:"∧",ang:"∠",apos:"'",Aring:"Å",aring:"å",asymp:"≈",Atilde:"Ã",atilde:"ã",Auml:"Ä",auml:"ä",bdquo:"„",Beta:"Β",beta:"β",brvbar:"¦",bull:"•",cap:"∩",Ccedil:"Ç",ccedil:"ç",cedil:"¸",cent:"¢",Chi:"Χ",chi:"χ",circ:"ˆ",clubs:"♣",cong:"≅",copy:"©",crarr:"↵",cup:"∪",curren:"¤",dagger:"†",Dagger:"‡",darr:"↓",dArr:"⇓",deg:"°",Delta:"Δ",delta:"δ",diams:"♦",divide:"÷",Eacute:"É",eacute:"é",Ecirc:"Ê",ecirc:"ê",Egrave:"È",egrave:"è",empty:"∅",emsp:" ",ensp:" ",Epsilon:"Ε",epsilon:"ε",equiv:"≡",Eta:"Η",eta:"η",ETH:"Ð",eth:"ð",Euml:"Ë",euml:"ë",euro:"€",exist:"∃",fnof:"ƒ",forall:"∀",frac12:"½",frac14:"¼",frac34:"¾",frasl:"⁄",Gamma:"Γ",gamma:"γ",ge:"≥",gt:">",harr:"↔",hArr:"⇔",hearts:"♥",hellip:"…",Iacute:"Í",iacute:"í",Icirc:"Î",icirc:"î",iexcl:"¡",Igrave:"Ì",igrave:"ì",image:"ℑ",infin:"∞","int":"∫",Iota:"Ι",iota:"ι",iquest:"¿",isin:"∈",Iuml:"Ï",iuml:"ï",Kappa:"Κ",kappa:"κ",Lambda:"Λ",lambda:"λ",lang:"⟨",laquo:"«",larr:"←",lArr:"⇐",lceil:"⌈",ldquo:"“",le:"≤",lfloor:"⌊",lowast:"∗",loz:"◊",lrm:"‎",lsaquo:"‹",lsquo:"‘",lt:"<",macr:"¯",mdash:"—",micro:"µ",middot:"·",minus:"−",Mu:"Μ",mu:"μ",nabla:"∇",nbsp:" ",ndash:"–",ne:"≠",ni:"∋",not:"¬",notin:"∉",nsub:"⊄",Ntilde:"Ñ",ntilde:"ñ",Nu:"Ν",nu:"ν",Oacute:"Ó",oacute:"ó",Ocirc:"Ô",ocirc:"ô",OElig:"Œ",oelig:"œ",Ograve:"Ò",ograve:"ò",oline:"‾",Omega:"Ω",omega:"ω",Omicron:"Ο",omicron:"ο",oplus:"⊕",or:"∨",ordf:"ª",ordm:"º",Oslash:"Ø",oslash:"ø",Otilde:"Õ",otilde:"õ",otimes:"⊗",Ouml:"Ö",ouml:"ö",para:"¶",permil:"‰",perp:"⊥",Phi:"Φ",phi:"φ",Pi:"Π",pi:"π",piv:"ϖ",plusmn:"±",pound:"£",prime:"′",Prime:"″",prod:"∏",prop:"∝",Psi:"Ψ",psi:"ψ",quot:'"',radic:"√",rang:"⟩",raquo:"»",rarr:"→",rArr:"⇒",rceil:"⌉",rdquo:"”",real:"ℜ",reg:"®",rfloor:"⌋",Rho:"Ρ",rho:"ρ",rlm:"‏",rsaquo:"›",rsquo:"’",sbquo:"‚",Scaron:"Š",scaron:"š",sdot:"⋅",sect:"§",shy:"­",Sigma:"Σ",sigma:"σ",sigmaf:"ς",sim:"∼",spades:"♠",sub:"⊂",sube:"⊆",sum:"∑",sup:"⊃",sup1:"¹",sup2:"²",sup3:"³",supe:"⊇",szlig:"ß",Tau:"Τ",tau:"τ",there4:"∴",Theta:"Θ",theta:"θ",thetasym:"ϑ",thinsp:" ",THORN:"Þ",thorn:"þ",tilde:"˜",times:"×",trade:"™",Uacute:"Ú",uacute:"ú",uarr:"↑",uArr:"⇑",Ucirc:"Û",ucirc:"û",Ugrave:"Ù",ugrave:"ù",uml:"¨",upsih:"ϒ",Upsilon:"Υ",upsilon:"υ",Uuml:"Ü",uuml:"ü",weierp:"℘",Xi:"Ξ",xi:"ξ",Yacute:"Ý",yacute:"ý",yen:"¥",yuml:"ÿ",Yuml:"Ÿ",Zeta:"Ζ",zeta:"ζ",zwj:"‍",zwnj:"‌"},Xo=function(){function t(t){var e=this,n=void 0===t?{}:t,r=n.closedByChildren,i=n.requiredParents,o=n.implicitNamespacePrefix,s=n.contentType,a=void 0===s?Go.PARSABLE_DATA:s,u=n.closedByParent,c=void 0===u?!1:u,p=n.isVoid,l=void 0===p?!1:p,h=n.ignoreFirstLf,f=void 0===h?!1:h;this.closedByChildren={},this.closedByParent=!1,this.canSelfClose=!1,r&&r.length>0&&r.forEach(function(t){return e.closedByChildren[t]=!0}),this.isVoid=l,this.closedByParent=c||l,i&&i.length>0&&(this.requiredParents={},this.parentToAdd=i[0],i.forEach(function(t){return e.requiredParents[t]=!0})),this.implicitNamespacePrefix=o,this.contentType=a,this.ignoreFirstLf=f}return t.prototype.requireExtraParent=function(t){if(!this.requiredParents)return!1;if(!t)return!0;var e=t.toLowerCase();return 1!=this.requiredParents[e]&&"template"!=e},t.prototype.isClosedByChild=function(t){return this.isVoid||t.toLowerCase()in this.closedByChildren},t}(),Qo={base:new Xo({isVoid:!0}),meta:new Xo({isVoid:!0}),area:new Xo({isVoid:!0}),embed:new Xo({isVoid:!0}),link:new Xo({isVoid:!0}),img:new Xo({isVoid:!0}),input:new Xo({isVoid:!0}),param:new Xo({isVoid:!0}),hr:new Xo({isVoid:!0}),br:new Xo({isVoid:!0}),source:new Xo({isVoid:!0}),track:new Xo({isVoid:!0}),wbr:new Xo({isVoid:!0}),p:new Xo({closedByChildren:["address","article","aside","blockquote","div","dl","fieldset","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","hr","main","nav","ol","p","pre","section","table","ul"],closedByParent:!0}),thead:new Xo({closedByChildren:["tbody","tfoot"]}),tbody:new Xo({closedByChildren:["tbody","tfoot"],closedByParent:!0}),tfoot:new Xo({closedByChildren:["tbody"],closedByParent:!0}),tr:new Xo({closedByChildren:["tr"],requiredParents:["tbody","tfoot","thead"],closedByParent:!0}),td:new Xo({closedByChildren:["td","th"],closedByParent:!0}),th:new Xo({closedByChildren:["td","th"],closedByParent:!0}),col:new Xo({requiredParents:["colgroup"],isVoid:!0}),svg:new Xo({implicitNamespacePrefix:"svg"}),math:new Xo({implicitNamespacePrefix:"math"}),li:new Xo({closedByChildren:["li"],closedByParent:!0}),dt:new Xo({closedByChildren:["dt","dd"]}),dd:new Xo({closedByChildren:["dt","dd"],closedByParent:!0}),rb:new Xo({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rt:new Xo({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),rtc:new Xo({closedByChildren:["rb","rtc","rp"],closedByParent:!0}),rp:new Xo({closedByChildren:["rb","rt","rtc","rp"],closedByParent:!0}),optgroup:new Xo({closedByChildren:["optgroup"],closedByParent:!0}),option:new Xo({closedByChildren:["option","optgroup"],closedByParent:!0}),pre:new Xo({ignoreFirstLf:!0}),listing:new Xo({ignoreFirstLf:!0}),style:new Xo({contentType:Go.RAW_TEXT}),script:new Xo({contentType:Go.RAW_TEXT}),title:new Xo({contentType:Go.ESCAPABLE_RAW_TEXT}),textarea:new Xo({contentType:Go.ESCAPABLE_RAW_TEXT,ignoreFirstLf:!0})},Yo=new Xo,$o=new RegExp("(\\:not\\()|([-\\w]+)|(?:\\.([-\\w]+))|(?:\\[([-.\\w*]+)(?:=([^\\]]*))?\\])|(\\))|(\\s*,\\s*)","g"),Zo=function(){function t(){this.element=null,this.classNames=[],this.attrs=[],this.notSelectors=[]}return t.parse=function(e){var n,r=[],i=function(t,e){e.notSelectors.length>0&&!e.element&&0==e.classNames.length&&0==e.attrs.length&&(e.element="*"),t.push(e)},o=new t,s=o,a=!1;for($o.lastIndex=0;n=$o.exec(e);){if(n[1]){if(a)throw new Error("Nesting :not is not allowed in a selector");a=!0,s=new t,o.notSelectors.push(s)}if(n[2]&&s.setElement(n[2]),n[3]&&s.addClassName(n[3]),n[4]&&s.addAttribute(n[4],n[5]),n[6]&&(a=!1,s=o),n[7]){if(a)throw new Error("Multiple selectors in :not are not supported");i(r,o),o=s=new t}}return i(r,o),r},t.prototype.isElementSelector=function(){return this.hasElementSelector()&&0==this.classNames.length&&0==this.attrs.length&&0===this.notSelectors.length},t.prototype.hasElementSelector=function(){return!!this.element},t.prototype.setElement=function(t){void 0===t&&(t=null),this.element=t},t.prototype.getMatchingElementTemplate=function(){for(var t=this.element||"div",e=this.classNames.length>0?' class="'+this.classNames.join(" ")+'"':"",n="",r=0;r<this.attrs.length;r+=2){var i=this.attrs[r],o=""!==this.attrs[r+1]?'="'+this.attrs[r+1]+'"':"";n+=" "+i+o}return f(t).isVoid?"<"+t+e+n+"/>":"<"+t+e+n+"></"+t+">"},t.prototype.addAttribute=function(t,e){void 0===e&&(e=""),this.attrs.push(t,e&&e.toLowerCase()||"")},t.prototype.addClassName=function(t){this.classNames.push(t.toLowerCase())},t.prototype.toString=function(){var t=this.element||"";if(this.classNames&&this.classNames.forEach(function(e){return t+="."+e}),this.attrs)for(var e=0;e<this.attrs.length;e+=2){var n=this.attrs[e],r=this.attrs[e+1];t+="["+n+(r?"="+r:"")+"]"}return this.notSelectors.forEach(function(e){return t+=":not("+e+")"}),t},t}(),Jo=function(){function t(){this._elementMap=new Map,this._elementPartialMap=new Map,this._classMap=new Map,this._classPartialMap=new Map,this._attrValueMap=new Map,this._attrValuePartialMap=new Map,this._listContexts=[]}return t.createNotMatcher=function(e){var n=new t;return n.addSelectables(e,null),n},t.prototype.addSelectables=function(t,e){var n=null;t.length>1&&(n=new ts(t),this._listContexts.push(n));for(var r=0;r<t.length;r++)this._addSelectable(t[r],e,n)},t.prototype._addSelectable=function(t,e,n){var r=this,i=t.element,o=t.classNames,s=t.attrs,a=new es(t,e,n);if(i){var u=0===s.length&&0===o.length;u?this._addTerminal(r._elementMap,i,a):r=this._addPartial(r._elementPartialMap,i)}if(o)for(var c=0;c<o.length;c++){var u=0===s.length&&c===o.length-1,p=o[c];u?this._addTerminal(r._classMap,p,a):r=this._addPartial(r._classPartialMap,p)}if(s)for(var c=0;c<s.length;c+=2){var u=c===s.length-2,l=s[c],h=s[c+1];if(u){var f=r._attrValueMap,d=f.get(l);d||(d=new Map,f.set(l,d)),this._addTerminal(d,h,a)}else{var y=r._attrValuePartialMap,m=y.get(l);m||(m=new Map,y.set(l,m)),r=this._addPartial(m,h)}}},t.prototype._addTerminal=function(t,e,n){var r=t.get(e);r||(r=[],t.set(e,r)),r.push(n)},t.prototype._addPartial=function(e,n){var r=e.get(n);return r||(r=new t,e.set(n,r)),r},t.prototype.match=function(t,e){for(var n=!1,r=t.element,i=t.classNames,o=t.attrs,s=0;s<this._listContexts.length;s++)this._listContexts[s].alreadyMatched=!1;if(n=this._matchTerminal(this._elementMap,r,t,e)||n,n=this._matchPartial(this._elementPartialMap,r,t,e)||n,i)for(var s=0;s<i.length;s++){var a=i[s];n=this._matchTerminal(this._classMap,a,t,e)||n,n=this._matchPartial(this._classPartialMap,a,t,e)||n}if(o)for(var s=0;s<o.length;s+=2){var u=o[s],c=o[s+1],p=this._attrValueMap.get(u);c&&(n=this._matchTerminal(p,"",t,e)||n),n=this._matchTerminal(p,c,t,e)||n;var l=this._attrValuePartialMap.get(u);c&&(n=this._matchPartial(l,"",t,e)||n),n=this._matchPartial(l,c,t,e)||n}return n},t.prototype._matchTerminal=function(t,e,n,r){if(!t||"string"!=typeof e)return!1;var i=t.get(e)||[],o=t.get("*");if(o&&(i=i.concat(o)),0===i.length)return!1;for(var s,a=!1,u=0;u<i.length;u++)s=i[u],a=s.finalize(n,r)||a;return a},t.prototype._matchPartial=function(t,e,n,r){if(!t||"string"!=typeof e)return!1;var i=t.get(e);return i?i.match(n,r):!1},t}(),ts=function(){function t(t){this.selectors=t,this.alreadyMatched=!1}return t}(),es=function(){function t(t,e,n){this.selector=t,this.cbContext=e,this.listContext=n,this.notSelectors=t.notSelectors}return t.prototype.finalize=function(t,e){var n=!0;if(this.notSelectors.length>0&&(!this.listContext||!this.listContext.alreadyMatched)){var r=Jo.createNotMatcher(this.notSelectors);n=!r.match(t,null)}return!n||!e||this.listContext&&this.listContext.alreadyMatched||(this.listContext&&(this.listContext.alreadyMatched=!0),e(this.selector,this.cbContext)),n},t}(),ns=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},rs=function(t){function e(e){t.call(this,e);var n=new Error(e);this._nativeError=n}return ns(e,t),Object.defineProperty(e.prototype,"message",{get:function(){return this._nativeError.message},set:function(t){this._nativeError.message=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"name",{get:function(){return this._nativeError.name},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"stack",{get:function(){return this._nativeError.stack},set:function(t){this._nativeError.stack=t},enumerable:!0,configurable:!0}),e.prototype.toString=function(){return this._nativeError.toString()},e}(Error),is=(function(t){function e(e,n){t.call(this,e+" caused by: "+(n instanceof Error?n.message:n)),this.originalError=n}return ns(e,t),Object.defineProperty(e.prototype,"stack",{get:function(){return(this.originalError instanceof Error?this.originalError:this._nativeError).stack},enumerable:!0,configurable:!0}),e}(rs),this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}),os="",ss=/-+([a-z0-9])/g,as=function(){function t(){}return t.prototype.visitArray=function(t,e){var n=this;return t.map(function(t){return g(t,n,e)})},t.prototype.visitStringMap=function(t,e){var n=this,r={};return Object.keys(t).forEach(function(i){r[i]=g(t[i],n,e)}),r},t.prototype.visitPrimitive=function(t){return t},t.prototype.visitOther=function(t){return t},t}(),us=function(){function t(t,e){void 0===e&&(e=null),this.syncResult=t,this.asyncResult=e,e||(this.asyncResult=Promise.resolve(t))}return t}(),cs=function(t){function e(){t.apply(this,arguments)}return is(e,t),e}(rs),ps=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},ls=/^(?:(?:\[([^\]]+)\])|(?:\(([^\)]+)\)))|(\@[-\w]+)$/,hs=function(){function t(t,e){void 0===t&&(t=null),void 0===e&&(e=null),this.name=t,this.definitions=e}return t}(),fs=function(){function t(){}return t}(),ds=function(t){function e(e,n){t.call(this),this.stateNameExpr=e,this.styles=n}return ps(e,t),e}(fs),ys=function(t){function e(e,n){t.call(this),this.stateChangeExpr=e,this.steps=n}return ps(e,t),e}(fs),ms=function(){function t(){}return t}(),vs=function(t){function e(e){void 0===e&&(e=[]),t.call(this),this.steps=e}return ps(e,t),e}(ms),gs=function(t){function e(e,n){void 0===n&&(n=null),t.call(this),this.offset=e,this.styles=n}return ps(e,t),e}(ms),_s=function(t){function e(e,n){void 0===e&&(e=0),void 0===n&&(n=null),t.call(this),this.timings=e,this.styles=n}return ps(e,t),e}(ms),bs=function(t){function e(e){void 0===e&&(e=null),t.call(this),this.steps=e}return ps(e,t),e}(ms),ws=function(t){function e(e){void 0===e&&(e=null),t.call(this,e)}return ps(e,t),e}(bs),Es=function(t){function e(e){void 0===e&&(e=null),t.call(this,e)}return ps(e,t),e}(bs),Ss=0,Cs={};Cs.Pipe=0,Cs.Directive=1,Cs.NgModule=2,Cs.Injectable=3,Cs[Cs.Pipe]="Pipe",Cs[Cs.Directive]="Directive",Cs[Cs.NgModule]="NgModule",Cs[Cs.Injectable]="Injectable";var xs=function(){function t(t){var e=void 0===t?{}:t,n=e.moduleUrl,r=e.styles,i=e.styleUrls;this.moduleUrl=n,this.styles=x(r),this.styleUrls=x(i)}return t}(),Ts=function(){function t(t){var e=void 0===t?{}:t,n=e.encapsulation,r=e.template,i=e.templateUrl,o=e.styles,s=e.styleUrls,a=e.externalStylesheets,u=e.animations,c=e.ngContentSelectors,p=e.interpolation;if(this.encapsulation=n,this.template=r,this.templateUrl=i,this.styles=x(o),this.styleUrls=x(s),this.externalStylesheets=x(a),this.animations=u?io.flatten(u):[],this.ngContentSelectors=c||[],p&&2!=p.length)throw new Error("'interpolation' should have a start and an end symbol.");this.interpolation=p}return t.prototype.toSummary=function(){return{animations:this.animations.map(function(t){return t.name}),ngContentSelectors:this.ngContentSelectors,encapsulation:this.encapsulation}},t}(),Ps=function(){function t(t){var e=void 0===t?{}:t,n=e.isHost,r=e.type,i=e.isComponent,o=e.selector,s=e.exportAs,a=e.changeDetection,u=e.inputs,c=e.outputs,p=e.hostListeners,l=e.hostProperties,h=e.hostAttributes,f=e.providers,d=e.viewProviders,y=e.queries,m=e.viewQueries,v=e.entryComponents,g=e.template;this.isHost=!!n,this.type=r,this.isComponent=i,this.selector=o,this.exportAs=s,this.changeDetection=a,this.inputs=u,this.outputs=c,this.hostListeners=p,this.hostProperties=l,this.hostAttributes=h,this.providers=x(f),this.viewProviders=x(d),this.queries=x(y),this.viewQueries=x(m),this.entryComponents=x(v),this.template=g}return t.create=function(e){var n=void 0===e?{}:e,i=n.isHost,o=n.type,s=n.isComponent,a=n.selector,u=n.exportAs,c=n.changeDetection,p=n.inputs,l=n.outputs,h=n.host,f=n.providers,d=n.viewProviders,m=n.queries,v=n.viewQueries,g=n.entryComponents,_=n.template,b={},w={},E={};r(h)&&Object.keys(h).forEach(function(t){var e=h[t],n=t.match(ls);null===n?E[t]=e:r(n[1])?w[n[1]]=e:r(n[2])&&(b[n[2]]=e)});var S={};r(p)&&p.forEach(function(t){var e=y(t,[t,t]);S[e[0]]=e[1]});var C={};return r(l)&&l.forEach(function(t){var e=y(t,[t,t]);C[e[0]]=e[1]}),new t({isHost:i,type:o,isComponent:!!s,
+selector:a,exportAs:u,changeDetection:c,inputs:S,outputs:C,hostListeners:b,hostProperties:w,hostAttributes:E,providers:f,viewProviders:d,queries:m,viewQueries:v,entryComponents:g,template:_})},t.prototype.toSummary=function(){return{summaryKind:Cs.Directive,type:this.type,isComponent:this.isComponent,selector:this.selector,exportAs:this.exportAs,inputs:this.inputs,outputs:this.outputs,hostListeners:this.hostListeners,hostProperties:this.hostProperties,hostAttributes:this.hostAttributes,providers:this.providers,viewProviders:this.viewProviders,queries:this.queries,entryComponents:this.entryComponents,changeDetection:this.changeDetection,template:this.template&&this.template.toSummary()}},t}(),As=function(){function t(t){var e=void 0===t?{}:t,n=e.type,r=e.name,i=e.pure;this.type=n,this.name=r,this.pure=!!i}return t.prototype.toSummary=function(){return{summaryKind:Cs.Pipe,type:this.type,name:this.name,pure:this.pure}},t}(),Os=function(){function t(t){var e=void 0===t?{}:t,n=e.type,r=e.providers,i=e.declaredDirectives,o=e.exportedDirectives,s=e.declaredPipes,a=e.exportedPipes,u=e.entryComponents,c=e.bootstrapComponents,p=e.importedModules,l=e.exportedModules,h=e.schemas,f=e.transitiveModule,d=e.id;this.type=n,this.declaredDirectives=x(i),this.exportedDirectives=x(o),this.declaredPipes=x(s),this.exportedPipes=x(a),this.providers=x(r),this.entryComponents=x(u),this.bootstrapComponents=x(c),this.importedModules=x(p),this.exportedModules=x(l),this.schemas=x(h),this.id=d,this.transitiveModule=f}return t.prototype.toSummary=function(){return{summaryKind:Cs.NgModule,type:this.type,entryComponents:this.transitiveModule.entryComponents,providers:this.transitiveModule.providers,modules:this.transitiveModule.modules,exportedDirectives:this.transitiveModule.exportedDirectives,exportedPipes:this.transitiveModule.exportedPipes}},t}(),Ms=function(){function t(){this.directivesSet=new Set,this.directives=[],this.exportedDirectivesSet=new Set,this.exportedDirectives=[],this.pipesSet=new Set,this.pipes=[],this.exportedPipesSet=new Set,this.exportedPipes=[],this.modulesSet=new Set,this.modules=[],this.entryComponentsSet=new Set,this.entryComponents=[],this.providers=[]}return t.prototype.addProvider=function(t,e){this.providers.push({provider:t,module:e})},t.prototype.addDirective=function(t){this.directivesSet.has(t.reference)||(this.directivesSet.add(t.reference),this.directives.push(t))},t.prototype.addExportedDirective=function(t){this.exportedDirectivesSet.has(t.reference)||(this.exportedDirectivesSet.add(t.reference),this.exportedDirectives.push(t))},t.prototype.addPipe=function(t){this.pipesSet.has(t.reference)||(this.pipesSet.add(t.reference),this.pipes.push(t))},t.prototype.addExportedPipe=function(t){this.exportedPipesSet.has(t.reference)||(this.exportedPipesSet.add(t.reference),this.exportedPipes.push(t))},t.prototype.addModule=function(t){this.modulesSet.has(t.reference)||(this.modulesSet.add(t.reference),this.modules.push(t))},t.prototype.addEntryComponent=function(t){this.entryComponentsSet.has(t.reference)||(this.entryComponentsSet.add(t.reference),this.entryComponents.push(t))},t}(),Rs=function(){function t(t,e){var n=e.useClass,r=e.useValue,i=e.useExisting,o=e.useFactory,s=e.deps,a=e.multi;this.token=t,this.useClass=n,this.useValue=r,this.useExisting=i,this.useFactory=o,this.dependencies=s,this.multi=!!a}return t}(),ks=0,Ns=9,Is=10,Ds=11,js=12,Ls=13,Vs=32,Fs=33,Us=34,Bs=35,Hs=36,qs=37,zs=38,Ws=39,Gs=40,Ks=41,Xs=42,Qs=43,Ys=44,$s=45,Zs=46,Js=47,ta=58,ea=59,na=60,ra=61,ia=62,oa=63,sa=48,aa=57,ua=65,ca=69,pa=70,la=88,ha=90,fa=91,da=92,ya=93,ma=94,va=95,ga=97,_a=101,ba=102,wa=110,Ea=114,Sa=116,Ca=117,xa=118,Ta=120,Pa=122,Aa=123,Oa=124,Ma=125,Ra=160,ka=96,Na=[/^\s*$/,/[<>]/,/^[{}]$/,/&(#|[a-z])/i,/^\/\//],Ia=function(){function t(t,e){this.start=t,this.end=e}return t.fromArray=function(e){return e?(k("interpolation",e),new t(e[0],e[1])):Da},t}(),Da=new Ia("{{","}}"),ja=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},La=function(){function t(t,e,n,r){this.input=e,this.errLocation=n,this.ctxLocation=r,this.message="Parser Error: "+t+" "+n+" ["+e+"] in "+r}return t}(),Va=function(){function t(t,e){this.start=t,this.end=e}return t}(),Fa=function(){function t(t){this.span=t}return t.prototype.visit=function(t,e){return void 0===e&&(e=null),null},t.prototype.toString=function(){return"AST"},t}(),Ua=function(t){function e(e,n,r,i){t.call(this,e),this.prefix=n,this.uninterpretedExpression=r,this.location=i}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitQuote(this,e)},e.prototype.toString=function(){return"Quote"},e}(Fa),Ba=function(t){function e(){t.apply(this,arguments)}return ja(e,t),e.prototype.visit=function(t,e){void 0===e&&(e=null)},e}(Fa),Ha=function(t){function e(){t.apply(this,arguments)}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitImplicitReceiver(this,e)},e}(Fa),qa=function(t){function e(e,n){t.call(this,e),this.expressions=n}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitChain(this,e)},e}(Fa),za=function(t){function e(e,n,r,i){t.call(this,e),this.condition=n,this.trueExp=r,this.falseExp=i}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitConditional(this,e)},e}(Fa),Wa=function(t){function e(e,n,r){t.call(this,e),this.receiver=n,this.name=r}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitPropertyRead(this,e)},e}(Fa),Ga=function(t){function e(e,n,r,i){t.call(this,e),this.receiver=n,this.name=r,this.value=i}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitPropertyWrite(this,e)},e}(Fa),Ka=function(t){function e(e,n,r){t.call(this,e),this.receiver=n,this.name=r}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitSafePropertyRead(this,e)},e}(Fa),Xa=function(t){function e(e,n,r){t.call(this,e),this.obj=n,this.key=r}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitKeyedRead(this,e)},e}(Fa),Qa=function(t){function e(e,n,r,i){t.call(this,e),this.obj=n,this.key=r,this.value=i}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitKeyedWrite(this,e)},e}(Fa),Ya=function(t){function e(e,n,r,i){t.call(this,e),this.exp=n,this.name=r,this.args=i}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitPipe(this,e)},e}(Fa),$a=function(t){function e(e,n){t.call(this,e),this.value=n}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitLiteralPrimitive(this,e)},e}(Fa),Za=function(t){function e(e,n){t.call(this,e),this.expressions=n}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitLiteralArray(this,e)},e}(Fa),Ja=function(t){function e(e,n,r){t.call(this,e),this.keys=n,this.values=r}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitLiteralMap(this,e)},e}(Fa),tu=function(t){function e(e,n,r){t.call(this,e),this.strings=n,this.expressions=r}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitInterpolation(this,e)},e}(Fa),eu=function(t){function e(e,n,r,i){t.call(this,e),this.operation=n,this.left=r,this.right=i}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitBinary(this,e)},e}(Fa),nu=function(t){function e(e,n){t.call(this,e),this.expression=n}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitPrefixNot(this,e)},e}(Fa),ru=function(t){function e(e,n,r,i){t.call(this,e),this.receiver=n,this.name=r,this.args=i}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitMethodCall(this,e)},e}(Fa),iu=function(t){function e(e,n,r,i){t.call(this,e),this.receiver=n,this.name=r,this.args=i}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitSafeMethodCall(this,e)},e}(Fa),ou=function(t){function e(e,n,r){t.call(this,e),this.target=n,this.args=r}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),t.visitFunctionCall(this,e)},e}(Fa),su=function(t){function e(e,n,r,o){t.call(this,new Va(0,i(n)?0:n.length)),this.ast=e,this.source=n,this.location=r,this.errors=o}return ja(e,t),e.prototype.visit=function(t,e){return void 0===e&&(e=null),this.ast.visit(t,e)},e.prototype.toString=function(){return this.source+" in "+this.location},e}(Fa),au=function(){function t(t,e,n,r,i){this.span=t,this.key=e,this.keyIsVar=n,this.name=r,this.expression=i}return t}(),uu=function(){function t(){}return t.prototype.visitBinary=function(t){return t.left.visit(this),t.right.visit(this),null},t.prototype.visitChain=function(t,e){return this.visitAll(t.expressions,e)},t.prototype.visitConditional=function(t){return t.condition.visit(this),t.trueExp.visit(this),t.falseExp.visit(this),null},t.prototype.visitPipe=function(t,e){return t.exp.visit(this),this.visitAll(t.args,e),null},t.prototype.visitFunctionCall=function(t,e){return t.target.visit(this),this.visitAll(t.args,e),null},t.prototype.visitImplicitReceiver=function(){return null},t.prototype.visitInterpolation=function(t,e){return this.visitAll(t.expressions,e)},t.prototype.visitKeyedRead=function(t){return t.obj.visit(this),t.key.visit(this),null},t.prototype.visitKeyedWrite=function(t){return t.obj.visit(this),t.key.visit(this),t.value.visit(this),null},t.prototype.visitLiteralArray=function(t,e){return this.visitAll(t.expressions,e)},t.prototype.visitLiteralMap=function(t,e){return this.visitAll(t.values,e)},t.prototype.visitLiteralPrimitive=function(){return null},t.prototype.visitMethodCall=function(t,e){return t.receiver.visit(this),this.visitAll(t.args,e)},t.prototype.visitPrefixNot=function(t){return t.expression.visit(this),null},t.prototype.visitPropertyRead=function(t){return t.receiver.visit(this),null},t.prototype.visitPropertyWrite=function(t){return t.receiver.visit(this),t.value.visit(this),null},t.prototype.visitSafePropertyRead=function(t){return t.receiver.visit(this),null},t.prototype.visitSafeMethodCall=function(t,e){return t.receiver.visit(this),this.visitAll(t.args,e)},t.prototype.visitAll=function(t,e){var n=this;return t.forEach(function(t){return t.visit(n,e)}),null},t.prototype.visitQuote=function(){return null},t}(),cu=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},pu=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},lu={};lu.Character=0,lu.Identifier=1,lu.Keyword=2,lu.String=3,lu.Operator=4,lu.Number=5,lu.Error=6,lu[lu.Character]="Character",lu[lu.Identifier]="Identifier",lu[lu.Keyword]="Keyword",lu[lu.String]="String",lu[lu.Operator]="Operator",lu[lu.Number]="Number",lu[lu.Error]="Error";var hu=["var","let","null","undefined","true","false","if","else","this"],fu=function(){function t(){}return t.prototype.tokenize=function(t){for(var e=new mu(t),n=[],r=e.scanToken();null!=r;)n.push(r),r=e.scanToken();return n},t=cu([M(),pu("design:paramtypes",[])],t)}(),du=function(){function t(t,e,n,r){this.index=t,this.type=e,this.numValue=n,this.strValue=r}return t.prototype.isCharacter=function(t){return this.type==lu.Character&&this.numValue==t},t.prototype.isNumber=function(){return this.type==lu.Number},t.prototype.isString=function(){return this.type==lu.String},t.prototype.isOperator=function(t){return this.type==lu.Operator&&this.strValue==t},t.prototype.isIdentifier=function(){return this.type==lu.Identifier},t.prototype.isKeyword=function(){return this.type==lu.Keyword},t.prototype.isKeywordLet=function(){return this.type==lu.Keyword&&"let"==this.strValue},t.prototype.isKeywordNull=function(){return this.type==lu.Keyword&&"null"==this.strValue},t.prototype.isKeywordUndefined=function(){return this.type==lu.Keyword&&"undefined"==this.strValue},t.prototype.isKeywordTrue=function(){return this.type==lu.Keyword&&"true"==this.strValue},t.prototype.isKeywordFalse=function(){return this.type==lu.Keyword&&"false"==this.strValue},t.prototype.isKeywordThis=function(){return this.type==lu.Keyword&&"this"==this.strValue},t.prototype.isError=function(){return this.type==lu.Error},t.prototype.toNumber=function(){return this.type==lu.Number?this.numValue:-1},t.prototype.toString=function(){switch(this.type){case lu.Character:case lu.Identifier:case lu.Keyword:case lu.Operator:case lu.String:case lu.Error:return this.strValue;case lu.Number:return this.numValue.toString();default:return null}},t}(),yu=new du(-1,lu.Character,0,""),mu=function(){function t(t){this.input=t,this.peek=0,this.index=-1,this.length=t.length,this.advance()}return t.prototype.advance=function(){this.peek=++this.index>=this.length?ks:this.input.charCodeAt(this.index)},t.prototype.scanToken=function(){for(var t=this.input,e=this.length,n=this.peek,r=this.index;Vs>=n;){if(++r>=e){n=ks;break}n=t.charCodeAt(r)}if(this.peek=n,this.index=r,r>=e)return null;if(U(n))return this.scanIdentifier();if(P(n))return this.scanNumber(r);var i=r;switch(n){case Zs:return this.advance(),P(this.peek)?this.scanNumber(i):N(i,Zs);case Gs:case Ks:case Aa:case Ma:case fa:case ya:case Ys:case ta:case ea:return this.scanCharacter(i,n);case Ws:case Us:return this.scanString();case Bs:case Qs:case $s:case Xs:case Js:case qs:case ma:return this.scanOperator(i,String.fromCharCode(n));case oa:return this.scanComplexOperator(i,"?",Zs,".");case na:case ia:return this.scanComplexOperator(i,String.fromCharCode(n),ra,"=");case Fs:case ra:return this.scanComplexOperator(i,String.fromCharCode(n),ra,"=",ra,"=");case zs:return this.scanComplexOperator(i,"&",zs,"&");case Oa:return this.scanComplexOperator(i,"|",Oa,"|");case Ra:for(;T(this.peek);)this.advance();return this.scanToken()}return this.advance(),this.error("Unexpected character ["+String.fromCharCode(n)+"]",0)},t.prototype.scanCharacter=function(t,e){return this.advance(),N(t,e)},t.prototype.scanOperator=function(t,e){return this.advance(),j(t,e)},t.prototype.scanComplexOperator=function(t,e,n,r,i,o){this.advance();var s=e;return this.peek==n&&(this.advance(),s+=r),null!=i&&this.peek==i&&(this.advance(),s+=o),j(t,s)},t.prototype.scanIdentifier=function(){var t=this.index;for(this.advance();H(this.peek);)this.advance();var e=this.input.substring(t,this.index);return hu.indexOf(e)>-1?D(t,e):I(t,e)},t.prototype.scanNumber=function(t){var e=this.index===t;for(this.advance();;){if(P(this.peek));else if(this.peek==Zs)e=!1;else{if(!q(this.peek))break;if(this.advance(),z(this.peek)&&this.advance(),!P(this.peek))return this.error("Invalid exponent",-1);e=!1}this.advance()}var n=this.input.substring(t,this.index),r=e?no.parseIntAutoRadix(n):parseFloat(n);return V(t,r)},t.prototype.scanString=function(){var t=this.index,e=this.peek;this.advance();for(var n="",r=this.index,i=this.input;this.peek!=e;)if(this.peek==da){n+=i.substring(r,this.index),this.advance();var o=void 0;if(this.peek==Ca){var s=i.substring(this.index+1,this.index+5);if(!/^[0-9a-f]+$/i.test(s))return this.error("Invalid unicode escape [\\u"+s+"]",0);o=parseInt(s,16);for(var a=0;5>a;a++)this.advance()}else o=G(this.peek),this.advance();n+=String.fromCharCode(o),r=this.index}else{if(this.peek==ks)return this.error("Unterminated quote",0);this.advance()}var u=i.substring(r,this.index);return this.advance(),L(t,n+u)},t.prototype.error=function(t,e){var n=this.index+e;return F(n,"Lexer Error: "+t+" at column "+n+" in expression ["+this.input+"]")},t}(),vu=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},gu=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},_u=function(){function t(t,e,n){this.strings=t,this.expressions=e,this.offsets=n}return t}(),bu=function(){function t(t,e,n){this.templateBindings=t,this.warnings=e,this.errors=n}return t}(),wu=function(){function t(t){this._lexer=t,this.errors=[]}return t.prototype.parseAction=function(t,e,n){void 0===n&&(n=Da),this._checkNoInterpolation(t,e,n);var r=this._stripComments(t),i=this._lexer.tokenize(this._stripComments(t)),o=new Eu(t,e,i,r.length,!0,this.errors,t.length-r.length).parseChain();return new su(o,t,e,this.errors)},t.prototype.parseBinding=function(t,e,n){void 0===n&&(n=Da);var r=this._parseBindingAst(t,e,n);return new su(r,t,e,this.errors)},t.prototype.parseSimpleBinding=function(t,e,n){void 0===n&&(n=Da);var r=this._parseBindingAst(t,e,n),i=Su.check(r);return i.length>0&&this._reportError("Host binding expression cannot contain "+i.join(" "),t,e),new su(r,t,e,this.errors)},t.prototype._reportError=function(t,e,n,r){this.errors.push(new La(t,e,n,r))},t.prototype._parseBindingAst=function(t,e,n){var i=this._parseQuote(t,e);if(r(i))return i;this._checkNoInterpolation(t,e,n);var o=this._stripComments(t),s=this._lexer.tokenize(o);return new Eu(t,e,s,o.length,!1,this.errors,t.length-o.length).parseChain()},t.prototype._parseQuote=function(t,e){if(i(t))return null;var n=t.indexOf(":");if(-1==n)return null;var r=t.substring(0,n).trim();if(!B(r))return null;var o=t.substring(n+1);return new Ua(new Va(0,t.length),r,o,e)},t.prototype.parseTemplateBindings=function(t,e,n){var r=this._lexer.tokenize(e);if(t){var i=this._lexer.tokenize(t).map(function(t){return t.index=0,t});r.unshift.apply(r,i)}return new Eu(e,n,r,e.length,!1,this.errors,0).parseTemplateBindings()},t.prototype.parseInterpolation=function(t,e,n){void 0===n&&(n=Da);var r=this.splitInterpolation(t,e,n);if(null==r)return null;for(var o=[],s=0;s<r.expressions.length;++s){var a=r.expressions[s],u=this._stripComments(a),c=this._lexer.tokenize(this._stripComments(r.expressions[s])),p=new Eu(t,e,c,u.length,!1,this.errors,r.offsets[s]+(a.length-u.length)).parseChain();o.push(p)}return new su(new tu(new Va(0,i(t)?0:t.length),r.strings,o),t,e,this.errors)},t.prototype.splitInterpolation=function(t,e,n){void 0===n&&(n=Da);var r=K(n),i=t.split(r);if(i.length<=1)return null;for(var o=[],s=[],a=[],u=0,c=0;c<i.length;c++){var p=i[c];c%2===0?(o.push(p),u+=p.length):p.trim().length>0?(u+=n.start.length,s.push(p),a.push(u),u+=p.length+n.end.length):(this._reportError("Blank expressions are not allowed in interpolated strings",t,"at column "+this._findInterpolationErrorColumn(i,c,n)+" in",e),s.push("$implict"),a.push(u))}return new _u(o,s,a)},t.prototype.wrapLiteralPrimitive=function(t,e){return new su(new $a(new Va(0,i(t)?0:t.length),t),t,e,this.errors)},t.prototype._stripComments=function(t){var e=this._commentStart(t);return r(e)?t.substring(0,e).trim():t},t.prototype._commentStart=function(t){for(var e=null,n=0;n<t.length-1;n++){var r=t.charCodeAt(n),o=t.charCodeAt(n+1);if(r===Js&&o==Js&&i(e))return n;e===r?e=null:i(e)&&W(r)&&(e=r)}return null},t.prototype._checkNoInterpolation=function(t,e,n){var r=K(n),i=t.split(r);i.length>1&&this._reportError("Got interpolation ("+n.start+n.end+") where expression was expected",t,"at column "+this._findInterpolationErrorColumn(i,1,n)+" in",e)},t.prototype._findInterpolationErrorColumn=function(t,e,n){for(var r="",i=0;e>i;i++)r+=i%2===0?t[i]:""+n.start+t[i]+n.end;return r.length},t=vu([M(),gu("design:paramtypes",[fu])],t)}(),Eu=function(){function t(t,e,n,r,i,o,s){this.input=t,this.location=e,this.tokens=n,this.inputLength=r,this.parseAction=i,this.errors=o,this.offset=s,this.rparensExpected=0,this.rbracketsExpected=0,this.rbracesExpected=0,this.index=0}return t.prototype.peek=function(t){var e=this.index+t;return e<this.tokens.length?this.tokens[e]:yu},Object.defineProperty(t.prototype,"next",{get:function(){return this.peek(0)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"inputIndex",{get:function(){return this.index<this.tokens.length?this.next.index+this.offset:this.inputLength+this.offset},enumerable:!0,configurable:!0}),t.prototype.span=function(t){return new Va(t,this.inputIndex)},t.prototype.advance=function(){this.index++},t.prototype.optionalCharacter=function(t){return this.next.isCharacter(t)?(this.advance(),!0):!1},t.prototype.peekKeywordLet=function(){return this.next.isKeywordLet()},t.prototype.expectCharacter=function(t){this.optionalCharacter(t)||this.error("Missing expected "+String.fromCharCode(t))},t.prototype.optionalOperator=function(t){return this.next.isOperator(t)?(this.advance(),!0):!1},t.prototype.expectOperator=function(t){this.optionalOperator(t)||this.error("Missing expected operator "+t)},t.prototype.expectIdentifierOrKeyword=function(){var t=this.next;return t.isIdentifier()||t.isKeyword()?(this.advance(),t.toString()):(this.error("Unexpected token "+t+", expected identifier or keyword"),"")},t.prototype.expectIdentifierOrKeywordOrString=function(){var t=this.next;return t.isIdentifier()||t.isKeyword()||t.isString()?(this.advance(),t.toString()):(this.error("Unexpected token "+t+", expected identifier, keyword, or string"),"")},t.prototype.parseChain=function(){for(var t=[],e=this.inputIndex;this.index<this.tokens.length;){var n=this.parsePipe();if(t.push(n),this.optionalCharacter(ea))for(this.parseAction||this.error("Binding expression cannot contain chained expression");this.optionalCharacter(ea););else this.index<this.tokens.length&&this.error("Unexpected token '"+this.next+"'")}return 0==t.length?new Ba(this.span(e)):1==t.length?t[0]:new qa(this.span(e),t)},t.prototype.parsePipe=function(){var t=this.parseExpression();if(this.optionalOperator("|")){this.parseAction&&this.error("Cannot have a pipe in an action expression");do{for(var e=this.expectIdentifierOrKeyword(),n=[];this.optionalCharacter(ta);)n.push(this.parseExpression());t=new Ya(this.span(t.span.start),t,e,n)}while(this.optionalOperator("|"))}return t},t.prototype.parseExpression=function(){return this.parseConditional()},t.prototype.parseConditional=function(){var t=this.inputIndex,e=this.parseLogicalOr();if(this.optionalOperator("?")){var n=this.parsePipe(),r=void 0;if(this.optionalCharacter(ta))r=this.parsePipe();else{var i=this.inputIndex,o=this.input.substring(t,i);this.error("Conditional expression "+o+" requires all 3 expressions"),r=new Ba(this.span(t))}return new za(this.span(t),e,n,r)}return e},t.prototype.parseLogicalOr=function(){for(var t=this.parseLogicalAnd();this.optionalOperator("||");){var e=this.parseLogicalAnd();t=new eu(this.span(t.span.start),"||",t,e)}return t},t.prototype.parseLogicalAnd=function(){for(var t=this.parseEquality();this.optionalOperator("&&");){var e=this.parseEquality();t=new eu(this.span(t.span.start),"&&",t,e)}return t},t.prototype.parseEquality=function(){for(var t=this.parseRelational();this.next.type==lu.Operator;){var e=this.next.strValue;switch(e){case"==":case"===":case"!=":case"!==":this.advance();var n=this.parseRelational();t=new eu(this.span(t.span.start),e,t,n);continue}break}return t},t.prototype.parseRelational=function(){for(var t=this.parseAdditive();this.next.type==lu.Operator;){var e=this.next.strValue;switch(e){case"<":case">":case"<=":case">=":this.advance();var n=this.parseAdditive();t=new eu(this.span(t.span.start),e,t,n);continue}break}return t},t.prototype.parseAdditive=function(){for(var t=this.parseMultiplicative();this.next.type==lu.Operator;){var e=this.next.strValue;switch(e){case"+":case"-":this.advance();var n=this.parseMultiplicative();t=new eu(this.span(t.span.start),e,t,n);continue}break}return t},t.prototype.parseMultiplicative=function(){for(var t=this.parsePrefix();this.next.type==lu.Operator;){var e=this.next.strValue;switch(e){case"*":case"%":case"/":this.advance();var n=this.parsePrefix();t=new eu(this.span(t.span.start),e,t,n);continue}break}return t},t.prototype.parsePrefix=function(){if(this.next.type==lu.Operator){var t=this.inputIndex,e=this.next.strValue,n=void 0;switch(e){case"+":return this.advance(),this.parsePrefix();case"-":return this.advance(),n=this.parsePrefix(),new eu(this.span(t),e,new $a(new Va(t,t),0),n);case"!":return this.advance(),n=this.parsePrefix(),new nu(this.span(t),n)}}return this.parseCallChain()},t.prototype.parseCallChain=function(){for(var t=this.parsePrimary();;)if(this.optionalCharacter(Zs))t=this.parseAccessMemberOrMethodCall(t,!1);else if(this.optionalOperator("?."))t=this.parseAccessMemberOrMethodCall(t,!0);else if(this.optionalCharacter(fa)){this.rbracketsExpected++;var e=this.parsePipe();if(this.rbracketsExpected--,this.expectCharacter(ya),this.optionalOperator("=")){var n=this.parseConditional();t=new Qa(this.span(t.span.start),t,e,n)}else t=new Xa(this.span(t.span.start),t,e)}else{if(!this.optionalCharacter(Gs))return t;this.rparensExpected++;var r=this.parseCallArguments();this.rparensExpected--,this.expectCharacter(Ks),t=new ou(this.span(t.span.start),t,r)}},t.prototype.parsePrimary=function(){var t=this.inputIndex;if(this.optionalCharacter(Gs)){this.rparensExpected++;var e=this.parsePipe();return this.rparensExpected--,this.expectCharacter(Ks),e}if(this.next.isKeywordNull())return this.advance(),new $a(this.span(t),null);if(this.next.isKeywordUndefined())return this.advance(),new $a(this.span(t),void 0);if(this.next.isKeywordTrue())return this.advance(),new $a(this.span(t),!0);if(this.next.isKeywordFalse())return this.advance(),new $a(this.span(t),!1);if(this.next.isKeywordThis())return this.advance(),new Ha(this.span(t));if(this.optionalCharacter(fa)){this.rbracketsExpected++;var n=this.parseExpressionList(ya);return this.rbracketsExpected--,this.expectCharacter(ya),new Za(this.span(t),n)}if(this.next.isCharacter(Aa))return this.parseLiteralMap();if(this.next.isIdentifier())return this.parseAccessMemberOrMethodCall(new Ha(this.span(t)),!1);if(this.next.isNumber()){var r=this.next.toNumber();return this.advance(),new $a(this.span(t),r)}if(this.next.isString()){var i=this.next.toString();return this.advance(),new $a(this.span(t),i)}return this.index>=this.tokens.length?(this.error("Unexpected end of expression: "+this.input),new Ba(this.span(t))):(this.error("Unexpected token "+this.next),new Ba(this.span(t)))},t.prototype.parseExpressionList=function(t){var e=[];if(!this.next.isCharacter(t))do e.push(this.parsePipe());while(this.optionalCharacter(Ys));return e},t.prototype.parseLiteralMap=function(){var t=[],e=[],n=this.inputIndex;if(this.expectCharacter(Aa),!this.optionalCharacter(Ma)){this.rbracesExpected++;do{var r=this.expectIdentifierOrKeywordOrString();t.push(r),this.expectCharacter(ta),e.push(this.parsePipe())}while(this.optionalCharacter(Ys));this.rbracesExpected--,this.expectCharacter(Ma)}return new Ja(this.span(n),t,e)},t.prototype.parseAccessMemberOrMethodCall=function(t,e){void 0===e&&(e=!1);var n=t.span.start,r=this.expectIdentifierOrKeyword();if(this.optionalCharacter(Gs)){this.rparensExpected++;var i=this.parseCallArguments();this.expectCharacter(Ks),this.rparensExpected--;var o=this.span(n);return e?new iu(o,t,r,i):new ru(o,t,r,i)}if(e)return this.optionalOperator("=")?(this.error("The '?.' operator cannot be used in the assignment"),new Ba(this.span(n))):new Ka(this.span(n),t,r);if(this.optionalOperator("=")){if(!this.parseAction)return this.error("Bindings cannot contain assignments"),new Ba(this.span(n));var s=this.parseConditional();return new Ga(this.span(n),t,r,s)}return new Wa(this.span(n),t,r)},t.prototype.parseCallArguments=function(){if(this.next.isCharacter(Ks))return[];var t=[];do t.push(this.parsePipe());while(this.optionalCharacter(Ys));return t},t.prototype.expectTemplateBindingKey=function(){var t="",e=!1;do t+=this.expectIdentifierOrKeywordOrString(),e=this.optionalOperator("-"),e&&(t+="-");while(e);return t.toString()},t.prototype.parseTemplateBindings=function(){for(var t=[],e=null,n=[];this.index<this.tokens.length;){var r=this.inputIndex,i=this.peekKeywordLet();i&&this.advance();var o=this.expectTemplateBindingKey();i||(null==e?e=o:o=e+o[0].toUpperCase()+o.substring(1)),this.optionalCharacter(ta);var s=null,a=null;if(i)s=this.optionalOperator("=")?this.expectTemplateBindingKey():"$implicit";else if(this.next!==yu&&!this.peekKeywordLet()){var u=this.inputIndex,c=this.parsePipe(),p=this.input.substring(u-this.offset,this.inputIndex-this.offset);a=new su(c,p,this.location,this.errors)}t.push(new au(this.span(r),o,i,s,a)),this.optionalCharacter(ea)||this.optionalCharacter(Ys)}return new bu(t,n,this.errors)},t.prototype.error=function(t,e){void 0===e&&(e=null),this.errors.push(new La(t,this.input,this.locationText(e),this.location)),this.skip()},t.prototype.locationText=function(t){return void 0===t&&(t=null),i(t)&&(t=this.index),t<this.tokens.length?"at column "+(this.tokens[t].index+1)+" in":"at the end of the expression"},t.prototype.skip=function(){for(var t=this.next;this.index<this.tokens.length&&!t.isCharacter(ea)&&(this.rparensExpected<=0||!t.isCharacter(Ks))&&(this.rbracesExpected<=0||!t.isCharacter(Ma))&&(this.rbracketsExpected<=0||!t.isCharacter(ya));)this.next.isError()&&this.errors.push(new La(this.next.toString(),this.input,this.locationText(),this.location)),this.advance(),t=this.next},t}(),Su=function(){function t(){this.errors=[]}return t.check=function(e){var n=new t;return e.visit(n),n.errors},t.prototype.visitImplicitReceiver=function(){},t.prototype.visitInterpolation=function(){},t.prototype.visitLiteralPrimitive=function(){},t.prototype.visitPropertyRead=function(){},t.prototype.visitPropertyWrite=function(){},t.prototype.visitSafePropertyRead=function(){},t.prototype.visitMethodCall=function(){},t.prototype.visitSafeMethodCall=function(){},t.prototype.visitFunctionCall=function(){},t.prototype.visitLiteralArray=function(t){this.visitAll(t.expressions)},t.prototype.visitLiteralMap=function(t){this.visitAll(t.values)},t.prototype.visitBinary=function(){},t.prototype.visitPrefixNot=function(){},t.prototype.visitConditional=function(){},t.prototype.visitPipe=function(){this.errors.push("pipes")},t.prototype.visitKeyedRead=function(){},t.prototype.visitKeyedWrite=function(){},t.prototype.visitAll=function(t){var e=this;return t.map(function(t){return t.visit(e)})},t.prototype.visitChain=function(){},t.prototype.visitQuote=function(){},t}(),Cu=function(){function t(t,e,n,r){this.file=t,this.offset=e,this.line=n,this.col=r}return t.prototype.toString=function(){return r(this.offset)?this.file.url+"@"+this.line+":"+this.col:this.file.url},t.prototype.moveBy=function(e){for(var n=this.file.content,r=n.length,i=this.offset,o=this.line,s=this.col;i>0&&0>e;){i--,e++;var a=n.charCodeAt(i);if(a==Is){o--;var u=n.substr(0,i-1).lastIndexOf(String.fromCharCode(Is));s=u>0?i-u:i}else s--}for(;r>i&&e>0;){var a=n.charCodeAt(i);i++,e--,a==Is?(o++,s=0):s++}return new t(this.file,i,o,s)},t.prototype.getContext=function(t,e){var n=this.file.content,i=this.offset;if(r(i)){i>n.length-1&&(i=n.length-1);for(var o=i,s=0,a=0;t>s&&i>0&&(i--,s++,"\n"!=n[i]||++a!=e););for(s=0,a=0;t>s&&o<n.length-1&&(o++,s++,"\n"!=n[o]||++a!=e););return{before:n.substring(i,this.offset),after:n.substring(this.offset,o+1)}}return null},t}(),xu=function(){function t(t,e){this.content=t,this.url=e}return t}(),Tu=function(){function t(t,e,n){void 0===n&&(n=null),this.start=t,this.end=e,this.details=n}return t.prototype.toString=function(){return this.start.file.content.substring(this.start.offset,this.end.offset)},t}(),Pu={};Pu.WARNING=0,Pu.FATAL=1,Pu[Pu.WARNING]="WARNING",Pu[Pu.FATAL]="FATAL";var Au=function(){function t(t,e,n){void 0===n&&(n=Pu.FATAL),this.span=t,this.msg=e,this.level=n}return t.prototype.toString=function(){
+var t=this.span.start.getContext(100,3),e=t?' ("'+t.before+"[ERROR ->]"+t.after+'")':"",n=this.span.details?", "+this.span.details:"";return""+this.msg+e+": "+this.span.start+n},t}(),Ou=function(){function t(t,e){this.value=t,this.sourceSpan=e}return t.prototype.visit=function(t,e){return t.visitText(this,e)},t}(),Mu=function(){function t(t,e,n,r,i){this.switchValue=t,this.type=e,this.cases=n,this.sourceSpan=r,this.switchValueSourceSpan=i}return t.prototype.visit=function(t,e){return t.visitExpansion(this,e)},t}(),Ru=function(){function t(t,e,n,r,i){this.value=t,this.expression=e,this.sourceSpan=n,this.valueSourceSpan=r,this.expSourceSpan=i}return t.prototype.visit=function(t,e){return t.visitExpansionCase(this,e)},t}(),ku=function(){function t(t,e,n,r){this.name=t,this.value=e,this.sourceSpan=n,this.valueSpan=r}return t.prototype.visit=function(t,e){return t.visitAttribute(this,e)},t}(),Nu=function(){function t(t,e,n,r,i,o){this.name=t,this.attrs=e,this.children=n,this.sourceSpan=r,this.startSourceSpan=i,this.endSourceSpan=o}return t.prototype.visit=function(t,e){return t.visitElement(this,e)},t}(),Iu=function(){function t(t,e){this.value=t,this.sourceSpan=e}return t.prototype.visit=function(t,e){return t.visitComment(this,e)},t}(),Du=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},ju={};ju.TAG_OPEN_START=0,ju.TAG_OPEN_END=1,ju.TAG_OPEN_END_VOID=2,ju.TAG_CLOSE=3,ju.TEXT=4,ju.ESCAPABLE_RAW_TEXT=5,ju.RAW_TEXT=6,ju.COMMENT_START=7,ju.COMMENT_END=8,ju.CDATA_START=9,ju.CDATA_END=10,ju.ATTR_NAME=11,ju.ATTR_VALUE=12,ju.DOC_TYPE=13,ju.EXPANSION_FORM_START=14,ju.EXPANSION_CASE_VALUE=15,ju.EXPANSION_CASE_EXP_START=16,ju.EXPANSION_CASE_EXP_END=17,ju.EXPANSION_FORM_END=18,ju.EOF=19,ju[ju.TAG_OPEN_START]="TAG_OPEN_START",ju[ju.TAG_OPEN_END]="TAG_OPEN_END",ju[ju.TAG_OPEN_END_VOID]="TAG_OPEN_END_VOID",ju[ju.TAG_CLOSE]="TAG_CLOSE",ju[ju.TEXT]="TEXT",ju[ju.ESCAPABLE_RAW_TEXT]="ESCAPABLE_RAW_TEXT",ju[ju.RAW_TEXT]="RAW_TEXT",ju[ju.COMMENT_START]="COMMENT_START",ju[ju.COMMENT_END]="COMMENT_END",ju[ju.CDATA_START]="CDATA_START",ju[ju.CDATA_END]="CDATA_END",ju[ju.ATTR_NAME]="ATTR_NAME",ju[ju.ATTR_VALUE]="ATTR_VALUE",ju[ju.DOC_TYPE]="DOC_TYPE",ju[ju.EXPANSION_FORM_START]="EXPANSION_FORM_START",ju[ju.EXPANSION_CASE_VALUE]="EXPANSION_CASE_VALUE",ju[ju.EXPANSION_CASE_EXP_START]="EXPANSION_CASE_EXP_START",ju[ju.EXPANSION_CASE_EXP_END]="EXPANSION_CASE_EXP_END",ju[ju.EXPANSION_FORM_END]="EXPANSION_FORM_END",ju[ju.EOF]="EOF";var Lu=function(){function t(t,e,n){this.type=t,this.parts=e,this.sourceSpan=n}return t}(),Vu=function(t){function e(e,n,r){t.call(this,r,e),this.tokenType=n}return Du(e,t),e}(Au),Fu=function(){function t(t,e){this.tokens=t,this.errors=e}return t}(),Uu=/\r\n?/g,Bu=function(){function t(t){this.error=t}return t}(),Hu=function(){function t(t,e,n,r){void 0===r&&(r=Da),this._file=t,this._getTagDefinition=e,this._tokenizeIcu=n,this._interpolationConfig=r,this._peek=-1,this._nextPeek=-1,this._index=-1,this._line=0,this._column=-1,this._expansionCaseStack=[],this._inInterpolation=!1,this.tokens=[],this.errors=[],this._input=t.content,this._length=t.content.length,this._advance()}return t.prototype._processCarriageReturns=function(t){return t.replace(Uu,"\n")},t.prototype.tokenize=function(){for(;this._peek!==ks;){var t=this._getLocation();try{this._attemptCharCode(na)?this._attemptCharCode(Fs)?this._attemptCharCode(fa)?this._consumeCdata(t):this._attemptCharCode($s)?this._consumeComment(t):this._consumeDocType(t):this._attemptCharCode(Js)?this._consumeTagClose(t):this._consumeTagOpen(t):this._tokenizeIcu&&this._tokenizeExpansionForm()||this._consumeText()}catch(e){if(!(e instanceof Bu))throw e;this.errors.push(e.error)}}return this._beginToken(ju.EOF),this._endToken([]),new Fu(at(this.tokens),this.errors)},t.prototype._tokenizeExpansionForm=function(){if(rt(this._input,this._index,this._interpolationConfig))return this._consumeExpansionFormStart(),!0;if(it(this._peek)&&this._isInExpansionForm())return this._consumeExpansionCaseStart(),!0;if(this._peek===Ma){if(this._isInExpansionCase())return this._consumeExpansionCaseEnd(),!0;if(this._isInExpansionForm())return this._consumeExpansionFormEnd(),!0}return!1},t.prototype._getLocation=function(){return new Cu(this._file,this._index,this._line,this._column)},t.prototype._getSpan=function(t,e){return void 0===t&&(t=this._getLocation()),void 0===e&&(e=this._getLocation()),new Tu(t,e)},t.prototype._beginToken=function(t,e){void 0===e&&(e=this._getLocation()),this._currentTokenStart=e,this._currentTokenType=t},t.prototype._endToken=function(t,e){void 0===e&&(e=this._getLocation());var n=new Lu(this._currentTokenType,t,new Tu(this._currentTokenStart,e));return this.tokens.push(n),this._currentTokenStart=null,this._currentTokenType=null,n},t.prototype._createError=function(t,e){this._isInExpansionForm()&&(t+=' (Do you have an unescaped "{" in your template? Use "{{ \'{\' }}") to escape it.)');var n=new Vu(t,this._currentTokenType,e);return this._currentTokenStart=null,this._currentTokenType=null,new Bu(n)},t.prototype._advance=function(){if(this._index>=this._length)throw this._createError(Y(ks),this._getSpan());this._peek===Is?(this._line++,this._column=0):this._peek!==Is&&this._peek!==Ls&&this._column++,this._index++,this._peek=this._index>=this._length?ks:this._input.charCodeAt(this._index),this._nextPeek=this._index+1>=this._length?ks:this._input.charCodeAt(this._index+1)},t.prototype._attemptCharCode=function(t){return this._peek===t?(this._advance(),!0):!1},t.prototype._attemptCharCodeCaseInsensitive=function(t){return ot(this._peek,t)?(this._advance(),!0):!1},t.prototype._requireCharCode=function(t){var e=this._getLocation();if(!this._attemptCharCode(t))throw this._createError(Y(this._peek),this._getSpan(e,e))},t.prototype._attemptStr=function(t){var e=t.length;if(this._index+e>this._length)return!1;for(var n=this._savePosition(),r=0;e>r;r++)if(!this._attemptCharCode(t.charCodeAt(r)))return this._restorePosition(n),!1;return!0},t.prototype._attemptStrCaseInsensitive=function(t){for(var e=0;e<t.length;e++)if(!this._attemptCharCodeCaseInsensitive(t.charCodeAt(e)))return!1;return!0},t.prototype._requireStr=function(t){var e=this._getLocation();if(!this._attemptStr(t))throw this._createError(Y(this._peek),this._getSpan(e))},t.prototype._attemptCharCodeUntilFn=function(t){for(;!t(this._peek);)this._advance()},t.prototype._requireCharCodeUntilFn=function(t,e){var n=this._getLocation();if(this._attemptCharCodeUntilFn(t),this._index-n.offset<e)throw this._createError(Y(this._peek),this._getSpan(n,n))},t.prototype._attemptUntilChar=function(t){for(;this._peek!==t;)this._advance()},t.prototype._readChar=function(t){if(t&&this._peek===zs)return this._decodeEntity();var e=this._index;return this._advance(),this._input[e]},t.prototype._decodeEntity=function(){var t=this._getLocation();if(this._advance(),!this._attemptCharCode(Bs)){var e=this._savePosition();if(this._attemptCharCodeUntilFn(nt),this._peek!=ea)return this._restorePosition(e),"&";this._advance();var n=this._input.substring(t.offset+1,this._index-1),r=Ko[n];if(!r)throw this._createError($(n),this._getSpan(t));return r}var i=this._attemptCharCode(Ta)||this._attemptCharCode(la),o=this._getLocation().offset;if(this._attemptCharCodeUntilFn(et),this._peek!=ea)throw this._createError(Y(this._peek),this._getSpan());this._advance();var s=this._input.substring(o,this._index-1);try{var a=parseInt(s,i?16:10);return String.fromCharCode(a)}catch(u){var c=this._input.substring(t.offset+1,this._index-1);throw this._createError($(c),this._getSpan(t))}},t.prototype._consumeRawText=function(t,e,n){var r,i=this._getLocation();this._beginToken(t?ju.ESCAPABLE_RAW_TEXT:ju.RAW_TEXT,i);for(var o=[];;){if(r=this._getLocation(),this._attemptCharCode(e)&&n())break;for(this._index>r.offset&&o.push(this._input.substring(r.offset,this._index));this._peek!==e;)o.push(this._readChar(t))}return this._endToken([this._processCarriageReturns(o.join(""))],r)},t.prototype._consumeComment=function(t){var e=this;this._beginToken(ju.COMMENT_START,t),this._requireCharCode($s),this._endToken([]);var n=this._consumeRawText(!1,$s,function(){return e._attemptStr("->")});this._beginToken(ju.COMMENT_END,n.sourceSpan.end),this._endToken([])},t.prototype._consumeCdata=function(t){var e=this;this._beginToken(ju.CDATA_START,t),this._requireStr("CDATA["),this._endToken([]);var n=this._consumeRawText(!1,ya,function(){return e._attemptStr("]>")});this._beginToken(ju.CDATA_END,n.sourceSpan.end),this._endToken([])},t.prototype._consumeDocType=function(t){this._beginToken(ju.DOC_TYPE,t),this._attemptUntilChar(ia),this._advance(),this._endToken([this._input.substring(t.offset+2,this._index-1)])},t.prototype._consumePrefixAndName=function(){for(var t=this._index,e=null;this._peek!==ta&&!tt(this._peek);)this._advance();var n;this._peek===ta?(this._advance(),e=this._input.substring(t,this._index-1),n=this._index):n=t,this._requireCharCodeUntilFn(J,this._index===n?1:0);var r=this._input.substring(n,this._index);return[e,r]},t.prototype._consumeTagOpen=function(t){var e,n,r=this._savePosition();try{if(!A(this._peek))throw this._createError(Y(this._peek),this._getSpan());var i=this._index;for(this._consumeTagOpenStart(t),e=this._input.substring(i,this._index),n=e.toLowerCase(),this._attemptCharCodeUntilFn(Z);this._peek!==Js&&this._peek!==ia;)this._consumeAttributeName(),this._attemptCharCodeUntilFn(Z),this._attemptCharCode(ra)&&(this._attemptCharCodeUntilFn(Z),this._consumeAttributeValue()),this._attemptCharCodeUntilFn(Z);this._consumeTagOpenEnd()}catch(o){if(o instanceof Bu)return this._restorePosition(r),this._beginToken(ju.TEXT,t),void this._endToken(["<"]);throw o}var s=this._getTagDefinition(e).contentType;s===Go.RAW_TEXT?this._consumeRawTextWithTagClose(n,!1):s===Go.ESCAPABLE_RAW_TEXT&&this._consumeRawTextWithTagClose(n,!0)},t.prototype._consumeRawTextWithTagClose=function(t,e){var n=this,r=this._consumeRawText(e,na,function(){return n._attemptCharCode(Js)?(n._attemptCharCodeUntilFn(Z),n._attemptStrCaseInsensitive(t)?(n._attemptCharCodeUntilFn(Z),n._attemptCharCode(ia)):!1):!1});this._beginToken(ju.TAG_CLOSE,r.sourceSpan.end),this._endToken([null,t])},t.prototype._consumeTagOpenStart=function(t){this._beginToken(ju.TAG_OPEN_START,t);var e=this._consumePrefixAndName();this._endToken(e)},t.prototype._consumeAttributeName=function(){this._beginToken(ju.ATTR_NAME);var t=this._consumePrefixAndName();this._endToken(t)},t.prototype._consumeAttributeValue=function(){this._beginToken(ju.ATTR_VALUE);var t;if(this._peek===Ws||this._peek===Us){var e=this._peek;this._advance();for(var n=[];this._peek!==e;)n.push(this._readChar(!0));t=n.join(""),this._advance()}else{var r=this._index;this._requireCharCodeUntilFn(J,1),t=this._input.substring(r,this._index)}this._endToken([this._processCarriageReturns(t)])},t.prototype._consumeTagOpenEnd=function(){var t=this._attemptCharCode(Js)?ju.TAG_OPEN_END_VOID:ju.TAG_OPEN_END;this._beginToken(t),this._requireCharCode(ia),this._endToken([])},t.prototype._consumeTagClose=function(t){this._beginToken(ju.TAG_CLOSE,t),this._attemptCharCodeUntilFn(Z);var e=this._consumePrefixAndName();this._attemptCharCodeUntilFn(Z),this._requireCharCode(ia),this._endToken(e)},t.prototype._consumeExpansionFormStart=function(){this._beginToken(ju.EXPANSION_FORM_START,this._getLocation()),this._requireCharCode(Aa),this._endToken([]),this._expansionCaseStack.push(ju.EXPANSION_FORM_START),this._beginToken(ju.RAW_TEXT,this._getLocation());var t=this._readUntil(Ys);this._endToken([t],this._getLocation()),this._requireCharCode(Ys),this._attemptCharCodeUntilFn(Z),this._beginToken(ju.RAW_TEXT,this._getLocation());var e=this._readUntil(Ys);this._endToken([e],this._getLocation()),this._requireCharCode(Ys),this._attemptCharCodeUntilFn(Z)},t.prototype._consumeExpansionCaseStart=function(){this._beginToken(ju.EXPANSION_CASE_VALUE,this._getLocation());var t=this._readUntil(Aa).trim();this._endToken([t],this._getLocation()),this._attemptCharCodeUntilFn(Z),this._beginToken(ju.EXPANSION_CASE_EXP_START,this._getLocation()),this._requireCharCode(Aa),this._endToken([],this._getLocation()),this._attemptCharCodeUntilFn(Z),this._expansionCaseStack.push(ju.EXPANSION_CASE_EXP_START)},t.prototype._consumeExpansionCaseEnd=function(){this._beginToken(ju.EXPANSION_CASE_EXP_END,this._getLocation()),this._requireCharCode(Ma),this._endToken([],this._getLocation()),this._attemptCharCodeUntilFn(Z),this._expansionCaseStack.pop()},t.prototype._consumeExpansionFormEnd=function(){this._beginToken(ju.EXPANSION_FORM_END,this._getLocation()),this._requireCharCode(Ma),this._endToken([]),this._expansionCaseStack.pop()},t.prototype._consumeText=function(){var t=this._getLocation();this._beginToken(ju.TEXT,t);var e=[];do this._interpolationConfig&&this._attemptStr(this._interpolationConfig.start)?(e.push(this._interpolationConfig.start),this._inInterpolation=!0):this._interpolationConfig&&this._inInterpolation&&this._attemptStr(this._interpolationConfig.end)?(e.push(this._interpolationConfig.end),this._inInterpolation=!1):e.push(this._readChar(!0));while(!this._isTextEnd());this._endToken([this._processCarriageReturns(e.join(""))])},t.prototype._isTextEnd=function(){if(this._peek===na||this._peek===ks)return!0;if(this._tokenizeIcu&&!this._inInterpolation){if(rt(this._input,this._index,this._interpolationConfig))return!0;if(this._peek===Ma&&this._isInExpansionCase())return!0}return!1},t.prototype._savePosition=function(){return[this._peek,this._index,this._column,this._line,this.tokens.length]},t.prototype._readUntil=function(t){var e=this._index;return this._attemptUntilChar(t),this._input.substring(e,this._index)},t.prototype._restorePosition=function(t){this._peek=t[0],this._index=t[1],this._column=t[2],this._line=t[3];var e=t[4];e<this.tokens.length&&(this.tokens=this.tokens.slice(0,e))},t.prototype._isInExpansionCase=function(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===ju.EXPANSION_CASE_EXP_START},t.prototype._isInExpansionForm=function(){return this._expansionCaseStack.length>0&&this._expansionCaseStack[this._expansionCaseStack.length-1]===ju.EXPANSION_FORM_START},t}(),qu=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},zu=function(t){function e(e,n,r){t.call(this,n,r),this.elementName=e}return qu(e,t),e.create=function(t,n,r){return new e(t,n,r)},e}(Au),Wu=function(){function t(t,e){this.rootNodes=t,this.errors=e}return t}(),Gu=function(){function t(t){this.getTagDefinition=t}return t.prototype.parse=function(t,e,n,r){void 0===n&&(n=!1),void 0===r&&(r=Da);var i=Q(t,e,this.getTagDefinition,n,r),o=new Ku(i.tokens,this.getTagDefinition).build();return new Wu(o.rootNodes,i.errors.concat(o.errors))},t}(),Ku=function(){function t(t,e){this.tokens=t,this.getTagDefinition=e,this._index=-1,this._rootNodes=[],this._errors=[],this._elementStack=[],this._advance()}return t.prototype.build=function(){for(;this._peek.type!==ju.EOF;)this._peek.type===ju.TAG_OPEN_START?this._consumeStartTag(this._advance()):this._peek.type===ju.TAG_CLOSE?this._consumeEndTag(this._advance()):this._peek.type===ju.CDATA_START?(this._closeVoidElement(),this._consumeCdata(this._advance())):this._peek.type===ju.COMMENT_START?(this._closeVoidElement(),this._consumeComment(this._advance())):this._peek.type===ju.TEXT||this._peek.type===ju.RAW_TEXT||this._peek.type===ju.ESCAPABLE_RAW_TEXT?(this._closeVoidElement(),this._consumeText(this._advance())):this._peek.type===ju.EXPANSION_FORM_START?this._consumeExpansion(this._advance()):this._advance();return new Wu(this._rootNodes,this._errors)},t.prototype._advance=function(){var t=this._peek;return this._index<this.tokens.length-1&&this._index++,this._peek=this.tokens[this._index],t},t.prototype._advanceIf=function(t){return this._peek.type===t?this._advance():null},t.prototype._consumeCdata=function(){this._consumeText(this._advance()),this._advanceIf(ju.CDATA_END)},t.prototype._consumeComment=function(t){var e=this._advanceIf(ju.RAW_TEXT);this._advanceIf(ju.COMMENT_END);var n=r(e)?e.parts[0].trim():null;this._addToParent(new Iu(n,t.sourceSpan))},t.prototype._consumeExpansion=function(t){for(var e=this._advance(),n=this._advance(),r=[];this._peek.type===ju.EXPANSION_CASE_VALUE;){var i=this._parseExpansionCase();if(!i)return;r.push(i)}if(this._peek.type!==ju.EXPANSION_FORM_END)return void this._errors.push(zu.create(null,this._peek.sourceSpan,"Invalid ICU message. Missing '}'."));var o=new Tu(t.sourceSpan.start,this._peek.sourceSpan.end);this._addToParent(new Mu(e.parts[0],n.parts[0],r,o,e.sourceSpan)),this._advance()},t.prototype._parseExpansionCase=function(){var e=this._advance();if(this._peek.type!==ju.EXPANSION_CASE_EXP_START)return this._errors.push(zu.create(null,this._peek.sourceSpan,"Invalid ICU message. Missing '{'.")),null;var n=this._advance(),r=this._collectExpansionExpTokens(n);if(!r)return null;var i=this._advance();r.push(new Lu(ju.EOF,[],i.sourceSpan));var o=new t(r,this.getTagDefinition).build();if(o.errors.length>0)return this._errors=this._errors.concat(o.errors),null;var s=new Tu(e.sourceSpan.start,i.sourceSpan.end),a=new Tu(n.sourceSpan.start,i.sourceSpan.end);return new Ru(e.parts[0],o.rootNodes,s,e.sourceSpan,a)},t.prototype._collectExpansionExpTokens=function(t){for(var e=[],n=[ju.EXPANSION_CASE_EXP_START];;){if((this._peek.type===ju.EXPANSION_FORM_START||this._peek.type===ju.EXPANSION_CASE_EXP_START)&&n.push(this._peek.type),this._peek.type===ju.EXPANSION_CASE_EXP_END){if(!ut(n,ju.EXPANSION_CASE_EXP_START))return this._errors.push(zu.create(null,t.sourceSpan,"Invalid ICU message. Missing '}'.")),null;if(n.pop(),0==n.length)return e}if(this._peek.type===ju.EXPANSION_FORM_END){if(!ut(n,ju.EXPANSION_FORM_START))return this._errors.push(zu.create(null,t.sourceSpan,"Invalid ICU message. Missing '}'.")),null;n.pop()}if(this._peek.type===ju.EOF)return this._errors.push(zu.create(null,t.sourceSpan,"Invalid ICU message. Missing '}'.")),null;e.push(this._advance())}},t.prototype._consumeText=function(t){var e=t.parts[0];if(e.length>0&&"\n"==e[0]){var n=this._getParentElement();r(n)&&0==n.children.length&&this.getTagDefinition(n.name).ignoreFirstLf&&(e=e.substring(1))}e.length>0&&this._addToParent(new Ou(e,t.sourceSpan))},t.prototype._closeVoidElement=function(){if(this._elementStack.length>0){var t=this._elementStack[this._elementStack.length-1];this.getTagDefinition(t.name).isVoid&&this._elementStack.pop()}},t.prototype._consumeStartTag=function(t){for(var e=t.parts[0],n=t.parts[1],r=[];this._peek.type===ju.ATTR_NAME;)r.push(this._consumeAttr(this._advance()));var i=this._getElementFullName(e,n,this._getParentElement()),o=!1;if(this._peek.type===ju.TAG_OPEN_END_VOID){this._advance(),o=!0;var s=this.getTagDefinition(i);s.canSelfClose||null!==l(i)||s.isVoid||this._errors.push(zu.create(i,t.sourceSpan,'Only void and foreign elements can be self closed "'+t.parts[1]+'"'))}else this._peek.type===ju.TAG_OPEN_END&&(this._advance(),o=!1);var a=this._peek.sourceSpan.start,u=new Tu(t.sourceSpan.start,a),c=new Nu(i,r,[],u,u,null);this._pushElement(c),o&&(this._popElement(i),c.endSourceSpan=u)},t.prototype._pushElement=function(t){if(this._elementStack.length>0){var e=this._elementStack[this._elementStack.length-1];this.getTagDefinition(e.name).isClosedByChild(t.name)&&this._elementStack.pop()}var n=this.getTagDefinition(t.name),r=this._getParentElementSkippingContainers(),i=r.parent,o=r.container;if(i&&n.requireExtraParent(i.name)){var s=new Nu(n.parentToAdd,[],[],t.sourceSpan,t.startSourceSpan,t.endSourceSpan);this._insertBeforeContainer(i,o,s)}this._addToParent(t),this._elementStack.push(t)},t.prototype._consumeEndTag=function(t){var e=this._getElementFullName(t.parts[0],t.parts[1],this._getParentElement());this._getParentElement()&&(this._getParentElement().endSourceSpan=t.sourceSpan),this.getTagDefinition(e).isVoid?this._errors.push(zu.create(e,t.sourceSpan,'Void elements do not have end tags "'+t.parts[1]+'"')):this._popElement(e)||this._errors.push(zu.create(e,t.sourceSpan,'Unexpected closing tag "'+t.parts[1]+'"'))},t.prototype._popElement=function(t){for(var e=this._elementStack.length-1;e>=0;e--){var n=this._elementStack[e];if(n.name==t)return this._elementStack.splice(e,this._elementStack.length-e),!0;if(!this.getTagDefinition(n.name).closedByParent)return!1}return!1},t.prototype._consumeAttr=function(t){var e,n=h(t.parts[0],t.parts[1]),r=t.sourceSpan.end,i="";if(this._peek.type===ju.ATTR_VALUE){var o=this._advance();i=o.parts[0],r=o.sourceSpan.end,e=o.sourceSpan}return new ku(n,i,new Tu(t.sourceSpan.start,r),e)},t.prototype._getParentElement=function(){return this._elementStack.length>0?this._elementStack[this._elementStack.length-1]:null},t.prototype._getParentElementSkippingContainers=function(){for(var t=null,e=this._elementStack.length-1;e>=0;e--){if("ng-container"!==this._elementStack[e].name)return{parent:this._elementStack[e],container:t};t=this._elementStack[e]}return{parent:this._elementStack[this._elementStack.length-1],container:t}},t.prototype._addToParent=function(t){var e=this._getParentElement();r(e)?e.children.push(t):this._rootNodes.push(t)},t.prototype._insertBeforeContainer=function(t,e,n){if(e){if(t){var r=t.children.indexOf(e);t.children[r]=n}else this._rootNodes.push(n);n.children.push(e),this._elementStack.splice(this._elementStack.indexOf(e),0,n)}else this._addToParent(n),this._elementStack.push(n)},t.prototype._getElementFullName=function(t,e,n){return i(t)&&(t=this.getTagDefinition(e).implicitNamespacePrefix,i(t)&&r(n)&&(t=l(n.name))),h(t,e)},t}(),Xu=function(){function t(t,e,n,r,i){this.nodes=t,this.placeholders=e,this.placeholderToMessage=n,this.meaning=r,this.description=i}return t}(),Qu=function(){function t(t,e){this.value=t,this.sourceSpan=e}return t.prototype.visit=function(t,e){return t.visitText(this,e)},t}(),Yu=function(){function t(t,e){this.children=t,this.sourceSpan=e}return t.prototype.visit=function(t,e){return t.visitContainer(this,e)},t}(),$u=function(){function t(t,e,n,r){this.expression=t,this.type=e,this.cases=n,this.sourceSpan=r}return t.prototype.visit=function(t,e){return t.visitIcu(this,e)},t}(),Zu=function(){function t(t,e,n,r,i,o,s){this.tag=t,this.attrs=e,this.startName=n,this.closeName=r,this.children=i,this.isVoid=o,this.sourceSpan=s}return t.prototype.visit=function(t,e){return t.visitTagPlaceholder(this,e)},t}(),Ju=function(){function t(t,e,n){this.value=t,this.name=e,this.sourceSpan=n}return t.prototype.visit=function(t,e){return t.visitPlaceholder(this,e)},t}(),tc=function(){function t(t,e,n){this.value=t,this.name=e,this.sourceSpan=n}return t.prototype.visit=function(t,e){return t.visitIcuPlaceholder(this,e)},t}(),ec={A:"LINK",B:"BOLD_TEXT",BR:"LINE_BREAK",EM:"EMPHASISED_TEXT",H1:"HEADING_LEVEL1",H2:"HEADING_LEVEL2",H3:"HEADING_LEVEL3",H4:"HEADING_LEVEL4",H5:"HEADING_LEVEL5",H6:"HEADING_LEVEL6",HR:"HORIZONTAL_RULE",I:"ITALIC_TEXT",LI:"LIST_ITEM",LINK:"MEDIA_LINK",OL:"ORDERED_LIST",P:"PARAGRAPH",Q:"QUOTATION",S:"STRIKETHROUGH_TEXT",SMALL:"SMALL_TEXT",SUB:"SUBSTRIPT",SUP:"SUPERSCRIPT",TBODY:"TABLE_BODY",TD:"TABLE_CELL",TFOOT:"TABLE_FOOTER",TH:"TABLE_HEADER_CELL",THEAD:"TABLE_HEADER",TR:"TABLE_ROW",TT:"MONOSPACED_TEXT",U:"UNDERLINED_TEXT",UL:"UNORDERED_LIST"},nc=function(){function t(){this._placeHolderNameCounts={},this._signatureToName={}}return t.prototype.getStartTagPlaceholderName=function(t,e,n){var r=this._hashTag(t,e,n);if(this._signatureToName[r])return this._signatureToName[r];var i=t.toUpperCase(),o=ec[i]||"TAG_"+i,s=this._generateUniqueName(n?o:"START_"+o);return this._signatureToName[r]=s,s},t.prototype.getCloseTagPlaceholderName=function(t){var e=this._hashClosingTag(t);if(this._signatureToName[e])return this._signatureToName[e];var n=t.toUpperCase(),r=ec[n]||"TAG_"+n,i=this._generateUniqueName("CLOSE_"+r);return this._signatureToName[e]=i,i},t.prototype.getPlaceholderName=function(t,e){var n=t.toUpperCase(),r="PH: "+n+"="+e;if(this._signatureToName[r])return this._signatureToName[r];var i=this._generateUniqueName(n);return this._signatureToName[r]=i,i},t.prototype.getUniquePlaceholder=function(t){return this._generateUniqueName(t.toUpperCase())},t.prototype._hashTag=function(t,e,n){var r="<"+t,i=Object.keys(e).sort().map(function(t){return" "+t+"="+e[t]}).join(""),o=n?"/>":"></"+t+">";return r+i+o},t.prototype._hashClosingTag=function(t){return this._hashTag("/"+t,{},!1)},t.prototype._generateUniqueName=function(t){var e=this._placeHolderNameCounts.hasOwnProperty(t);if(!e)return this._placeHolderNameCounts[t]=1,t;var n=this._placeHolderNameCounts[t];return this._placeHolderNameCounts[t]=n+1,t+"_"+n},t}(),rc=new wu(new fu),ic=function(){function t(t,e){this._expressionParser=t,this._interpolationConfig=e}return t.prototype.toI18nMessage=function(t,e,n){this._isIcu=1==t.length&&t[0]instanceof Mu,this._icuDepth=0,this._placeholderRegistry=new nc,this._placeholderToContent={},this._placeholderToMessage={};var r=X(this,t,{});return new Xu(r,this._placeholderToContent,this._placeholderToMessage,e,n)},t.prototype.visitElement=function(t){var e=X(this,t.children),n={};t.attrs.forEach(function(t){n[t.name]=t.value});var r=f(t.name).isVoid,i=this._placeholderRegistry.getStartTagPlaceholderName(t.name,n,r);this._placeholderToContent[i]=t.sourceSpan.toString();var o="";return r||(o=this._placeholderRegistry.getCloseTagPlaceholderName(t.name),this._placeholderToContent[o]="</"+t.name+">"),new Zu(t.name,n,i,o,e,r,t.sourceSpan)},t.prototype.visitAttribute=function(t){return this._visitTextWithInterpolation(t.value,t.sourceSpan)},t.prototype.visitText=function(t){return this._visitTextWithInterpolation(t.value,t.sourceSpan)},t.prototype.visitComment=function(){return null},t.prototype.visitExpansion=function(e){var n=this;this._icuDepth++;var r={},i=new $u(e.switchValue,e.type,r,e.sourceSpan);if(e.cases.forEach(function(t){r[t.value]=new Yu(t.expression.map(function(t){return t.visit(n,{})}),t.expSourceSpan)}),this._icuDepth--,this._isIcu||this._icuDepth>0){var o=this._placeholderRegistry.getUniquePlaceholder("VAR_"+e.type);return i.expressionPlaceholder=o,this._placeholderToContent[o]=e.switchValue,i}var s=this._placeholderRegistry.getPlaceholderName("ICU",e.sourceSpan.toString()),a=new t(this._expressionParser,this._interpolationConfig);return this._placeholderToMessage[s]=a.toI18nMessage([e],"",""),new tc(i,s,e.sourceSpan)},t.prototype.visitExpansionCase=function(){throw new Error("Unreachable code")},t.prototype._visitTextWithInterpolation=function(t,e){var n=this._expressionParser.splitInterpolation(t,e.start.toString(),this._interpolationConfig);if(!n)return new Qu(t,e);for(var r=[],i=new Yu(r,e),o=this._interpolationConfig,s=o.start,a=o.end,u=0;u<n.strings.length-1;u++){var c=n.expressions[u],p=pt(c)||"INTERPOLATION",l=this._placeholderRegistry.getPlaceholderName(p,c);n.strings[u].length&&r.push(new Qu(n.strings[u],e)),r.push(new Ju(c,l,e)),this._placeholderToContent[l]=s+c+a}var h=n.strings.length-1;return n.strings[h].length&&r.push(new Qu(n.strings[h],e)),i},t}(),oc=/\/\/[\s\S]*i18n[\s\S]*\([\s\S]*ph[\s\S]*=[\s\S]*"([\s\S]*?)"[\s\S]*\)/g,sc=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},ac=function(t){function e(e,n){t.call(this,e,n)}return sc(e,t),e}(Au),uc="i18n",cc="i18n-",pc=/^i18n:?/,lc=function(){function t(t,e){this.messages=t,this.errors=e}return t}(),hc={};hc.Extract=0,hc.Merge=1,hc[hc.Extract]="Extract",hc[hc.Merge]="Merge";var fc=function(){function t(t,e){this._implicitTags=t,this._implicitAttrs=e}return t.prototype.extract=function(t,e){var n=this;return this._init(hc.Extract,e),t.forEach(function(t){return t.visit(n,null)}),this._inI18nBlock&&this._reportError(t[t.length-1],"Unclosed block"),new lc(this._messages,this._errors)},t.prototype.merge=function(t,e,n){this._init(hc.Merge,n),this._translations=e;var r=new Nu("wrapper",[],t,null,null,null),i=r.visit(this,null);return this._inI18nBlock&&this._reportError(t[t.length-1],"Unclosed block"),new Wu(i.children,this._errors)},t.prototype.visitExpansionCase=function(t,e){var n=X(this,t.expression,e);return this._mode===hc.Merge?new Ru(t.value,n,t.sourceSpan,t.valueSourceSpan,t.expSourceSpan):void 0},t.prototype.visitExpansion=function(t,e){this._mayBeAddBlockChildren(t);var n=this._inIcu;this._inIcu||(this._isInTranslatableSection&&this._addMessage([t]),this._inIcu=!0);var r=X(this,t.cases,e);return this._mode===hc.Merge&&(t=new Mu(t.switchValue,t.type,r,t.sourceSpan,t.switchValueSourceSpan)),this._inIcu=n,t},t.prototype.visitComment=function(t){var e=ft(t);if(e&&this._isInTranslatableSection)return void this._reportError(t,"Could not start a block inside a translatable section");var n=dt(t);if(n&&!this._inI18nBlock)return void this._reportError(t,"Trying to close an unopened block");if(!this._inI18nNode&&!this._inIcu)if(this._inI18nBlock){if(n){if(this._depth==this._blockStartDepth){this._closeTranslatableSection(t,this._blockChildren),this._inI18nBlock=!1;var r=this._addMessage(this._blockChildren,this._blockMeaningAndDesc),i=this._translateMessage(t,r);return X(this,i)}return void this._reportError(t,"I18N blocks should not cross element boundaries")}}else e&&(this._inI18nBlock=!0,this._blockStartDepth=this._depth,this._blockChildren=[],this._blockMeaningAndDesc=t.value.replace(pc,"").trim(),this._openTranslatableSection(t))},t.prototype.visitText=function(t){return this._isInTranslatableSection&&this._mayBeAddBlockChildren(t),t},t.prototype.visitElement=function(t,e){var n=this;this._mayBeAddBlockChildren(t),this._depth++;var r,i=this._inI18nNode,o=this._inImplicitNode,s=[],a=yt(t),u=a?a.value:"",c=this._implicitTags.some(function(e){return t.name===e})&&!this._inIcu&&!this._isInTranslatableSection,p=!o&&c;if(this._inImplicitNode=o||c,this._isInTranslatableSection||this._inIcu)(a||p)&&this._reportError(t,"Could not mark an element as translatable inside a translatable section"),this._mode==hc.Extract&&X(this,t.children);else{if(a||p){this._inI18nNode=!0;var l=this._addMessage(t.children,u);r=this._translateMessage(t,l)}if(this._mode==hc.Extract){var h=a||p;h&&this._openTranslatableSection(t),X(this,t.children),h&&this._closeTranslatableSection(t,t.children)}}if(this._mode===hc.Merge){var f=r||t.children;f.forEach(function(t){var r=t.visit(n,e);r&&!n._isInTranslatableSection&&(s=s.concat(r))})}if(this._visitAttributesOf(t),this._depth--,this._inI18nNode=i,this._inImplicitNode=o,this._mode===hc.Merge){var d=this._translateAttributes(t);return new Nu(t.name,d,s,t.sourceSpan,t.startSourceSpan,t.endSourceSpan)}},t.prototype.visitAttribute=function(){throw new Error("unreachable code")},t.prototype._init=function(t,e){this._mode=t,this._inI18nBlock=!1,this._inI18nNode=!1,this._depth=0,this._inIcu=!1,this._msgCountAtSectionStart=void 0,this._errors=[],this._messages=[],this._inImplicitNode=!1,this._createI18nMessage=ct(e)},t.prototype._visitAttributesOf=function(t){var e=this,n={},r=this._implicitAttrs[t.name]||[];t.attrs.filter(function(t){return t.name.startsWith(cc)}).forEach(function(t){return n[t.name.slice(cc.length)]=t.value}),t.attrs.forEach(function(t){t.name in n?e._addMessage([t],n[t.name]):r.some(function(e){return t.name===e})&&e._addMessage([t])})},t.prototype._addMessage=function(t,e){if(!(0==t.length||1==t.length&&t[0]instanceof ku&&!t[0].value)){var n=mt(e),r=n[0],i=n[1],o=this._createI18nMessage(t,r,i);return this._messages.push(o),o}},t.prototype._translateMessage=function(t,e){if(e&&this._mode===hc.Merge){var n=this._translations.get(e);if(n)return n;this._reportError(t,'Translation unavailable for message id="'+this._translations.digest(e)+'"')}return[]},t.prototype._translateAttributes=function(t){
+var e=this,n=t.attrs,r={};n.forEach(function(t){t.name.startsWith(cc)&&(r[t.name.slice(cc.length)]=mt(t.value)[0])});var i=[];return n.forEach(function(n){if(n.name!==uc&&!n.name.startsWith(cc))if(n.value&&""!=n.value&&r.hasOwnProperty(n.name)){var o=r[n.name],s=e._createI18nMessage([n],o,""),a=e._translations.get(s);if(a)if(0==a.length)i.push(new ku(n.name,"",n.sourceSpan));else if(a[0]instanceof Ou){var u=a[0].value;i.push(new ku(n.name,u,n.sourceSpan))}else e._reportError(t,'Unexpected translation for attribute "'+n.name+'" (id="'+e._translations.digest(s)+'")');else e._reportError(t,'Translation unavailable for attribute "'+n.name+'" (id="'+e._translations.digest(s)+'")')}else i.push(n)}),i},t.prototype._mayBeAddBlockChildren=function(t){this._inI18nBlock&&!this._inIcu&&this._depth==this._blockStartDepth&&this._blockChildren.push(t)},t.prototype._openTranslatableSection=function(t){this._isInTranslatableSection?this._reportError(t,"Unexpected section start"):this._msgCountAtSectionStart=this._messages.length},Object.defineProperty(t.prototype,"_isInTranslatableSection",{get:function(){return void 0!==this._msgCountAtSectionStart},enumerable:!0,configurable:!0}),t.prototype._closeTranslatableSection=function(t,e){if(!this._isInTranslatableSection)return void this._reportError(t,"Unexpected section end");var n=this._msgCountAtSectionStart,r=e.reduce(function(t,e){return t+(e instanceof Iu?0:1)},0);if(1==r)for(var i=this._messages.length-1;i>=n;i--){var o=this._messages[i].nodes;if(!(1==o.length&&o[0]instanceof Qu)){this._messages.splice(i,1);break}}this._msgCountAtSectionStart=void 0},t.prototype._reportError=function(t,e){this._errors.push(new ac(t.sourceSpan,e))},t}(),dc=function(){function t(){this.closedByParent=!1,this.contentType=Go.PARSABLE_DATA,this.isVoid=!1,this.ignoreFirstLf=!1,this.canSelfClose=!0}return t.prototype.requireExtraParent=function(){return!1},t.prototype.isClosedByChild=function(){return!1},t}(),yc=new dc,mc=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},vc=function(t){function e(){t.call(this,vt)}return mc(e,t),e.prototype.parse=function(e,n,r){return void 0===r&&(r=!1),t.prototype.parse.call(this,e,n,r,null)},e}(Gu),gc=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},_c=function(){function t(){}return t.prototype.visitText=function(t){return t.value},t.prototype.visitContainer=function(t){var e=this;return"["+t.children.map(function(t){return t.visit(e)}).join(", ")+"]"},t.prototype.visitIcu=function(t){var e=this,n=Object.keys(t.cases).map(function(n){return n+" {"+t.cases[n].visit(e)+"}"});return"{"+t.expression+", "+t.type+", "+n.join(", ")+"}"},t.prototype.visitTagPlaceholder=function(t){var e=this;return t.isVoid?'<ph tag name="'+t.startName+'"/>':'<ph tag name="'+t.startName+'">'+t.children.map(function(t){return t.visit(e)}).join(", ")+'</ph name="'+t.closeName+'">'},t.prototype.visitPlaceholder=function(t){return t.value?'<ph name="'+t.name+'">'+t.value+"</ph>":'<ph name="'+t.name+'"/>'},t.prototype.visitIcuPlaceholder=function(t){return'<ph icu name="'+t.name+'">'+t.value.visit(this)+"</ph>"},t}(),bc=new _c,wc=function(t){function e(){t.apply(this,arguments)}return gc(e,t),e.prototype.visitIcu=function(t){var e=this,n=Object.keys(t.cases).map(function(n){return n+" {"+t.cases[n].visit(e)+"}"});return"{"+t.type+", "+n.join(", ")+"}"},e}(_c),Ec={};Ec.Little=0,Ec.Big=1,Ec[Ec.Little]="Little",Ec[Ec.Big]="Big";var Sc=function(){function t(){}return t.prototype.write=function(){},t.prototype.load=function(){},t.prototype.digest=function(){},t.prototype.createNameMapper=function(){return null},t}(),Cc=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},xc=function(){function t(){}return t.prototype.visitTag=function(t){var e=this,n=this._serializeAttributes(t.attrs);if(0==t.children.length)return"<"+t.name+n+"/>";var r=t.children.map(function(t){return t.visit(e)});return"<"+t.name+n+">"+r.join("")+"</"+t.name+">"},t.prototype.visitText=function(t){return t.value},t.prototype.visitDeclaration=function(t){return"<?xml"+this._serializeAttributes(t.attrs)+" ?>"},t.prototype._serializeAttributes=function(t){var e=Object.keys(t).map(function(e){return e+'="'+t[e]+'"'}).join(" ");return e.length>0?" "+e:""},t.prototype.visitDoctype=function(t){return"<!DOCTYPE "+t.rootTag+" [\n"+t.dtd+"\n]>"},t}(),Tc=new xc,Pc=function(){function t(t){var e=this;this.attrs={},Object.keys(t).forEach(function(n){e.attrs[n]=Wt(t[n])})}return t.prototype.visit=function(t){return t.visitDeclaration(this)},t}(),Ac=function(){function t(t,e){this.rootTag=t,this.dtd=e}return t.prototype.visit=function(t){return t.visitDoctype(this)},t}(),Oc=function(){function t(t,e,n){var r=this;void 0===e&&(e={}),void 0===n&&(n=[]),this.name=t,this.children=n,this.attrs={},Object.keys(e).forEach(function(t){r.attrs[t]=Wt(e[t])})}return t.prototype.visit=function(t){return t.visitTag(this)},t}(),Mc=function(){function t(t){this.value=Wt(t)}return t.prototype.visit=function(t){return t.visitText(this)},t}(),Rc=function(t){function e(e){void 0===e&&(e=0),t.call(this,"\n"+new Array(e+1).join(" "))}return Cc(e,t),e}(Mc),kc=[[/&/g,"&amp;"],[/"/g,"&quot;"],[/'/g,"&apos;"],[/</g,"&lt;"],[/>/g,"&gt;"]],Nc=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Ic="1.2",Dc="urn:oasis:names:tc:xliff:document:1.2",jc="en",Lc="x",Vc="source",Fc="target",Uc="trans-unit",Bc=function(t){function e(){t.apply(this,arguments)}return Nc(e,t),e.prototype.write=function(t){var e=this,n=new Hc,r={},i=[];t.forEach(function(t){var o=e.digest(t);if(!r[o]){r[o]=!0;var s=new Oc(Uc,{id:o,datatype:"html"});s.children.push(new Rc(8),new Oc(Vc,{},n.serialize(t.nodes)),new Rc(8),new Oc(Fc)),t.description&&s.children.push(new Rc(8),new Oc("note",{priority:"1",from:"description"},[new Mc(t.description)])),t.meaning&&s.children.push(new Rc(8),new Oc("note",{priority:"1",from:"meaning"},[new Mc(t.meaning)])),s.children.push(new Rc(6)),i.push(new Rc(6),s)}});var o=new Oc("body",{},i.concat([new Rc(4)])),s=new Oc("file",{"source-language":jc,datatype:"plaintext",original:"ng2.template"},[new Rc(4),o,new Rc(2)]),a=new Oc("xliff",{version:Ic,xmlns:Dc},[new Rc(2),s,new Rc]);return zt([new Pc({version:"1.0",encoding:"UTF-8"}),new Rc,a,new Rc])},e.prototype.load=function(t,e){var n=new qc,r=n.parse(t,e),i=r.mlNodesByMsgId,o=r.errors,s={},a=new zc;if(Object.keys(i).forEach(function(t){var e=a.convert(i[t]),n=e.i18nNodes,r=e.errors;o.push.apply(o,r),s[t]=n}),o.length)throw new Error("xliff parse errors:\n"+o.join("\n"));return s},e.prototype.digest=function(t){return gt(t)},e}(Sc),Hc=function(){function t(){}return t.prototype.visitText=function(t){return[new Mc(t.value)]},t.prototype.visitContainer=function(t){var e=this,n=[];return t.children.forEach(function(t){return n.push.apply(n,t.visit(e))}),n},t.prototype.visitIcu=function(){if(this._isInIcu)throw new Error("xliff does not support nested ICU messages");this._isInIcu=!0;var t=[];return this._isInIcu=!1,t},t.prototype.visitTagPlaceholder=function(t){var e=Gt(t.tag),n=new Oc(Lc,{id:t.startName,ctype:e});if(t.isVoid)return[n];var r=new Oc(Lc,{id:t.closeName,ctype:e});return[n].concat(this.serialize(t.children),[r])},t.prototype.visitPlaceholder=function(t){return[new Oc(Lc,{id:t.name})]},t.prototype.visitIcuPlaceholder=function(t){return[new Oc(Lc,{id:t.name})]},t.prototype.serialize=function(t){var e=this;return this._isInIcu=!1,(n=[]).concat.apply(n,t.map(function(t){return t.visit(e)}));var n},t}(),qc=function(){function t(){}return t.prototype.parse=function(t,e){this._unitMlNodes=[],this._mlNodesByMsgId={};var n=(new vc).parse(t,e,!1);return this._errors=n.errors,X(this,n.rootNodes,null),{mlNodesByMsgId:this._mlNodesByMsgId,errors:this._errors}},t.prototype.visitElement=function(t){switch(t.name){case Uc:this._unitMlNodes=null;var e=t.attrs.find(function(t){return"id"===t.name});if(e){var n=e.value;this._mlNodesByMsgId.hasOwnProperty(n)?this._addError(t,"Duplicated translations for msg "+n):(X(this,t.children,null),this._unitMlNodes?this._mlNodesByMsgId[n]=this._unitMlNodes:this._addError(t,"Message "+n+" misses a translation"))}else this._addError(t,"<"+Uc+'> misses the "id" attribute');break;case Vc:break;case Fc:this._unitMlNodes=t.children;break;default:X(this,t.children,null)}},t.prototype.visitAttribute=function(){},t.prototype.visitText=function(){},t.prototype.visitComment=function(){},t.prototype.visitExpansion=function(){},t.prototype.visitExpansionCase=function(){},t.prototype._addError=function(t,e){this._errors.push(new ac(t.sourceSpan,e))},t}(),zc=function(){function t(){}return t.prototype.convert=function(t){return this._errors=[],{i18nNodes:X(this,t),errors:this._errors}},t.prototype.visitText=function(t){return new Qu(t.value,t.sourceSpan)},t.prototype.visitElement=function(t){if(t.name===Lc){var e=t.attrs.find(function(t){return"id"===t.name});if(e)return new Ju("",e.value,t.sourceSpan);this._addError(t,"<"+Lc+'> misses the "id" attribute')}else this._addError(t,"Unexpected tag")},t.prototype.visitExpansion=function(){},t.prototype.visitExpansionCase=function(){},t.prototype.visitComment=function(){},t.prototype.visitAttribute=function(){},t.prototype._addError=function(t,e){this._errors.push(new ac(t.sourceSpan,e))},t}(),Wc=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Gc="messagebundle",Kc="msg",Xc="ph",Qc="ex",Yc='<!ELEMENT messagebundle (msg)*>\n<!ATTLIST messagebundle class CDATA #IMPLIED>\n\n<!ELEMENT msg (#PCDATA|ph|source)*>\n<!ATTLIST msg id CDATA #IMPLIED>\n<!ATTLIST msg seq CDATA #IMPLIED>\n<!ATTLIST msg name CDATA #IMPLIED>\n<!ATTLIST msg desc CDATA #IMPLIED>\n<!ATTLIST msg meaning CDATA #IMPLIED>\n<!ATTLIST msg obsolete (obsolete) #IMPLIED>\n<!ATTLIST msg xml:space (default|preserve) "default">\n<!ATTLIST msg is_hidden CDATA #IMPLIED>\n\n<!ELEMENT source (#PCDATA)>\n\n<!ELEMENT ph (#PCDATA|ex)*>\n<!ATTLIST ph name CDATA #REQUIRED>\n\n<!ELEMENT ex (#PCDATA)>',$c=function(t){function e(){t.apply(this,arguments)}return Wc(e,t),e.prototype.write=function(t){var e=this,n=new Jc,r=new Zc,i={},o=new Oc(Gc);return t.forEach(function(t){var n=e.digest(t);if(!i[n]){i[n]=!0;var s=e.createNameMapper(t),a={id:n};t.description&&(a.desc=t.description),t.meaning&&(a.meaning=t.meaning),o.children.push(new Rc(2),new Oc(Kc,a,r.serialize(t.nodes,{mapper:s})))}}),o.children.push(new Rc),zt([new Pc({version:"1.0",encoding:"UTF-8"}),new Rc,new Ac(Gc,Yc),new Rc,n.addDefaultExamples(o),new Rc])},e.prototype.load=function(){throw new Error("Unsupported")},e.prototype.digest=function(t){return Kt(t)},e.prototype.createNameMapper=function(t){return new tp(t)},e}(Sc),Zc=function(){function t(){}return t.prototype.visitText=function(t){return[new Mc(t.value)]},t.prototype.visitContainer=function(t,e){var n=this,r=[];return t.children.forEach(function(t){return r.push.apply(r,t.visit(n,e))}),r},t.prototype.visitIcu=function(t,e){var n=this,r=[new Mc("{"+t.expressionPlaceholder+", "+t.type+", ")];return Object.keys(t.cases).forEach(function(i){r.push.apply(r,[new Mc(i+" {")].concat(t.cases[i].visit(n,e),[new Mc("} ")]))}),r.push(new Mc("}")),r},t.prototype.visitTagPlaceholder=function(t,e){var n=new Oc(Qc,{},[new Mc("<"+t.tag+">")]),r=e.mapper.toPublicName(t.startName),i=new Oc(Xc,{name:r},[n]);if(t.isVoid)return[i];var o=new Oc(Qc,{},[new Mc("</"+t.tag+">")]);r=e.mapper.toPublicName(t.closeName);var s=new Oc(Xc,{name:r},[o]);return[i].concat(this.serialize(t.children,e),[s])},t.prototype.visitPlaceholder=function(t,e){var n=e.mapper.toPublicName(t.name);return[new Oc(Xc,{name:n})]},t.prototype.visitIcuPlaceholder=function(t,e){var n=e.mapper.toPublicName(t.name);return[new Oc(Xc,{name:n})]},t.prototype.serialize=function(t,e){var n=this;return(r=[]).concat.apply(r,t.map(function(t){return t.visit(n,e)}));var r},t}(),Jc=function(){function t(){}return t.prototype.addDefaultExamples=function(t){return t.visit(this),t},t.prototype.visitTag=function(t){var e=this;if(t.name===Xc){if(!t.children||0==t.children.length){var n=new Mc(t.attrs.name||"...");t.children=[new Oc(Qc,{},[n])]}}else t.children&&t.children.forEach(function(t){return t.visit(e)})},t.prototype.visitText=function(){},t.prototype.visitDeclaration=function(){},t.prototype.visitDoctype=function(){},t}(),tp=function(){function t(t){var e=this;this.internalToXmb={},this.xmbToNextId={},this.xmbToInternal={},t.nodes.forEach(function(t){return t.visit(e)})}return t.prototype.toPublicName=function(t){return this.internalToXmb.hasOwnProperty(t)?this.internalToXmb[t]:null},t.prototype.toInternalName=function(t){return this.xmbToInternal.hasOwnProperty(t)?this.xmbToInternal[t]:null},t.prototype.visitText=function(){return null},t.prototype.visitContainer=function(t){var e=this;t.children.forEach(function(t){return t.visit(e)})},t.prototype.visitIcu=function(t){var e=this;Object.keys(t.cases).forEach(function(n){t.cases[n].visit(e)})},t.prototype.visitTagPlaceholder=function(t){var e=this;this.addPlaceholder(t.startName),t.children.forEach(function(t){return t.visit(e)}),this.addPlaceholder(t.closeName)},t.prototype.visitPlaceholder=function(t){this.addPlaceholder(t.name)},t.prototype.visitIcuPlaceholder=function(t){this.addPlaceholder(t.name)},t.prototype.addPlaceholder=function(t){if(t&&!this.internalToXmb.hasOwnProperty(t)){var e=t.toUpperCase().replace(/[^A-Z0-9_]/g,"_");if(this.xmbToInternal.hasOwnProperty(e)){var n=this.xmbToNextId[e];this.xmbToNextId[e]=n+1,e=e+"_"+n}else this.xmbToNextId[e]=1;this.internalToXmb[t]=e,this.xmbToInternal[e]=t}},t}(),ep=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},np="translationbundle",rp="translation",ip="ph",op=function(t){function e(){t.apply(this,arguments)}return ep(e,t),e.prototype.write=function(){throw new Error("Unsupported")},e.prototype.load=function(t,e){var n=new sp,r=n.parse(t,e),i=r.mlNodesByMsgId,o=r.errors,s={},a=new ap;if(Object.keys(i).forEach(function(t){var e=a.convert(i[t]),n=e.i18nNodes,r=e.errors;o.push.apply(o,r),s[t]=n}),o.length)throw new Error("xtb parse errors:\n"+o.join("\n"));return s},e.prototype.digest=function(t){return Kt(t)},e.prototype.createNameMapper=function(t){return new tp(t)},e}(Sc),sp=function(){function t(){}return t.prototype.parse=function(t,e){this._bundleDepth=0,this._mlNodesByMsgId={};var n=(new vc).parse(t,e,!0);return this._errors=n.errors,X(this,n.rootNodes),{mlNodesByMsgId:this._mlNodesByMsgId,errors:this._errors}},t.prototype.visitElement=function(t){switch(t.name){case np:this._bundleDepth++,this._bundleDepth>1&&this._addError(t,"<"+np+"> elements can not be nested"),X(this,t.children,null),this._bundleDepth--;break;case rp:var e=t.attrs.find(function(t){return"id"===t.name});if(e){var n=e.value;this._mlNodesByMsgId.hasOwnProperty(n)?this._addError(t,"Duplicated translations for msg "+n):this._mlNodesByMsgId[n]=t.children}else this._addError(t,"<"+rp+'> misses the "id" attribute');break;default:this._addError(t,"Unexpected tag")}},t.prototype.visitAttribute=function(){},t.prototype.visitText=function(){},t.prototype.visitComment=function(){},t.prototype.visitExpansion=function(){},t.prototype.visitExpansionCase=function(){},t.prototype._addError=function(t,e){this._errors.push(new ac(t.sourceSpan,e))},t}(),ap=function(){function t(){}return t.prototype.convert=function(t){return this._errors=[],{i18nNodes:X(this,t),errors:this._errors}},t.prototype.visitText=function(t){return new Qu(t.value,t.sourceSpan)},t.prototype.visitExpansion=function(t){var e={};return X(this,t.cases).forEach(function(n){e[n.value]=new Yu(n.nodes,t.sourceSpan)}),new $u(t.switchValue,t.type,e,t.sourceSpan)},t.prototype.visitExpansionCase=function(t){return{value:t.value,nodes:X(this,t.expression)}},t.prototype.visitElement=function(t){if(t.name===ip){var e=t.attrs.find(function(t){return"name"===t.name});if(e)return new Ju("",e.value,t.sourceSpan);this._addError(t,"<"+ip+'> misses the "name" attribute')}else this._addError(t,"Unexpected tag")},t.prototype.visitComment=function(){},t.prototype.visitAttribute=function(){},t.prototype._addError=function(t,e){this._errors.push(new ac(t.sourceSpan,e))},t}(),up=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},cp=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},pp=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},lp=function(t){function e(){t.call(this,f)}return up(e,t),e.prototype.parse=function(e,n,r,i){return void 0===r&&(r=!1),void 0===i&&(i=Da),t.prototype.parse.call(this,e,n,r,i)},e=cp([M(),pp("design:paramtypes",[])],e)}(Gu),hp=function(){function t(t,e,n){void 0===t&&(t={}),this._i18nNodesByMsgId=t,this.digest=e,this.mapperFactory=n,this._i18nToHtml=new fp(t,e,n)}return t.load=function(e,n,r){var i=r.load(e,n),o=function(t){return r.digest(t)},s=function(t){return r.createNameMapper(t)};return new t(i,o,s)},t.prototype.get=function(t){var e=this._i18nToHtml.convert(t);if(e.errors.length)throw new Error(e.errors.join("\n"));return e.nodes},t.prototype.has=function(t){return this.digest(t)in this._i18nNodesByMsgId},t}(),fp=function(){function t(t,e,n){void 0===t&&(t={}),this._i18nNodesByMsgId=t,this._digest=e,this._mapperFactory=n,this._contextStack=[],this._errors=[]}return t.prototype.convert=function(t){this._contextStack.length=0,this._errors.length=0;var e=this._convertToText(t),n=t.nodes[0].sourceSpan.start.file.url,r=(new lp).parse(e,n,!0);return{nodes:r.rootNodes,errors:this._errors.concat(r.errors)}},t.prototype.visitText=function(t){return t.value},t.prototype.visitContainer=function(t){var e=this;return t.children.map(function(t){return t.visit(e)}).join("")},t.prototype.visitIcu=function(t){var e=this,n=Object.keys(t.cases).map(function(n){return n+" {"+t.cases[n].visit(e)+"}"}),r=this._srcMsg.placeholders.hasOwnProperty(t.expression)?this._srcMsg.placeholders[t.expression]:t.expression;return"{"+r+", "+t.type+", "+n.join(" ")+"}"},t.prototype.visitPlaceholder=function(t){var e=this._mapper(t.name);return this._srcMsg.placeholders.hasOwnProperty(e)?this._srcMsg.placeholders[e]:this._srcMsg.placeholderToMessage.hasOwnProperty(e)?this._convertToText(this._srcMsg.placeholderToMessage[e]):(this._addError(t,"Unknown placeholder"),"")},t.prototype.visitTagPlaceholder=function(){throw"unreachable code"},t.prototype.visitIcuPlaceholder=function(){throw"unreachable code"},t.prototype._convertToText=function(t){var e=this,n=this._digest(t),r=this._mapperFactory?this._mapperFactory(t):null;if(this._i18nNodesByMsgId.hasOwnProperty(n)){this._contextStack.push({msg:this._srcMsg,mapper:this._mapper}),this._srcMsg=t,this._mapper=function(t){return r?r.toInternalName(t):t};var i=this._i18nNodesByMsgId[n],o=i.map(function(t){return t.visit(e)}).join(""),s=this._contextStack.pop();return this._srcMsg=s.msg,this._mapper=s.mapper,o}return this._addError(t.nodes[0],"Missing translation for message "+n),""},t.prototype._addError=function(t,e){this._errors.push(new ac(t.sourceSpan,e))},t}(),dp=function(){function t(t,e,n){this._htmlParser=t,this._translations=e,this._translationsFormat=n}return t.prototype.parse=function(t,e,n,r){void 0===n&&(n=!1),void 0===r&&(r=Da);var i=this._htmlParser.parse(t,e,n,r);if(!this._translations||""===this._translations)return i;if(i.errors.length)return new Wu(i.rootNodes,i.errors);var o=this._createSerializer(),s=hp.load(this._translations,e,o);return ht(i.rootNodes,s,r,[],{})},t.prototype._createSerializer=function(){var t=(this._translationsFormat||"xlf").toLowerCase();switch(t){case"xmb":return new $c;case"xtb":return new op;case"xliff":case"xlf":default:return new Bc}},t}(),yp=Xt("core","linker/view"),mp=Xt("core","linker/view_utils"),vp=Xt("core","change_detection/change_detection"),gp=Xt("core","animation/animation_style_util"),_p=function(){function t(){}return t.ANALYZE_FOR_ENTRY_COMPONENTS={name:"ANALYZE_FOR_ENTRY_COMPONENTS",moduleUrl:Xt("core","metadata/di"),runtime:e.ANALYZE_FOR_ENTRY_COMPONENTS},t.ViewUtils={name:"ViewUtils",moduleUrl:Xt("core","linker/view_utils"),runtime:_o.ViewUtils},t.AppView={name:"AppView",moduleUrl:yp,runtime:fo},t.DebugAppView={name:"DebugAppView",moduleUrl:yp,runtime:yo},t.ViewContainer={name:"ViewContainer",moduleUrl:Xt("core","linker/view_container"),runtime:po},t.ElementRef={name:"ElementRef",moduleUrl:Xt("core","linker/element_ref"),runtime:e.ElementRef},t.ViewContainerRef={name:"ViewContainerRef",moduleUrl:Xt("core","linker/view_container_ref"),runtime:e.ViewContainerRef},t.ChangeDetectorRef={name:"ChangeDetectorRef",moduleUrl:Xt("core","change_detection/change_detector_ref"),runtime:e.ChangeDetectorRef},t.RenderComponentType={name:"RenderComponentType",moduleUrl:Xt("core","render/api"),runtime:e.RenderComponentType},t.QueryList={name:"QueryList",moduleUrl:Xt("core","linker/query_list"),runtime:e.QueryList},t.TemplateRef={name:"TemplateRef",moduleUrl:Xt("core","linker/template_ref"),runtime:e.TemplateRef},t.TemplateRef_={name:"TemplateRef_",moduleUrl:Xt("core","linker/template_ref"),runtime:xo},t.CodegenComponentFactoryResolver={name:"CodegenComponentFactoryResolver",moduleUrl:Xt("core","linker/component_factory_resolver"),runtime:lo},t.ComponentFactoryResolver={name:"ComponentFactoryResolver",moduleUrl:Xt("core","linker/component_factory_resolver"),runtime:e.ComponentFactoryResolver},t.ComponentFactory={name:"ComponentFactory",runtime:e.ComponentFactory,moduleUrl:Xt("core","linker/component_factory")},t.ComponentRef_={name:"ComponentRef_",runtime:ho,moduleUrl:Xt("core","linker/component_factory")},t.ComponentRef={name:"ComponentRef",runtime:e.ComponentRef,moduleUrl:Xt("core","linker/component_factory")},t.NgModuleFactory={name:"NgModuleFactory",runtime:e.NgModuleFactory,moduleUrl:Xt("core","linker/ng_module_factory")},t.NgModuleInjector={name:"NgModuleInjector",runtime:mo,moduleUrl:Xt("core","linker/ng_module_factory")},t.RegisterModuleFactoryFn={name:"registerModuleFactory",runtime:vo,moduleUrl:Xt("core","linker/ng_module_factory_loader")},t.ValueUnwrapper={name:"ValueUnwrapper",moduleUrl:vp,runtime:Co},t.Injector={name:"Injector",moduleUrl:Xt("core","di/injector"),runtime:e.Injector},t.ViewEncapsulation={name:"ViewEncapsulation",moduleUrl:Xt("core","metadata/view"),runtime:e.ViewEncapsulation},t.ViewType={name:"ViewType",moduleUrl:Xt("core","linker/view_type"),runtime:go},t.ChangeDetectionStrategy={name:"ChangeDetectionStrategy",moduleUrl:vp,runtime:e.ChangeDetectionStrategy},t.StaticNodeDebugInfo={name:"StaticNodeDebugInfo",moduleUrl:Xt("core","linker/debug_context"),runtime:wo},t.DebugContext={name:"DebugContext",moduleUrl:Xt("core","linker/debug_context"),runtime:bo},t.Renderer={name:"Renderer",moduleUrl:Xt("core","render/api"),runtime:e.Renderer},t.SimpleChange={name:"SimpleChange",moduleUrl:vp,runtime:e.SimpleChange},t.UNINITIALIZED={name:"UNINITIALIZED",moduleUrl:vp,runtime:So},t.ChangeDetectorStatus={name:"ChangeDetectorStatus",moduleUrl:vp,runtime:so},t.checkBinding={name:"checkBinding",moduleUrl:mp,runtime:_o.checkBinding},t.devModeEqual={name:"devModeEqual",moduleUrl:vp,runtime:Eo},t.inlineInterpolate={name:"inlineInterpolate",moduleUrl:mp,runtime:_o.inlineInterpolate},t.interpolate={name:"interpolate",moduleUrl:mp,runtime:_o.interpolate},t.castByValue={name:"castByValue",moduleUrl:mp,runtime:_o.castByValue},t.EMPTY_ARRAY={name:"EMPTY_ARRAY",moduleUrl:mp,runtime:_o.EMPTY_ARRAY},t.EMPTY_MAP={name:"EMPTY_MAP",moduleUrl:mp,runtime:_o.EMPTY_MAP},t.createRenderElement={name:"createRenderElement",moduleUrl:mp,runtime:_o.createRenderElement},t.selectOrCreateRenderHostElement={name:"selectOrCreateRenderHostElement",moduleUrl:mp,runtime:_o.selectOrCreateRenderHostElement},t.pureProxies=[null,{name:"pureProxy1",moduleUrl:mp,runtime:_o.pureProxy1},{name:"pureProxy2",moduleUrl:mp,runtime:_o.pureProxy2},{name:"pureProxy3",moduleUrl:mp,runtime:_o.pureProxy3},{name:"pureProxy4",moduleUrl:mp,runtime:_o.pureProxy4},{name:"pureProxy5",moduleUrl:mp,runtime:_o.pureProxy5},{name:"pureProxy6",moduleUrl:mp,runtime:_o.pureProxy6},{name:"pureProxy7",moduleUrl:mp,runtime:_o.pureProxy7},{name:"pureProxy8",moduleUrl:mp,runtime:_o.pureProxy8},{name:"pureProxy9",moduleUrl:mp,runtime:_o.pureProxy9},{name:"pureProxy10",moduleUrl:mp,runtime:_o.pureProxy10}],t.SecurityContext={name:"SecurityContext",moduleUrl:Xt("core","security"),runtime:e.SecurityContext},t.AnimationKeyframe={name:"AnimationKeyframe",moduleUrl:Xt("core","animation/animation_keyframe"),runtime:No},t.AnimationStyles={name:"AnimationStyles",moduleUrl:Xt("core","animation/animation_styles"),runtime:Io},t.NoOpAnimationPlayer={name:"NoOpAnimationPlayer",moduleUrl:Xt("core","animation/animation_player"),runtime:Mo},t.AnimationGroupPlayer={name:"AnimationGroupPlayer",moduleUrl:Xt("core","animation/animation_group_player"),runtime:ko},t.AnimationSequencePlayer={name:"AnimationSequencePlayer",moduleUrl:Xt("core","animation/animation_sequence_player"),runtime:Ro},t.prepareFinalAnimationStyles={name:"prepareFinalAnimationStyles",moduleUrl:gp,runtime:Fo},t.balanceAnimationKeyframes={name:"balanceAnimationKeyframes",moduleUrl:gp,runtime:Uo},t.clearStyles={name:"clearStyles",moduleUrl:gp,runtime:Bo},t.renderStyles={name:"renderStyles",moduleUrl:gp,runtime:qo},t.collectAndResolveStyles={name:"collectAndResolveStyles",moduleUrl:gp,runtime:Ho},t.LOCALE_ID={name:"LOCALE_ID",moduleUrl:Xt("core","i18n/tokens"),runtime:e.LOCALE_ID},t.TRANSLATIONS_FORMAT={name:"TRANSLATIONS_FORMAT",moduleUrl:Xt("core","i18n/tokens"),runtime:e.TRANSLATIONS_FORMAT},t.setBindingDebugInfo={name:"setBindingDebugInfo",moduleUrl:mp,runtime:_o.setBindingDebugInfo},t.setBindingDebugInfoForChanges={name:"setBindingDebugInfoForChanges",moduleUrl:mp,runtime:_o.setBindingDebugInfoForChanges},t.AnimationTransition={name:"AnimationTransition",moduleUrl:Xt("core","animation/animation_transition"),runtime:Wo},t.InlineArray={name:"InlineArray",moduleUrl:mp,runtime:null},t.inlineArrays=[{name:"InlineArray2",moduleUrl:mp,runtime:_o.InlineArray2},{name:"InlineArray2",moduleUrl:mp,runtime:_o.InlineArray2},{name:"InlineArray4",moduleUrl:mp,runtime:_o.InlineArray4},{name:"InlineArray8",moduleUrl:mp,runtime:_o.InlineArray8},{name:"InlineArray16",moduleUrl:mp,runtime:_o.InlineArray16}],t.EMPTY_INLINE_ARRAY={name:"EMPTY_INLINE_ARRAY",moduleUrl:mp,runtime:_o.EMPTY_INLINE_ARRAY},t.InlineArrayDynamic={name:"InlineArrayDynamic",moduleUrl:mp,runtime:_o.InlineArrayDynamic},t.subscribeToRenderElement={name:"subscribeToRenderElement",moduleUrl:mp,runtime:_o.subscribeToRenderElement},t.createRenderComponentType={name:"createRenderComponentType",moduleUrl:mp,runtime:_o.createRenderComponentType},t.noop={name:"noop",moduleUrl:mp,runtime:_o.noop},t}(),bp=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},wp=["zero","one","two","few","many","other"],Ep=function(){function t(t,e,n){this.nodes=t,this.expanded=e,this.errors=n}return t}(),Sp=function(t){function e(e,n){t.call(this,e,n)}return bp(e,t),e}(Au),Cp=function(){function t(){this.isExpanded=!1,this.errors=[]}return t.prototype.visitElement=function(t){return new Nu(t.name,t.attrs,X(this,t.children),t.sourceSpan,t.startSourceSpan,t.endSourceSpan)},t.prototype.visitAttribute=function(t){return t},t.prototype.visitText=function(t){return t},t.prototype.visitComment=function(t){return t},t.prototype.visitExpansion=function(t){return this.isExpanded=!0,"plural"==t.type?ee(t,this.errors):ne(t,this.errors)},t.prototype.visitExpansionCase=function(){throw new Error("Should not be reached")},t}(),xp=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Tp=function(t){function e(e,n){t.call(this,n,e)}return xp(e,t),e}(Au),Pp=function(){function t(t,e){var n=this;this.component=t,this.sourceSpan=e,this.errors=[],this.viewQueries=ae(t),this.viewProviders=new Map,t.viewProviders.forEach(function(t){i(n.viewProviders.get(S(t.token)))&&n.viewProviders.set(S(t.token),!0)})}return t}(),Ap=function(){function t(t,e,n,i,o,s,a){var u=this;this.viewContext=t,this._parent=e,this._isViewRoot=n,this._directiveAsts=i,this._sourceSpan=a,this._transformedProviders=new Map,this._seenProviders=new Map,this._hasViewContainer=!1,this._attrs={},o.forEach(function(t){return u._attrs[t.name]=t.value});var c=i.map(function(t){return t.directive});this._allProviders=oe(c,a,t.errors),this._contentQueries=ue(c);var p=new Map;Array.from(this._allProviders.values()).forEach(function(t){u._addQueryReadsTo(t.token,p)}),s.forEach(function(t){u._addQueryReadsTo({value:t.name},p)}),r(p.get(Qt(_p.ViewContainerRef)))&&(this._hasViewContainer=!0),Array.from(this._allProviders.values()).forEach(function(t){var e=t.eager||r(p.get(S(t.token)));e&&u._getOrCreateLocalProvider(t.providerType,t.token,!0)})}return t.prototype.afterElement=function(){var t=this;Array.from(this._allProviders.values()).forEach(function(e){t._getOrCreateLocalProvider(e.providerType,e.token,!1)})},Object.defineProperty(t.prototype,"transformProviders",{get:function(){return Array.from(this._transformedProviders.values())},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"transformedDirectiveAsts",{get:function(){var t=this.transformProviders.map(function(t){return t.token.identifier}),e=this._directiveAsts.slice();return e.sort(function(e,n){return t.indexOf(e.directive.type)-t.indexOf(n.directive.type)}),e},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"transformedHasViewContainer",{get:function(){return this._hasViewContainer},enumerable:!0,configurable:!0}),t.prototype._addQueryReadsTo=function(t,e){this._getQueriesFor(t).forEach(function(n){var r=n.read||t;i(e.get(S(r)))&&e.set(S(r),!0)})},t.prototype._getQueriesFor=function(t){for(var e,n=[],r=this,i=0;null!==r;)e=r._contentQueries.get(S(t)),e&&n.push.apply(n,e.filter(function(t){return t.descendants||1>=i})),r._directiveAsts.length>0&&i++,r=r._parent;return e=this.viewContext.viewQueries.get(S(t)),e&&n.push.apply(n,e),n},t.prototype._getOrCreateLocalProvider=function(t,e,n){var i=this,o=this._allProviders.get(S(e));if(!o||(t===Yi.Directive||t===Yi.PublicService)&&o.providerType===Yi.PrivateService||(t===Yi.PrivateService||t===Yi.PublicService)&&o.providerType===Yi.Builtin)return null;var s=this._transformedProviders.get(S(e));if(s)return s;if(r(this._seenProviders.get(S(e))))return this.viewContext.errors.push(new Tp("Cannot instantiate cyclic dependency! "+E(e),this._sourceSpan)),null;this._seenProviders.set(S(e),!0);var a=o.providers.map(function(t){var e,s=t.useValue,a=t.useExisting;if(r(t.useExisting)){var u=i._getDependency(o.providerType,{token:t.useExisting},n);r(u.token)?a=u.token:(a=null,s=u.value)}else if(t.useFactory){
+var c=t.deps||t.useFactory.diDeps;e=c.map(function(t){return i._getDependency(o.providerType,t,n)})}else if(t.useClass){var c=t.deps||t.useClass.diDeps;e=c.map(function(t){return i._getDependency(o.providerType,t,n)})}return re(t,{useExisting:a,useValue:s,deps:e})});return s=ie(o,{eager:n,providers:a}),this._transformedProviders.set(S(e),s),s},t.prototype._getLocalDependency=function(t,e,n){if(void 0===n&&(n=null),e.isAttribute){var i=this._attrs[e.token.value];return{isValue:!0,value:null==i?null:i}}if(r(e.token)){if(t===Yi.Directive||t===Yi.Component){if(S(e.token)===Qt(_p.Renderer)||S(e.token)===Qt(_p.ElementRef)||S(e.token)===Qt(_p.ChangeDetectorRef)||S(e.token)===Qt(_p.TemplateRef))return e;S(e.token)===Qt(_p.ViewContainerRef)&&(this._hasViewContainer=!0)}if(S(e.token)===Qt(_p.Injector))return e;if(r(this._getOrCreateLocalProvider(t,e.token,n)))return e}return null},t.prototype._getDependency=function(t,e,n){void 0===n&&(n=null);var i=this,o=n,s=null;if(e.isSkipSelf||(s=this._getLocalDependency(t,e,n)),e.isSelf)!s&&e.isOptional&&(s={isValue:!0,value:null});else{for(;!s&&i._parent;){var a=i;i=i._parent,a._isViewRoot&&(o=!1),s=i._getLocalDependency(Yi.PublicService,e,o)}s||(s=!e.isHost||this.viewContext.component.isHost||this.viewContext.component.type.reference===S(e.token)||r(this.viewContext.viewProviders.get(S(e.token)))?e:e.isOptional?s={isValue:!0,value:null}:null)}return s||this.viewContext.errors.push(new Tp("No provider for "+E(e.token),this._sourceSpan)),s},t}(),Op=function(){function t(t,e,n){var r=this;this._transformedProviders=new Map,this._seenProviders=new Map,this._errors=[],this._allProviders=new Map,t.transitiveModule.modules.forEach(function(t){var e={token:{identifier:t},useClass:t};se([e],Yi.PublicService,!0,n,r._errors,r._allProviders)}),se(t.transitiveModule.providers.map(function(t){return t.provider}).concat(e),Yi.PublicService,!1,n,this._errors,this._allProviders)}return t.prototype.parse=function(){var t=this;if(Array.from(this._allProviders.values()).forEach(function(e){t._getOrCreateLocalProvider(e.token,e.eager)}),this._errors.length>0){var e=this._errors.join("\n");throw new Error("Provider parse errors:\n"+e)}return Array.from(this._transformedProviders.values())},t.prototype._getOrCreateLocalProvider=function(t,e){var n=this,i=this._allProviders.get(S(t));if(!i)return null;var o=this._transformedProviders.get(S(t));if(o)return o;if(r(this._seenProviders.get(S(t))))return this._errors.push(new Tp("Cannot instantiate cyclic dependency! "+E(t),i.sourceSpan)),null;this._seenProviders.set(S(t),!0);var s=i.providers.map(function(t){var o,s=t.useValue,a=t.useExisting;if(r(t.useExisting)){var u=n._getDependency({token:t.useExisting},e,i.sourceSpan);r(u.token)?a=u.token:(a=null,s=u.value)}else if(t.useFactory){var c=t.deps||t.useFactory.diDeps;o=c.map(function(t){return n._getDependency(t,e,i.sourceSpan)})}else if(t.useClass){var c=t.deps||t.useClass.diDeps;o=c.map(function(t){return n._getDependency(t,e,i.sourceSpan)})}return re(t,{useExisting:a,useValue:s,deps:o})});return o=ie(i,{eager:e,providers:s}),this._transformedProviders.set(S(t),o),o},t.prototype._getDependency=function(t,e,n){void 0===e&&(e=null);var i=!1;!t.isSkipSelf&&r(t.token)&&(S(t.token)===Qt(_p.Injector)||S(t.token)===Qt(_p.ComponentFactoryResolver)?i=!0:r(this._getOrCreateLocalProvider(t.token,e))&&(i=!0));var o=t;return t.isSelf&&!i&&(t.isOptional?o={isValue:!0,value:null}:this._errors.push(new Tp("No provider for "+E(t.token),n))),o},t}(),Mp=function(){function t(){}return t.prototype.hasProperty=function(){},t.prototype.hasElement=function(){},t.prototype.securityContext=function(){},t.prototype.allKnownElementNames=function(){},t.prototype.getMappedPropName=function(){},t.prototype.getDefaultComponentElementName=function(){},t.prototype.validateProperty=function(){},t.prototype.validateAttribute=function(){},t.prototype.normalizeAnimationStyleProperty=function(){},t.prototype.normalizeAnimationStyleValue=function(){},t}(),Rp=function(){function t(t,e){this.style=t,this.styleUrls=e}return t}(),kp=/@import\s+(?:url\()?\s*(?:(?:['"]([^'"]*))|([^;\)\s]*))[^;]*;?/g,Np=/\/\*.+?\*\//g,Ip=/^([^:\/?#]+):/,Dp=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},jp=".",Lp="attr",Vp="class",Fp="style",Up="animate-",Bp={};Bp.DEFAULT=0,Bp.LITERAL_ATTR=1,Bp.ANIMATION=2,Bp[Bp.DEFAULT]="DEFAULT",Bp[Bp.LITERAL_ATTR]="LITERAL_ATTR",Bp[Bp.ANIMATION]="ANIMATION";var Hp=function(){function t(t,e,n,r){this.name=t,this.expression=e,this.type=n,this.sourceSpan=r}return Object.defineProperty(t.prototype,"isLiteral",{get:function(){return this.type===Bp.LITERAL_ATTR},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isAnimation",{get:function(){return this.type===Bp.ANIMATION},enumerable:!0,configurable:!0}),t}(),qp=function(){function t(t,e,n,r,i){var o=this;this._exprParser=t,this._interpolationConfig=e,this._schemaRegistry=n,this._targetErrors=i,this.pipesByName=new Map,r.forEach(function(t){return o.pipesByName.set(t.name,t)})}return t.prototype.createDirectiveHostPropertyAsts=function(t,e){var n=this;if(t.hostProperties){var r=[];return Object.keys(t.hostProperties).forEach(function(i){var o=t.hostProperties[i];"string"==typeof o?n.parsePropertyBinding(i,o,!0,e,[],r):n._reportError('Value of the host property binding "'+i+'" needs to be a string representing an expression but got "'+o+'" ('+typeof o+")",e)}),r.map(function(e){return n.createElementPropertyAst(t.selector,e)})}},t.prototype.createDirectiveHostEventAsts=function(t,e){var n=this;if(t.hostListeners){var r=[];return Object.keys(t.hostListeners).forEach(function(i){var o=t.hostListeners[i];"string"==typeof o?n.parseEvent(i,o,e,[],r):n._reportError('Value of the host listener "'+i+'" needs to be a string representing an expression but got "'+o+'" ('+typeof o+")",e)}),r}},t.prototype.parseInterpolation=function(t,e){var n=e.start.toString();try{var r=this._exprParser.parseInterpolation(t,n,this._interpolationConfig);return r&&this._reportExpressionParserErrors(r.errors,e),this._checkPipes(r,e),r}catch(i){return this._reportError(""+i,e),this._exprParser.wrapLiteralPrimitive("ERROR",n)}},t.prototype.parseInlineTemplateBinding=function(t,e,n,r,i,o){for(var s=this._parseTemplateBindings(t,e,n),a=0;a<s.length;a++){var u=s[a];u.keyIsVar?o.push(new zi(u.key,u.name,n)):u.expression?this._parsePropertyAst(u.key,u.expression,n,r,i):(r.push([u.key,""]),this.parseLiteralAttr(u.key,null,n,r,i))}},t.prototype._parseTemplateBindings=function(t,e,n){var r=this,i=n.start.toString();try{var o=this._exprParser.parseTemplateBindings(t,e,i);return this._reportExpressionParserErrors(o.errors,n),o.templateBindings.forEach(function(t){t.expression&&r._checkPipes(t.expression,n)}),o.warnings.forEach(function(t){r._reportError(t,n,Pu.WARNING)}),o.templateBindings}catch(s){return this._reportError(""+s,n),[]}},t.prototype.parseLiteralAttr=function(t,e,n,r,i){he(t)?(t=t.substring(1),e&&this._reportError('Assigning animation triggers via @prop="exp" attributes with an expression is invalid. Use property bindings (e.g. [@prop]="exp") or use an attribute without a value (e.g. @prop) instead.',n,Pu.FATAL),this._parseAnimation(t,e,n,r,i)):i.push(new Hp(t,this._exprParser.wrapLiteralPrimitive(e,""),Bp.LITERAL_ATTR,n))},t.prototype.parsePropertyBinding=function(t,e,n,r,i,o){var s=!1;t.startsWith(Up)?(s=!0,t=t.substring(Up.length)):he(t)&&(s=!0,t=t.substring(1)),s?this._parseAnimation(t,e,r,i,o):this._parsePropertyAst(t,this._parseBinding(e,n,r),r,i,o)},t.prototype.parsePropertyInterpolation=function(t,e,n,r,i){var o=this.parseInterpolation(e,n);return o?(this._parsePropertyAst(t,o,n,r,i),!0):!1},t.prototype._parsePropertyAst=function(t,e,n,r,i){r.push([t,e.source]),i.push(new Hp(t,e,Bp.DEFAULT,n))},t.prototype._parseAnimation=function(t,e,n,r,i){var o=this._parseBinding(e||"null",!1,n);r.push([t,o.source]),i.push(new Hp(t,o,Bp.ANIMATION,n))},t.prototype._parseBinding=function(t,e,n){var r=n.start.toString();try{var i=e?this._exprParser.parseSimpleBinding(t,r,this._interpolationConfig):this._exprParser.parseBinding(t,r,this._interpolationConfig);return i&&this._reportExpressionParserErrors(i.errors,n),this._checkPipes(i,n),i}catch(o){return this._reportError(""+o,n),this._exprParser.wrapLiteralPrimitive("ERROR",r)}},t.prototype.createElementPropertyAst=function(t,n){if(n.isAnimation)return new Bi(n.name,Zi.Animation,e.SecurityContext.NONE,!1,n.expression,null,n.sourceSpan);var r,i,o=null,s=null,a=n.name.split(jp);if(a.length>1)if(a[0]==Lp){s=a[1],this._validatePropertyOrAttributeName(s,n.sourceSpan,!0),i=fe(this._schemaRegistry,t,s,!0);var u=s.indexOf(":");if(u>-1){var c=s.substring(0,u),p=s.substring(u+1);s=h(c,p)}r=Zi.Attribute}else a[0]==Vp?(s=a[1],r=Zi.Class,i=[e.SecurityContext.NONE]):a[0]==Fp&&(o=a.length>2?a[2]:null,s=a[1],r=Zi.Style,i=[e.SecurityContext.STYLE]);return null===s&&(s=this._schemaRegistry.getMappedPropName(n.name),i=fe(this._schemaRegistry,t,s,!1),r=Zi.Property,this._validatePropertyOrAttributeName(s,n.sourceSpan,!1)),new Bi(s,r,1===i.length?i[0]:null,i.length>1,n.expression,o,n.sourceSpan)},t.prototype.parseEvent=function(t,e,n,r,i){he(t)?(t=t.substr(1),this._parseAnimationEvent(t,e,n,i)):this._parseEvent(t,e,n,r,i)},t.prototype._parseAnimationEvent=function(t,e,n,r){var i=m(t,[t,""]),o=i[0],s=i[1].toLowerCase();if(s)switch(s){case"start":case"done":var a=this._parseAction(e,n);r.push(new Hi(o,null,s,a,n));break;default:this._reportError('The provided animation output phase value "'+s+'" for "@'+o+'" is not supported (use start or done)',n)}else this._reportError("The animation trigger output event (@"+o+") is missing its phase value name (start or done are currently supported)",n)},t.prototype._parseEvent=function(t,e,n,r,i){var o=y(t,[null,t]),s=o[0],a=o[1],u=this._parseAction(e,n);r.push([t,u.source]),i.push(new Hi(a,s,null,u,n))},t.prototype._parseAction=function(t,e){var n=e.start.toString();try{var r=this._exprParser.parseAction(t,n,this._interpolationConfig);return r&&this._reportExpressionParserErrors(r.errors,e),!r||r.ast instanceof Ba?(this._reportError("Empty expressions are not allowed",e),this._exprParser.wrapLiteralPrimitive("ERROR",n)):(this._checkPipes(r,e),r)}catch(i){return this._reportError(""+i,e),this._exprParser.wrapLiteralPrimitive("ERROR",n)}},t.prototype._reportError=function(t,e,n){void 0===n&&(n=Pu.FATAL),this._targetErrors.push(new Au(e,t,n))},t.prototype._reportExpressionParserErrors=function(t,e){for(var n=0,r=t;n<r.length;n++){var i=r[n];this._reportError(i.message,e)}},t.prototype._checkPipes=function(t,e){var n=this;if(t){var r=new zp;t.visit(r),r.pipes.forEach(function(t,r){n.pipesByName.has(r)||n._reportError("The pipe '"+r+"' could not be found",new Tu(e.start.moveBy(t.span.start),e.start.moveBy(t.span.end)))})}},t.prototype._validatePropertyOrAttributeName=function(t,e,n){var r=n?this._schemaRegistry.validateAttribute(t):this._schemaRegistry.validateProperty(t);r.error&&this._reportError(r.msg,e,Pu.FATAL)},t}(),zp=function(t){function e(){t.apply(this,arguments),this.pipes=new Map}return Dp(e,t),e.prototype.visitPipe=function(t,e){return this.pipes.set(t.name,t),t.exp.visit(this),this.visitAll(t.args,e),null},e}(uu),Wp="select",Gp="ng-content",Kp="link",Xp="rel",Qp="href",Yp="stylesheet",$p="style",Zp="script",Jp="ngNonBindable",tl="ngProjectAs",el={};el.NG_CONTENT=0,el.STYLE=1,el.STYLESHEET=2,el.SCRIPT=3,el.OTHER=4,el[el.NG_CONTENT]="NG_CONTENT",el[el.STYLE]="STYLE",el[el.STYLESHEET]="STYLESHEET",el[el.SCRIPT]="SCRIPT",el[el.OTHER]="OTHER";var nl=function(){function t(t,e,n,r,i){this.type=t,this.selectAttr=e,this.hrefAttr=n,this.nonBindable=r,this.projectAs=i}return t}(),rl=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},il=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},ol=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},sl=/^(?:(?:(?:(bind-)|(let-)|(ref-|#)|(on-)|(bindon-)|(@))(.+))|\[\(([^\)]+)\)\]|\[([^\]]+)\]|\(([^\)]+)\))$/,al=1,ul=2,cl=3,pl=4,ll=5,hl=6,fl=7,dl=8,yl=9,ml=10,vl="template",gl="template",_l="*",bl="class",wl=Zo.parse("*")[0],El=new e.OpaqueToken("TemplateTransforms"),Sl=function(t){function e(e,n,r){t.call(this,n,e,r)}return rl(e,t),e}(Au),Cl=function(){function t(t,e){this.templateAst=t,this.errors=e}return t}(),xl=function(){function t(t,e,n,r,i){this._exprParser=t,this._schemaRegistry=e,this._htmlParser=n,this._console=r,this.transforms=i}return t.prototype.parse=function(t,e,n,r,i,o){var s=this.tryParse(t,e,n,r,i,o),a=s.errors.filter(function(t){return t.level===Pu.WARNING}),u=s.errors.filter(function(t){return t.level===Pu.FATAL});if(a.length>0&&this._console.warn("Template parse warnings:\n"+a.join("\n")),u.length>0){var c=u.join("\n");throw new cs("Template parse errors:\n"+c)}return s.templateAst},t.prototype.tryParse=function(t,e,n,r,i,o){return this.tryParseHtml(this.expandHtml(this._htmlParser.parse(e,o,!0,this.getInterpolationConfig(t))),t,e,n,r,i,o)},t.prototype.tryParseHtml=function(t,e,r,i,o,s){var a,u=t.errors;if(t.rootNodes.length>0){var c=_e(i),p=_e(o),l=new Pp(e,t.rootNodes[0].sourceSpan),h=void 0;e.template&&e.template.interpolation&&(h={start:e.template.interpolation[0],end:e.template.interpolation[1]});var f=new qp(this._exprParser,h,this._schemaRegistry,p,u),d=new Tl(l,c,f,this._schemaRegistry,s,u);a=X(d,t.rootNodes,Ml),u.push.apply(u,l.errors)}else a=[];return this._assertNoReferenceDuplicationOnTemplate(a,u),u.length>0?new Cl(a,u):(this.transforms&&this.transforms.forEach(function(t){a=n(t,a)}),new Cl(a,u))},t.prototype.expandHtml=function(t,e){void 0===e&&(e=!1);var n=t.errors;if(0==n.length||e){var r=te(t.rootNodes);n.push.apply(n,r.errors),t=new Wu(r.nodes,n)}return t},t.prototype.getInterpolationConfig=function(t){return t.template?Ia.fromArray(t.template.interpolation):void 0},t.prototype._assertNoReferenceDuplicationOnTemplate=function(t,e){var n=[];t.filter(function(t){return!!t.references}).forEach(function(t){return t.references.forEach(function(t){var r=t.name;if(n.indexOf(r)<0)n.push(r);else{var i=new Sl('Reference "#'+r+'" is defined several times',t.sourceSpan,Pu.FATAL);e.push(i)}})})},t.ctorParameters=function(){return[{type:wu},{type:Mp},{type:dp},{type:To},{type:Array,decorators:[{type:e.Optional},{type:e.Inject,args:[El]}]}]},t=il([M(),ol("design:paramtypes",[wu,Mp,dp,To,Array])],t)}(),Tl=function(){function t(t,e,n,r,i,o){var s=this;this.providerViewContext=t,this._bindingParser=n,this._schemaRegistry=r,this._schemas=i,this._targetErrors=o,this.selectorMatcher=new Jo,this.directivesIndex=new Map,this.ngContentCount=0,e.forEach(function(t,e){var n=Zo.parse(t.selector);s.selectorMatcher.addSelectables(n,t),s.directivesIndex.set(t,e)})}return t.prototype.visitExpansion=function(){return null},t.prototype.visitExpansionCase=function(){return null},t.prototype.visitText=function(t,e){var n=e.findNgContentIndex(wl),r=this._bindingParser.parseInterpolation(t.value,t.sourceSpan);return r?new Fi(r,n,t.sourceSpan):new Vi(t.value,n,t.sourceSpan)},t.prototype.visitAttribute=function(t){return new Ui(t.name,t.value,t.sourceSpan)},t.prototype.visitComment=function(){return null},t.prototype.visitElement=function(t,e){var n=this,i=t.name,o=de(t);if(o.type===el.SCRIPT||o.type===el.STYLE)return null;if(o.type===el.STYLESHEET&&pe(o.hrefAttr))return null;var s=[],a=[],u=[],c=[],l=[],h=[],f=[],d=[],y=!1,m=[],v=p(i.toLowerCase())[1],g=v==vl;t.attrs.forEach(function(t){var e,i,o=n._parseAttr(g,t,s,a,l,u,c),p=n._normalizeAttributeName(t.name);p==gl?e=t.value:p.startsWith(_l)&&(e=t.value,i=p.substring(_l.length)+":");var v=r(e);v&&(y&&n._reportError("Can't have multiple template bindings on one element. Use only one attribute named 'template' or prefixed with *",t.sourceSpan),y=!0,n._bindingParser.parseInlineTemplateBinding(i,e,t.sourceSpan,f,h,d)),o||v||(m.push(n.visitAttribute(t,null)),s.push([t.name,t.value]))});var _=ve(i,s),b=this._parseDirectives(this.selectorMatcher,_),w=b.directives,E=b.matchElement,S=[],C=this._createDirectiveAsts(g,t.name,w,a,u,t.sourceSpan,S),x=this._createElementPropertyAsts(t.name,a,C),T=e.isTemplateElement||y,P=new Ap(this.providerViewContext,e.providerContext,T,C,m,S,t.sourceSpan),A=X(o.nonBindable?Rl:this,t.children,Ol.create(g,C,g?e.providerContext:P));P.afterElement();var O,M=r(o.projectAs)?Zo.parse(o.projectAs)[0]:_,R=e.findNgContentIndex(M);if(o.type===el.NG_CONTENT)t.children&&!t.children.every(ge)&&this._reportError("<ng-content> element cannot have content.",t.sourceSpan),O=new $i(this.ngContentCount++,y?null:R,t.sourceSpan);else if(g)this._assertAllEventsPublishedByDirectives(C,l),this._assertNoComponentsNorElementBindingsOnTemplate(C,x,t.sourceSpan),O=new Gi(m,l,S,c,P.transformedDirectiveAsts,P.transformProviders,P.transformedHasViewContainer,A,y?null:R,t.sourceSpan);else{this._assertElementExists(E,t),this._assertOnlyOneComponent(C,t.sourceSpan);var k=y?null:e.findNgContentIndex(M);O=new Wi(i,m,x,l,S,P.transformedDirectiveAsts,P.transformProviders,P.transformedHasViewContainer,A,y?null:k,t.sourceSpan,t.endSourceSpan),this._findComponentDirectives(C).forEach(function(t){return n._validateElementAnimationInputOutputs(t.hostProperties,t.hostEvents,t.directive.template)});var N=P.viewContext.component.template;this._validateElementAnimationInputOutputs(x,l,N.toSummary())}if(y){var I=ve(vl,f),D=this._parseDirectives(this.selectorMatcher,I).directives,j=this._createDirectiveAsts(!0,t.name,D,h,[],t.sourceSpan,[]),L=this._createElementPropertyAsts(t.name,h,j);this._assertNoComponentsNorElementBindingsOnTemplate(j,L,t.sourceSpan);var V=new Ap(this.providerViewContext,e.providerContext,e.isTemplateElement,j,[],[],t.sourceSpan);V.afterElement(),O=new Gi([],[],[],d,V.transformedDirectiveAsts,V.transformProviders,V.transformedHasViewContainer,[O],R,t.sourceSpan)}return O},t.prototype._validateElementAnimationInputOutputs=function(t,e,n){var r=this,i=new Set;n.animations.forEach(function(t){i.add(t)});var o=t.filter(function(t){return t.isAnimation});o.forEach(function(t){var e=t.name;i.has(e)||r._reportError("Couldn't find an animation entry for \""+e+'"',t.sourceSpan)}),e.forEach(function(t){if(t.isAnimation){var e=o.find(function(e){return e.name==t.name});e||r._reportError("Unable to listen on (@"+t.name+"."+t.phase+") because the animation trigger [@"+t.name+"] isn't being used on the same element",t.sourceSpan)}})},t.prototype._parseAttr=function(t,e,n,i,o,s,a){var u=this._normalizeAttributeName(e.name),c=e.value,p=e.sourceSpan,l=u.match(sl),h=!1;if(null!==l)if(h=!0,r(l[al]))this._bindingParser.parsePropertyBinding(l[fl],c,!1,p,n,i);else if(l[ul])if(t){var f=l[fl];this._parseVariable(f,c,p,a)}else this._reportError('"let-" is only supported on template elements.',p);else if(l[cl]){var f=l[fl];this._parseReference(f,c,p,s)}else l[pl]?this._bindingParser.parseEvent(l[fl],c,p,n,o):l[ll]?(this._bindingParser.parsePropertyBinding(l[fl],c,!1,p,n,i),this._parseAssignmentEvent(l[fl],c,p,n,o)):l[hl]?this._bindingParser.parseLiteralAttr(u,c,p,n,i):l[dl]?(this._bindingParser.parsePropertyBinding(l[dl],c,!1,p,n,i),this._parseAssignmentEvent(l[dl],c,p,n,o)):l[yl]?this._bindingParser.parsePropertyBinding(l[yl],c,!1,p,n,i):l[ml]&&this._bindingParser.parseEvent(l[ml],c,p,n,o);else h=this._bindingParser.parsePropertyInterpolation(u,c,p,n,i);return h||this._bindingParser.parseLiteralAttr(u,c,p,n,i),h},t.prototype._normalizeAttributeName=function(t){return/^data-/i.test(t)?t.substring(5):t},t.prototype._parseVariable=function(t,e,n,r){t.indexOf("-")>-1&&this._reportError('"-" is not allowed in variable names',n),r.push(new zi(t,e,n))},t.prototype._parseReference=function(t,e,n,r){t.indexOf("-")>-1&&this._reportError('"-" is not allowed in reference names',n),r.push(new Al(t,e,n))},t.prototype._parseAssignmentEvent=function(t,e,n,r,i){this._bindingParser.parseEvent(t+"Change",e+"=$event",n,r,i)},t.prototype._parseDirectives=function(t,e){var n=this,r=new Array(this.directivesIndex.size),i=!1;return t.match(e,function(t,e){r[n.directivesIndex.get(e)]=e,i=i||t.hasElementSelector()}),{directives:r.filter(function(t){return!!t}),matchElement:i}},t.prototype._createDirectiveAsts=function(t,e,n,r,i,o,s){var a=this,u=new Set,c=null,p=n.map(function(t){var n=new Tu(o.start,o.end,"Directive "+b(t.type));t.isComponent&&(c=t);var p=[],l=a._bindingParser.createDirectiveHostPropertyAsts(t,n);a._checkPropertiesInSchema(e,l);var h=a._bindingParser.createDirectiveHostEventAsts(t,n);return a._createDirectivePropertyAsts(t.inputs,r,p),i.forEach(function(e){(0===e.value.length&&t.isComponent||t.exportAs==e.value)&&(s.push(new qi(e.name,$t(t.type),e.sourceSpan)),u.add(e.name))}),new Xi(t,p,l,h,n)});return i.forEach(function(e){if(e.value.length>0)u.has(e.name)||a._reportError('There is no directive with "exportAs" set to "'+e.value+'"',e.sourceSpan);else if(!c){var n=null;t&&(n=Zt(_p.TemplateRef)),s.push(new qi(e.name,n,e.sourceSpan))}}),p},t.prototype._createDirectivePropertyAsts=function(t,e,n){if(t){var r=new Map;e.forEach(function(t){var e=r.get(t.name);(!e||e.isLiteral)&&r.set(t.name,t)}),Object.keys(t).forEach(function(e){var i=t[e],o=r.get(i);o&&n.push(new Ki(e,o.name,o.expression,o.sourceSpan))})}},t.prototype._createElementPropertyAsts=function(t,e,n){var r=this,i=[],o=new Map;return n.forEach(function(t){t.inputs.forEach(function(t){o.set(t.templateName,t)})}),e.forEach(function(e){e.isLiteral||o.get(e.name)||i.push(r._bindingParser.createElementPropertyAst(t,e))}),this._checkPropertiesInSchema(t,i),i},t.prototype._findComponentDirectives=function(t){return t.filter(function(t){return t.directive.isComponent})},t.prototype._findComponentDirectiveNames=function(t){return this._findComponentDirectives(t).map(function(t){return b(t.directive.type)})},t.prototype._assertOnlyOneComponent=function(t,e){var n=this._findComponentDirectiveNames(t);n.length>1&&this._reportError("More than one component matched on this element.\nMake sure that only one component's selector can match a given element.\nConflicting components: "+n.join(","),e)},t.prototype._assertElementExists=function(t,e){var n=e.name.replace(/^:xhtml:/,"");if(!t&&!this._schemaRegistry.hasElement(n,this._schemas)){var r="'"+n+"' is not a known element:\n"+("1. If '"+n+"' is an Angular component, then verify that it is part of this module.\n")+("2. If '"+n+"' is a Web Component then add \"CUSTOM_ELEMENTS_SCHEMA\" to the '@NgModule.schemas' of this component to suppress this message.");this._reportError(r,e.sourceSpan)}},t.prototype._assertNoComponentsNorElementBindingsOnTemplate=function(t,e,n){var r=this,i=this._findComponentDirectiveNames(t);i.length>0&&this._reportError("Components on an embedded template: "+i.join(","),n),e.forEach(function(t){r._reportError("Property binding "+t.name+' not used by any directive on an embedded template. Make sure that the property name is spelled correctly and all directives are listed in the "@NgModule.declarations".',n)})},t.prototype._assertAllEventsPublishedByDirectives=function(t,e){var n=this,i=new Set;t.forEach(function(t){Object.keys(t.directive.outputs).forEach(function(e){var n=t.directive.outputs[e];i.add(n)})}),e.forEach(function(t){(r(t.target)||!i.has(t.name))&&n._reportError("Event binding "+t.fullName+' not emitted by any directive on an embedded template. Make sure that the event name is spelled correctly and all directives are listed in the "@NgModule.declarations".',t.sourceSpan)})},t.prototype._checkPropertiesInSchema=function(t,e){var n=this;e.forEach(function(e){if(e.type===Zi.Property&&!n._schemaRegistry.hasProperty(t,e.name,n._schemas)){var r="Can't bind to '"+e.name+"' since it isn't a known property of '"+t+"'.";t.indexOf("-")>-1&&(r+="\n1. If '"+t+"' is an Angular component and it has '"+e.name+"' input, then verify that it is part of this module."+("\n2. If '"+t+"' is a Web Component then add \"CUSTOM_ELEMENTS_SCHEMA\" to the '@NgModule.schemas' of this component to suppress this message.\n")),n._reportError(r,e.sourceSpan)}})},t.prototype._reportError=function(t,e,n){void 0===n&&(n=Pu.FATAL),this._targetErrors.push(new Au(e,t,n))},t}(),Pl=function(){function t(){}return t.prototype.visitElement=function(t,e){var n=de(t);if(n.type===el.SCRIPT||n.type===el.STYLE||n.type===el.STYLESHEET)return null;var r=t.attrs.map(function(t){return[t.name,t.value]}),i=ve(t.name,r),o=e.findNgContentIndex(i),s=X(this,t.children,Ml);return new Wi(t.name,X(this,t.attrs),[],[],[],[],[],!1,s,o,t.sourceSpan,t.endSourceSpan)},t.prototype.visitComment=function(){return null},t.prototype.visitAttribute=function(t){return new Ui(t.name,t.value,t.sourceSpan)},t.prototype.visitText=function(t,e){var n=e.findNgContentIndex(wl);return new Vi(t.value,n,t.sourceSpan)},t.prototype.visitExpansion=function(t){return t},t.prototype.visitExpansionCase=function(t){return t},t}(),Al=function(){function t(t,e,n){this.name=t,this.value=e,this.sourceSpan=n}return t}(),Ol=function(){function t(t,e,n,r){this.isTemplateElement=t,this._ngContentIndexMatcher=e,this._wildcardNgContentIndex=n,this.providerContext=r}return t.create=function(e,n,r){var i=new Jo,o=null,s=n.find(function(t){return t.directive.isComponent});if(s)for(var a=s.directive.template.ngContentSelectors,u=0;u<a.length;u++){var c=a[u];"*"===c?o=u:i.addSelectables(Zo.parse(a[u]),u)}return new t(e,i,o,r)},t.prototype.findNgContentIndex=function(t){var e=[];return this._ngContentIndexMatcher.match(t,function(t,n){e.push(n)}),e.sort(),r(this._wildcardNgContentIndex)&&e.push(this._wildcardNgContentIndex),e.length>0?e[0]:null},t}(),Ml=new Ol(!0,new Jo,null,null),Rl=new Pl,kl=function(){function t(t){var n=void 0===t?{}:t,r=n.renderTypes,i=void 0===r?new Il:r,o=n.defaultEncapsulation,s=void 0===o?e.ViewEncapsulation.Emulated:o,a=n.genDebugInfo,u=n.logBindingUpdate,c=n.useJit,p=void 0===c?!0:c;this.renderTypes=i,this.defaultEncapsulation=s,this._genDebugInfo=a,this._logBindingUpdate=u,this.useJit=p}return Object.defineProperty(t.prototype,"genDebugInfo",{get:function(){return void 0===this._genDebugInfo?e.isDevMode():this._genDebugInfo},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"logBindingUpdate",{get:function(){return void 0===this._logBindingUpdate?e.isDevMode():this._logBindingUpdate},enumerable:!0,configurable:!0}),t}(),Nl=function(){function t(){}return t.prototype.renderer=function(){},t.prototype.renderText=function(){},t.prototype.renderElement=function(){},t.prototype.renderComment=function(){},t.prototype.renderNode=function(){},t.prototype.renderEvent=function(){},t}(),Il=function(){function t(){this.renderText=null,this.renderElement=null,this.renderComment=null,this.renderNode=null,this.renderEvent=null}return Object.defineProperty(t.prototype,"renderer",{get:function(){return Yt(_p.Renderer)},enumerable:!0,configurable:!0}),t}(),Dl=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},jl=function(){function t(){this.startTime=0,this.playTime=0}return t.prototype.visit=function(){},t}(),Ll=function(t){function e(){t.apply(this,arguments)}return Dl(e,t),e.prototype.visit=function(){},e}(jl),Vl=function(t){function e(e,n,r){t.call(this),this.name=e,this.stateDeclarations=n,this.stateTransitions=r}return Dl(e,t),e.prototype.visit=function(t,e){return t.visitAnimationEntry(this,e)},e}(jl),Fl=function(t){function e(e,n){t.call(this),this.stateName=e,this.styles=n}return Dl(e,t),e.prototype.visit=function(t,e){return t.visitAnimationStateDeclaration(this,e)},e}(Ll),Ul=function(){function t(t,e){this.fromState=t,this.toState=e}return t}(),Bl=function(t){function e(e,n){t.call(this),this.stateChanges=e,this.animation=n}return Dl(e,t),e.prototype.visit=function(t,e){return t.visitAnimationStateTransition(this,e)},e}(Ll),Hl=function(t){function e(e,n,r,i,o){t.call(this),this.startingStyles=e,this.keyframes=n,this.duration=r,this.delay=i,this.easing=o}return Dl(e,t),e.prototype.visit=function(t,e){return t.visitAnimationStep(this,e)},e}(jl),ql=function(t){function e(e){t.call(this),this.styles=e}return Dl(e,t),e.prototype.visit=function(t,e){return t.visitAnimationStyles(this,e)},e}(jl),zl=function(t){function e(e,n){t.call(this),this.offset=e,this.styles=n}return Dl(e,t),e.prototype.visit=function(t,e){return t.visitAnimationKeyframe(this,e)},e}(jl),Wl=function(t){function e(e){t.call(this),this.steps=e}return Dl(e,t),e}(jl),Gl=function(t){function e(e){t.call(this,e)}return Dl(e,t),e.prototype.visit=function(t,e){return t.visitAnimationGroup(this,e)},e}(Wl),Kl=function(t){function e(e){t.call(this,e)}return Dl(e,t),e.prototype.visit=function(t,e){return t.visitAnimationSequence(this,e)},e}(Wl),Xl=function(){function t(t,e){this.time=t,this.value=e}return t.prototype.matches=function(t,e){return t==this.time&&e==this.value},t}(),Ql=function(){function t(){this.styles={}}return t.prototype.insertAtTime=function(t,e,n){var i=new Xl(e,n),o=this.styles[t];r(o)||(o=this.styles[t]=[]);for(var s=0,a=o.length-1;a>=0;a--)if(o[a].time<=e){s=a+1;break}o.splice(s,0,i)},t.prototype.getByIndex=function(t,e){var n=this.styles[t];return r(n)?e>=n.length?null:n[e]:null},t.prototype.indexOfAtOrBeforeTime=function(t,e){var n=this.styles[t];if(r(n))for(var i=n.length-1;i>=0;i--)if(n[i].time<=e)return i;return null},t}(),Yl=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},$l=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},Zl=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},Jl=0,th=1,eh=1e3,nh=function(t){function e(e){t.call(this,null,e)}return Yl(e,t),e.prototype.toString=function(){return""+this.msg},e}(Au),rh=function(){function t(t,e){this.ast=t,this.errors=e}return t}(),ih=function(){function t(t){this._schema=t}return t.prototype.parseComponent=function(t){var e=this,n=[],r=b(t.type),i=new Set,o=t.template.animations.map(function(t){var o=e.parseEntry(t),s=o.ast,a=s.name;if(i.has(a)?o.errors.push(new nh('The animation trigger "'+a+'" has already been registered for the '+r+" component")):i.add(a),o.errors.length>0){var u='- Unable to parse the animation sequence for "'+a+'" on the '+r+" component due to the following errors:";o.errors.forEach(function(t){u+="\n-- "+t.msg}),n.push(u)}return s});if(n.length>0){var s=n.join("\n");throw new Error("Animation parse errors:\n"+s)}return o},t.prototype.parseEntry=function(t){var e=this,n=[],r={},i=[],o=[];t.definitions.forEach(function(t){t instanceof ds?be(t,e._schema,n).forEach(function(t){o.push(t),r[t.stateName]=t.styles}):i.push(t)});var s=i.map(function(t){return we(t,r,e._schema,n)}),a=new Vl(t.name,o,s);return new rh(a,n)},t=$l([M(),Zl("design:paramtypes",[Mp])],t)}(),oh=function(){function t(t,e,n){this.duration=t,this.delay=e,this.easing=n}return t}(),sh=function(){function t(){}return t.prototype.get=function(){return null},t}(),ah=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;
+
+if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},uh=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},ch={provide:e.PACKAGE_ROOT_URL,useValue:"/"},ph=function(){function t(t){void 0===t&&(t=null),this._packagePrefix=t}return t.prototype.resolve=function(t,e){var n=e;r(t)&&t.length>0&&(n=He(t,n));var i=Fe(n),o=this._packagePrefix;if(r(o)&&r(i)&&"package"==i[hh.Scheme]){var s=i[hh.Path];return o=o.replace(/\/+$/,""),s=s.replace(/^\/+/,""),o+"/"+s}return n},t.ctorParameters=function(){return[{type:void 0,decorators:[{type:e.Inject,args:[e.PACKAGE_ROOT_URL]}]}]},t=ah([M(),uh("design:paramtypes",[String])],t)}(),lh=new RegExp("^(?:([^:/?#.]+):)?(?://(?:([^/?#]*)@)?([\\w\\d\\-\\u0100-\\uffff.%]*)(?::([0-9]+))?)?([^?#]+)?(?:\\?([^#]*))?(?:#(.*))?$"),hh={};hh.Scheme=1,hh.UserInfo=2,hh.Domain=3,hh.Port=4,hh.Path=5,hh.QueryData=6,hh.Fragment=7,hh[hh.Scheme]="Scheme",hh[hh.UserInfo]="UserInfo",hh[hh.Domain]="Domain",hh[hh.Port]="Port",hh[hh.Path]="Path",hh[hh.QueryData]="QueryData",hh[hh.Fragment]="Fragment";var fh=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},dh=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},yh=function(){function t(t,e,n,r){this._resourceLoader=t,this._urlResolver=e,this._htmlParser=n,this._config=r,this._resourceLoaderCache=new Map}return t.prototype.clearCache=function(){this._resourceLoaderCache.clear()},t.prototype.clearCacheFor=function(t){var e=this;t.isComponent&&(this._resourceLoaderCache["delete"](t.template.templateUrl),t.template.externalStylesheets.forEach(function(t){e._resourceLoaderCache["delete"](t.moduleUrl)}))},t.prototype._fetch=function(t){var e=this._resourceLoaderCache.get(t);return e||(e=this._resourceLoader.get(t),this._resourceLoaderCache.set(t,e)),e},t.prototype.normalizeTemplate=function(t){var e,n=this,i=null;if(r(t.template))i=this.normalizeTemplateSync(t),e=Promise.resolve(i);else{if(!t.templateUrl)throw new cs("No template specified for component "+s(t.componentType));e=this.normalizeTemplateAsync(t)}return i&&0===i.styleUrls.length?new us(i):new us(null,e.then(function(t){return n.normalizeExternalStylesheets(t)}))},t.prototype.normalizeTemplateSync=function(t){return this.normalizeLoadedTemplate(t,t.template,t.moduleUrl)},t.prototype.normalizeTemplateAsync=function(t){var e=this,n=this._urlResolver.resolve(t.moduleUrl,t.templateUrl);return this._fetch(n).then(function(r){return e.normalizeLoadedTemplate(t,r,n)})},t.prototype.normalizeLoadedTemplate=function(t,n,r){var o=Ia.fromArray(t.interpolation),a=this._htmlParser.parse(n,s(t.componentType),!0,o);if(a.errors.length>0){var u=a.errors.join("\n");throw new cs("Template parse errors:\n"+u)}var c=this.normalizeStylesheet(new xs({styles:t.styles,styleUrls:t.styleUrls,moduleUrl:t.moduleUrl})),p=new mh;X(p,a.rootNodes);var l=this.normalizeStylesheet(new xs({styles:p.styles,styleUrls:p.styleUrls,moduleUrl:r})),h=t.encapsulation;i(h)&&(h=this._config.defaultEncapsulation);var f=c.styles.concat(l.styles),d=c.styleUrls.concat(l.styleUrls);return h===e.ViewEncapsulation.Emulated&&0===f.length&&0===d.length&&(h=e.ViewEncapsulation.None),new Ts({encapsulation:h,template:n,templateUrl:r,styles:f,styleUrls:d,ngContentSelectors:p.ngContentSelectors,animations:t.animations,interpolation:t.interpolation})},t.prototype.normalizeExternalStylesheets=function(t){return this._loadMissingExternalStylesheets(t.styleUrls).then(function(e){return new Ts({encapsulation:t.encapsulation,template:t.template,templateUrl:t.templateUrl,styles:t.styles,styleUrls:t.styleUrls,externalStylesheets:e,ngContentSelectors:t.ngContentSelectors,animations:t.animations,interpolation:t.interpolation})})},t.prototype._loadMissingExternalStylesheets=function(t,e){var n=this;return void 0===e&&(e=new Map),Promise.all(t.filter(function(t){return!e.has(t)}).map(function(t){return n._fetch(t).then(function(r){var i=n.normalizeStylesheet(new xs({styles:[r],moduleUrl:t}));return e.set(t,i),n._loadMissingExternalStylesheets(i.styleUrls,e)})})).then(function(){return Array.from(e.values())})},t.prototype.normalizeStylesheet=function(t){var e=this,n=t.styleUrls.filter(pe).map(function(n){return e._urlResolver.resolve(t.moduleUrl,n)}),r=t.styles.map(function(r){var i=le(e._urlResolver,t.moduleUrl,r);return n.push.apply(n,i.styleUrls),i.style});return new xs({styles:r,styleUrls:n,moduleUrl:t.moduleUrl})},t=fh([M(),dh("design:paramtypes",[sh,ph,lp,kl])],t)}(),mh=function(){function t(){this.ngContentSelectors=[],this.styles=[],this.styleUrls=[],this.ngNonBindableStackCount=0}return t.prototype.visitElement=function(t){var e=de(t);switch(e.type){case el.NG_CONTENT:0===this.ngNonBindableStackCount&&this.ngContentSelectors.push(e.selectAttr);break;case el.STYLE:var n="";t.children.forEach(function(t){t instanceof Ou&&(n+=t.value)}),this.styles.push(n);break;case el.STYLESHEET:this.styleUrls.push(e.hrefAttr)}return e.nonBindable&&this.ngNonBindableStackCount++,X(this,t.children),e.nonBindable&&this.ngNonBindableStackCount--,null},t.prototype.visitExpansion=function(t){X(this,t.cases)},t.prototype.visitExpansionCase=function(t){X(this,t.expression)},t.prototype.visitComment=function(){return null},t.prototype.visitAttribute=function(){return null},t.prototype.visitText=function(){return null},t}(),vh=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},gh=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},_h=function(){function t(t){void 0===t&&(t=Po),this._reflector=t}return t.prototype.isDirective=function(t){var n=this._reflector.annotations(e.resolveForwardRef(t));return n&&n.some(qe)},t.prototype.resolve=function(t,n){void 0===n&&(n=!0);var r=this._reflector.annotations(e.resolveForwardRef(t));if(r){var i=io.findLast(r,qe);if(i){var o=this._reflector.propMetadata(t);return this._mergeWithPropertyMetadata(i,o,t)}}if(n)throw new Error("No Directive annotation found on "+s(t));return null},t.prototype._mergeWithPropertyMetadata=function(t,n,r){var i=[],o=[],s={},a={};return Object.keys(n).forEach(function(t){var r=io.findLast(n[t],function(t){return t instanceof e.Input});r&&i.push(r.bindingPropertyName?t+": "+r.bindingPropertyName:t);var u=io.findLast(n[t],function(t){return t instanceof e.Output});u&&o.push(u.bindingPropertyName?t+": "+u.bindingPropertyName:t);var c=n[t].filter(function(t){return t&&t instanceof e.HostBinding});c.forEach(function(e){if(e.hostPropertyName){var n=e.hostPropertyName[0];if("("===n)throw new Error("@HostBinding can not bind to events. Use @HostListener instead.");if("["===n)throw new Error("@HostBinding parameter should be a property name, 'class.<name>', or 'attr.<name>'.");s["["+e.hostPropertyName+"]"]=t}else s["["+t+"]"]=t});var p=n[t].filter(function(t){return t&&t instanceof e.HostListener});p.forEach(function(e){var n=e.args||[];s["("+e.eventName+")"]=t+"("+n.join(",")+")"});var l=io.findLast(n[t],function(t){return t instanceof e.Query});l&&(a[t]=l)}),this._merge(t,i,o,s,a,r)},t.prototype._extractPublicName=function(t){return y(t,[null,t])[1].trim()},t.prototype._dedupeBindings=function(t){for(var e=new Set,n=[],r=t.length-1;r>=0;r--){var i=t[r],o=this._extractPublicName(i);e.has(o)||(e.add(o),n.push(i))}return n.reverse()},t.prototype._merge=function(t,n,r,i,o){var s=this._dedupeBindings(t.inputs?t.inputs.concat(n):n),a=this._dedupeBindings(t.outputs?t.outputs.concat(r):r),u=t.host?ro.merge(t.host,i):i,c=t.queries?ro.merge(t.queries,o):o;return t instanceof e.Component?new e.Component({selector:t.selector,inputs:s,outputs:a,host:u,exportAs:t.exportAs,moduleId:t.moduleId,queries:c,changeDetection:t.changeDetection,providers:t.providers,viewProviders:t.viewProviders,entryComponents:t.entryComponents,template:t.template,templateUrl:t.templateUrl,styles:t.styles,styleUrls:t.styleUrls,encapsulation:t.encapsulation,animations:t.animations,interpolation:t.interpolation}):new e.Directive({selector:t.selector,inputs:s,outputs:a,host:u,exportAs:t.exportAs,queries:c,providers:t.providers})},t=vh([M(),gh("design:paramtypes",[co])],t)}(),bh=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},wh={};wh.Const=0,wh[wh.Const]="Const";var Eh=function(){function t(t){void 0===t&&(t=null),this.modifiers=t,t||(this.modifiers=[])}return t.prototype.visitType=function(){},t.prototype.hasModifier=function(t){return-1!==this.modifiers.indexOf(t)},t}(),Sh={};Sh.Dynamic=0,Sh.Bool=1,Sh.String=2,Sh.Int=3,Sh.Number=4,Sh.Function=5,Sh.Null=6,Sh[Sh.Dynamic]="Dynamic",Sh[Sh.Bool]="Bool",Sh[Sh.String]="String",Sh[Sh.Int]="Int",Sh[Sh.Number]="Number",Sh[Sh.Function]="Function",Sh[Sh.Null]="Null";var Ch=function(t){function e(e,n){void 0===n&&(n=null),t.call(this,n),this.name=e}return bh(e,t),e.prototype.visitType=function(t,e){return t.visitBuiltintType(this,e)},e}(Eh),xh=function(t){function e(e,n,r){void 0===n&&(n=null),void 0===r&&(r=null),t.call(this,r),this.value=e,this.typeParams=n}return bh(e,t),e.prototype.visitType=function(t,e){return t.visitExpressionType(this,e)},e}(Eh),Th=function(t){function e(e,n){void 0===n&&(n=null),t.call(this,n),this.of=e}return bh(e,t),e.prototype.visitType=function(t,e){return t.visitArrayType(this,e)},e}(Eh),Ph=function(t){function e(e,n){void 0===n&&(n=null),t.call(this,n),this.valueType=e}return bh(e,t),e.prototype.visitType=function(t,e){return t.visitMapType(this,e)},e}(Eh),Ah=new Ch(Sh.Dynamic),Oh=new Ch(Sh.Bool),Mh=(new Ch(Sh.Int),new Ch(Sh.Number)),Rh=new Ch(Sh.String),kh=new Ch(Sh.Function),Nh=new Ch(Sh.Null),Ih={};Ih.Equals=0,Ih.NotEquals=1,Ih.Identical=2,Ih.NotIdentical=3,Ih.Minus=4,Ih.Plus=5,Ih.Divide=6,Ih.Multiply=7,Ih.Modulo=8,Ih.And=9,Ih.Or=10,Ih.Lower=11,Ih.LowerEquals=12,Ih.Bigger=13,Ih.BiggerEquals=14,Ih[Ih.Equals]="Equals",Ih[Ih.NotEquals]="NotEquals",Ih[Ih.Identical]="Identical",Ih[Ih.NotIdentical]="NotIdentical",Ih[Ih.Minus]="Minus",Ih[Ih.Plus]="Plus",Ih[Ih.Divide]="Divide",Ih[Ih.Multiply]="Multiply",Ih[Ih.Modulo]="Modulo",Ih[Ih.And]="And",Ih[Ih.Or]="Or",Ih[Ih.Lower]="Lower",Ih[Ih.LowerEquals]="LowerEquals",Ih[Ih.Bigger]="Bigger",Ih[Ih.BiggerEquals]="BiggerEquals";var Dh=function(){function t(t){this.type=t}return t.prototype.visitExpression=function(){},t.prototype.prop=function(t){return new Jh(this,t)},t.prototype.key=function(t,e){return void 0===e&&(e=null),new tf(this,t,e)},t.prototype.callMethod=function(t,e){return new Hh(this,t,e)},t.prototype.callFn=function(t){return new qh(this,t)},t.prototype.instantiate=function(t,e){return void 0===e&&(e=null),new zh(this,t,e)},t.prototype.conditional=function(t,e){return void 0===e&&(e=null),new Kh(this,t,e)},t.prototype.equals=function(t){return new Zh(Ih.Equals,this,t)},t.prototype.notEquals=function(t){return new Zh(Ih.NotEquals,this,t)},t.prototype.identical=function(t){return new Zh(Ih.Identical,this,t)},t.prototype.notIdentical=function(t){return new Zh(Ih.NotIdentical,this,t)},t.prototype.minus=function(t){return new Zh(Ih.Minus,this,t)},t.prototype.plus=function(t){return new Zh(Ih.Plus,this,t)},t.prototype.divide=function(t){return new Zh(Ih.Divide,this,t)},t.prototype.multiply=function(t){return new Zh(Ih.Multiply,this,t)},t.prototype.modulo=function(t){return new Zh(Ih.Modulo,this,t)},t.prototype.and=function(t){return new Zh(Ih.And,this,t)},t.prototype.or=function(t){return new Zh(Ih.Or,this,t)},t.prototype.lower=function(t){return new Zh(Ih.Lower,this,t)},t.prototype.lowerEquals=function(t){return new Zh(Ih.LowerEquals,this,t)},t.prototype.bigger=function(t){return new Zh(Ih.Bigger,this,t)},t.prototype.biggerEquals=function(t){return new Zh(Ih.BiggerEquals,this,t)},t.prototype.isBlank=function(){return this.equals(uf)},t.prototype.cast=function(t){return new Qh(this,t)},t.prototype.toStmt=function(){return new ff(this)},t}(),jh={};jh.This=0,jh.Super=1,jh.CatchError=2,jh.CatchStack=3,jh[jh.This]="This",jh[jh.Super]="Super",jh[jh.CatchError]="CatchError",jh[jh.CatchStack]="CatchStack";var Lh=function(t){function e(e,n){void 0===n&&(n=null),t.call(this,n),"string"==typeof e?(this.name=e,this.builtin=null):(this.name=null,this.builtin=e)}return bh(e,t),e.prototype.visitExpression=function(t,e){return t.visitReadVarExpr(this,e)},e.prototype.set=function(t){return new Vh(this.name,t)},e}(Dh),Vh=function(t){function e(e,n,r){void 0===r&&(r=null),t.call(this,r||n.type),this.name=e,this.value=n}return bh(e,t),e.prototype.visitExpression=function(t,e){return t.visitWriteVarExpr(this,e)},e.prototype.toDeclStmt=function(t,e){return void 0===t&&(t=null),void 0===e&&(e=null),new lf(this.name,this.value,t,e)},e}(Dh),Fh=function(t){function e(e,n,r,i){void 0===i&&(i=null),t.call(this,i||r.type),this.receiver=e,this.index=n,this.value=r}return bh(e,t),e.prototype.visitExpression=function(t,e){return t.visitWriteKeyExpr(this,e)},e}(Dh),Uh=function(t){function e(e,n,r,i){void 0===i&&(i=null),t.call(this,i||r.type),this.receiver=e,this.name=n,this.value=r}return bh(e,t),e.prototype.visitExpression=function(t,e){return t.visitWritePropExpr(this,e)},e}(Dh),Bh={};Bh.ConcatArray=0,Bh.SubscribeObservable=1,Bh.Bind=2,Bh[Bh.ConcatArray]="ConcatArray",Bh[Bh.SubscribeObservable]="SubscribeObservable",Bh[Bh.Bind]="Bind";var Hh=function(t){function e(e,n,r,i){void 0===i&&(i=null),t.call(this,i),this.receiver=e,this.args=r,"string"==typeof n?(this.name=n,this.builtin=null):(this.name=null,this.builtin=n)}return bh(e,t),e.prototype.visitExpression=function(t,e){return t.visitInvokeMethodExpr(this,e)},e}(Dh),qh=function(t){function e(e,n,r){void 0===r&&(r=null),t.call(this,r),this.fn=e,this.args=n}return bh(e,t),e.prototype.visitExpression=function(t,e){return t.visitInvokeFunctionExpr(this,e)},e}(Dh),zh=function(t){function e(e,n,r){t.call(this,r),this.classExpr=e,this.args=n}return bh(e,t),e.prototype.visitExpression=function(t,e){return t.visitInstantiateExpr(this,e)},e}(Dh),Wh=function(t){function e(e,n){void 0===n&&(n=null),t.call(this,n),this.value=e}return bh(e,t),e.prototype.visitExpression=function(t,e){return t.visitLiteralExpr(this,e)},e}(Dh),Gh=function(t){function e(e,n,r){void 0===n&&(n=null),void 0===r&&(r=null),t.call(this,n),this.value=e,this.typeParams=r}return bh(e,t),e.prototype.visitExpression=function(t,e){return t.visitExternalExpr(this,e)},e}(Dh),Kh=function(t){function e(e,n,r,i){void 0===r&&(r=null),void 0===i&&(i=null),t.call(this,i||n.type),this.condition=e,this.falseCase=r,this.trueCase=n}return bh(e,t),e.prototype.visitExpression=function(t,e){return t.visitConditionalExpr(this,e)},e}(Dh),Xh=function(t){function e(e){t.call(this,Oh),this.condition=e}return bh(e,t),e.prototype.visitExpression=function(t,e){return t.visitNotExpr(this,e)},e}(Dh),Qh=function(t){function e(e,n){t.call(this,n),this.value=e}return bh(e,t),e.prototype.visitExpression=function(t,e){return t.visitCastExpr(this,e)},e}(Dh),Yh=function(){function t(t,e){void 0===e&&(e=null),this.name=t,this.type=e}return t}(),$h=function(t){function e(e,n,r){void 0===r&&(r=null),t.call(this,r),this.params=e,this.statements=n}return bh(e,t),e.prototype.visitExpression=function(t,e){return t.visitFunctionExpr(this,e)},e.prototype.toDeclStmt=function(t,e){return void 0===e&&(e=null),new hf(t,this.params,this.statements,this.type,e)},e}(Dh),Zh=function(t){function e(e,n,r,i){void 0===i&&(i=null),t.call(this,i||n.type),this.operator=e,this.rhs=r,this.lhs=n}return bh(e,t),e.prototype.visitExpression=function(t,e){return t.visitBinaryOperatorExpr(this,e)},e}(Dh),Jh=function(t){function e(e,n,r){void 0===r&&(r=null),t.call(this,r),this.receiver=e,this.name=n}return bh(e,t),e.prototype.visitExpression=function(t,e){return t.visitReadPropExpr(this,e)},e.prototype.set=function(t){return new Uh(this.receiver,this.name,t)},e}(Dh),tf=function(t){function e(e,n,r){void 0===r&&(r=null),t.call(this,r),this.receiver=e,this.index=n}return bh(e,t),e.prototype.visitExpression=function(t,e){return t.visitReadKeyExpr(this,e)},e.prototype.set=function(t){return new Fh(this.receiver,this.index,t)},e}(Dh),ef=function(t){function e(e,n){void 0===n&&(n=null),t.call(this,n),this.entries=e}return bh(e,t),e.prototype.visitExpression=function(t,e){return t.visitLiteralArrayExpr(this,e)},e}(Dh),nf=function(){function t(t,e,n){void 0===n&&(n=!1),this.key=t,this.value=e,this.quoted=n}return t}(),rf=function(t){function e(e,n){void 0===n&&(n=null),t.call(this,n),this.entries=e,this.valueType=null,r(n)&&(this.valueType=n.valueType)}return bh(e,t),e.prototype.visitExpression=function(t,e){return t.visitLiteralMapExpr(this,e)},e}(Dh),of=new Lh(jh.This),sf=new Lh(jh.Super),af=(new Lh(jh.CatchError),new Lh(jh.CatchStack),new Wh(null,null)),uf=new Wh(null,Nh),cf={};cf.Final=0,cf.Private=1,cf[cf.Final]="Final",cf[cf.Private]="Private";var pf=function(){function t(t){void 0===t&&(t=null),this.modifiers=t,t||(this.modifiers=[])}return t.prototype.visitStatement=function(){},t.prototype.hasModifier=function(t){return-1!==this.modifiers.indexOf(t)},t}(),lf=function(t){function e(e,n,r,i){void 0===r&&(r=null),void 0===i&&(i=null),t.call(this,i),this.name=e,this.value=n,this.type=r||n.type}return bh(e,t),e.prototype.visitStatement=function(t,e){return t.visitDeclareVarStmt(this,e)},e}(pf),hf=function(t){function e(e,n,r,i,o){void 0===i&&(i=null),void 0===o&&(o=null),t.call(this,o),this.name=e,this.params=n,this.statements=r,this.type=i}return bh(e,t),e.prototype.visitStatement=function(t,e){return t.visitDeclareFunctionStmt(this,e)},e}(pf),ff=function(t){function e(e){t.call(this),this.expr=e}return bh(e,t),e.prototype.visitStatement=function(t,e){return t.visitExpressionStmt(this,e)},e}(pf),df=function(t){function e(e){t.call(this),this.value=e}return bh(e,t),e.prototype.visitStatement=function(t,e){return t.visitReturnStmt(this,e)},e}(pf),yf=function(){function t(t,e){void 0===t&&(t=null),this.type=t,this.modifiers=e,e||(this.modifiers=[])}return t.prototype.hasModifier=function(t){return-1!==this.modifiers.indexOf(t)},t}(),mf=function(t){function e(e,n,r){void 0===n&&(n=null),void 0===r&&(r=null),t.call(this,n,r),this.name=e}return bh(e,t),e}(yf),vf=function(t){function e(e,n,r,i,o){void 0===i&&(i=null),void 0===o&&(o=null),t.call(this,i,o),this.name=e,this.params=n,this.body=r}return bh(e,t),e}(yf),gf=function(t){function e(e,n,r,i){void 0===r&&(r=null),void 0===i&&(i=null),t.call(this,r,i),this.name=e,this.body=n}return bh(e,t),e}(yf),_f=function(t){function e(e,n,r,i,o,s,a){void 0===a&&(a=null),t.call(this,a),this.name=e,this.parent=n,this.fields=r,this.getters=i,this.constructorMethod=o,this.methods=s}return bh(e,t),e.prototype.visitStatement=function(t,e){return t.visitDeclareClassStmt(this,e)},e}(pf),bf=function(t){function e(e,n,r){void 0===r&&(r=[]),t.call(this),this.condition=e,this.trueCase=n,this.falseCase=r}return bh(e,t),e.prototype.visitStatement=function(t,e){return t.visitIfStmt(this,e)},e}(pf),wf=(function(t){function e(e){t.call(this),this.comment=e}return bh(e,t),e.prototype.visitStatement=function(t,e){return t.visitCommentStmt(this,e)},e}(pf),function(t){function e(e,n){t.call(this),this.bodyStmts=e,this.catchStmts=n}return bh(e,t),e.prototype.visitStatement=function(t,e){return t.visitTryCatchStmt(this,e)},e}(pf)),Ef=function(t){function e(e){t.call(this),this.error=e}return bh(e,t),e.prototype.visitStatement=function(t,e){return t.visitThrowStmt(this,e)},e}(pf),Sf=function(){function t(){}return t.prototype.visitReadVarExpr=function(t){return t},t.prototype.visitWriteVarExpr=function(t,e){return new Vh(t.name,t.value.visitExpression(this,e))},t.prototype.visitWriteKeyExpr=function(t,e){return new Fh(t.receiver.visitExpression(this,e),t.index.visitExpression(this,e),t.value.visitExpression(this,e))},t.prototype.visitWritePropExpr=function(t,e){return new Uh(t.receiver.visitExpression(this,e),t.name,t.value.visitExpression(this,e))},t.prototype.visitInvokeMethodExpr=function(t,e){var n=t.builtin||t.name;return new Hh(t.receiver.visitExpression(this,e),n,this.visitAllExpressions(t.args,e),t.type)},t.prototype.visitInvokeFunctionExpr=function(t,e){return new qh(t.fn.visitExpression(this,e),this.visitAllExpressions(t.args,e),t.type)},t.prototype.visitInstantiateExpr=function(t,e){return new zh(t.classExpr.visitExpression(this,e),this.visitAllExpressions(t.args,e),t.type)},t.prototype.visitLiteralExpr=function(t){return t},t.prototype.visitExternalExpr=function(t){return t},t.prototype.visitConditionalExpr=function(t,e){return new Kh(t.condition.visitExpression(this,e),t.trueCase.visitExpression(this,e),t.falseCase.visitExpression(this,e))},t.prototype.visitNotExpr=function(t,e){return new Xh(t.condition.visitExpression(this,e))},t.prototype.visitCastExpr=function(t,e){return new Qh(t.value.visitExpression(this,e),e)},t.prototype.visitFunctionExpr=function(t){return t},t.prototype.visitBinaryOperatorExpr=function(t,e){return new Zh(t.operator,t.lhs.visitExpression(this,e),t.rhs.visitExpression(this,e),t.type)},t.prototype.visitReadPropExpr=function(t,e){return new Jh(t.receiver.visitExpression(this,e),t.name,t.type)},t.prototype.visitReadKeyExpr=function(t,e){return new tf(t.receiver.visitExpression(this,e),t.index.visitExpression(this,e),t.type)},t.prototype.visitLiteralArrayExpr=function(t,e){return new ef(this.visitAllExpressions(t.entries,e))},t.prototype.visitLiteralMapExpr=function(t,e){var n=this,r=t.entries.map(function(t){return new nf(t.key,t.value.visitExpression(n,e),t.quoted)});return new rf(r)},t.prototype.visitAllExpressions=function(t,e){var n=this;return t.map(function(t){return t.visitExpression(n,e)})},t.prototype.visitDeclareVarStmt=function(t,e){return new lf(t.name,t.value.visitExpression(this,e),t.type,t.modifiers)},t.prototype.visitDeclareFunctionStmt=function(t){return t},t.prototype.visitExpressionStmt=function(t,e){return new ff(t.expr.visitExpression(this,e))},t.prototype.visitReturnStmt=function(t,e){return new df(t.value.visitExpression(this,e))},t.prototype.visitDeclareClassStmt=function(t){return t},t.prototype.visitIfStmt=function(t,e){return new bf(t.condition.visitExpression(this,e),this.visitAllStatements(t.trueCase,e),this.visitAllStatements(t.falseCase,e))},t.prototype.visitTryCatchStmt=function(t,e){return new wf(this.visitAllStatements(t.bodyStmts,e),this.visitAllStatements(t.catchStmts,e))},t.prototype.visitThrowStmt=function(t,e){return new Ef(t.error.visitExpression(this,e))},t.prototype.visitCommentStmt=function(t){return t},t.prototype.visitAllStatements=function(t,e){var n=this;return t.map(function(t){return t.visitStatement(n,e)})},t}(),Cf=function(){function t(){}return t.prototype.visitReadVarExpr=function(t){return t},t.prototype.visitWriteVarExpr=function(t,e){return t.value.visitExpression(this,e),t},t.prototype.visitWriteKeyExpr=function(t,e){return t.receiver.visitExpression(this,e),t.index.visitExpression(this,e),t.value.visitExpression(this,e),t},t.prototype.visitWritePropExpr=function(t,e){return t.receiver.visitExpression(this,e),t.value.visitExpression(this,e),t},t.prototype.visitInvokeMethodExpr=function(t,e){return t.receiver.visitExpression(this,e),this.visitAllExpressions(t.args,e),t},t.prototype.visitInvokeFunctionExpr=function(t,e){return t.fn.visitExpression(this,e),this.visitAllExpressions(t.args,e),t},t.prototype.visitInstantiateExpr=function(t,e){return t.classExpr.visitExpression(this,e),this.visitAllExpressions(t.args,e),t},t.prototype.visitLiteralExpr=function(t){return t},t.prototype.visitExternalExpr=function(t){return t},t.prototype.visitConditionalExpr=function(t,e){return t.condition.visitExpression(this,e),t.trueCase.visitExpression(this,e),t.falseCase.visitExpression(this,e),t},t.prototype.visitNotExpr=function(t,e){return t.condition.visitExpression(this,e),t},t.prototype.visitCastExpr=function(t,e){return t.value.visitExpression(this,e),t},t.prototype.visitFunctionExpr=function(t){return t},t.prototype.visitBinaryOperatorExpr=function(t,e){return t.lhs.visitExpression(this,e),t.rhs.visitExpression(this,e),t},t.prototype.visitReadPropExpr=function(t,e){return t.receiver.visitExpression(this,e),t},t.prototype.visitReadKeyExpr=function(t,e){return t.receiver.visitExpression(this,e),t.index.visitExpression(this,e),t},t.prototype.visitLiteralArrayExpr=function(t,e){return this.visitAllExpressions(t.entries,e),t},t.prototype.visitLiteralMapExpr=function(t,e){var n=this;return t.entries.forEach(function(t){return t.value.visitExpression(n,e)}),t},t.prototype.visitAllExpressions=function(t,e){var n=this;t.forEach(function(t){return t.visitExpression(n,e)})},t.prototype.visitDeclareVarStmt=function(t,e){return t.value.visitExpression(this,e),t},t.prototype.visitDeclareFunctionStmt=function(t){return t},t.prototype.visitExpressionStmt=function(t,e){return t.expr.visitExpression(this,e),t},t.prototype.visitReturnStmt=function(t,e){return t.value.visitExpression(this,e),t},t.prototype.visitDeclareClassStmt=function(t){return t},t.prototype.visitIfStmt=function(t,e){return t.condition.visitExpression(this,e),this.visitAllStatements(t.trueCase,e),this.visitAllStatements(t.falseCase,e),t},t.prototype.visitTryCatchStmt=function(t,e){return this.visitAllStatements(t.bodyStmts,e),this.visitAllStatements(t.catchStmts,e),t},t.prototype.visitThrowStmt=function(t,e){return t.error.visitExpression(this,e),t},t.prototype.visitCommentStmt=function(t){return t},t.prototype.visitAllStatements=function(t,e){var n=this;t.forEach(function(t){return t.visitStatement(n,e)})},t}(),xf=function(t){function e(e,n){t.call(this),this._varName=e,this._newValue=n}return bh(e,t),e.prototype.visitReadVarExpr=function(t){return t.name==this._varName?this._newValue:t},e}(Sf),Tf=function(t){function e(){t.apply(this,arguments),this.varNames=new Set}return bh(e,t),e.prototype.visitReadVarExpr=function(t){return this.varNames.add(t.name),null},e}(Cf),Pf=function(){function t(t,e){this.expression=t,this.bindingId=e}return t}(),Af=Ge("valUnwrapper"),Of=function(){function t(){}return t.event=Ge("$event"),t}(),Mf=function(){function t(t,e,n){this.stmts=t,this.currValExpr=e,this.forceUpdate=n}return t}(),Rf=function(){function t(t,e){this.stmts=t,this.preventDefault=e}return t}(),kf={};kf.Statement=0,kf.Expression=1,kf[kf.Statement]="Statement",kf[kf.Expression]="Expression";var Nf=function(){function t(t,e,n,r,i,o){this._builder=t,this._nameResolver=e,this._implicitReceiver=n,this._valueUnwrapper=r,this.bindingId=i,this.isAction=o,this._nodeMap=new Map,this._resultMap=new Map,this._currentTemporary=0,this.needsValueUnwrapper=!1,this.temporaryCount=0}return t.prototype.visitBinary=function(t,e){var n;switch(t.operation){case"+":n=Ih.Plus;break;case"-":n=Ih.Minus;break;case"*":n=Ih.Multiply;break;case"/":n=Ih.Divide;break;case"%":n=Ih.Modulo;break;case"&&":n=Ih.And;break;case"||":n=Ih.Or;break;case"==":n=Ih.Equals;break;case"!=":n=Ih.NotEquals;break;case"===":n=Ih.Identical;break;case"!==":n=Ih.NotIdentical;break;case"<":n=Ih.Lower;break;case">":n=Ih.Bigger;break;case"<=":n=Ih.LowerEquals;break;case">=":n=Ih.BiggerEquals;break;default:throw new Error("Unsupported operation "+t.operation)}return vn(e,new Zh(n,this.visit(t.left,kf.Expression),this.visit(t.right,kf.Expression)))},t.prototype.visitChain=function(t,e){return yn(e,t),this.visitAll(t.expressions,e)},t.prototype.visitConditional=function(t,e){var n=this.visit(t.condition,kf.Expression);return vn(e,n.conditional(this.visit(t.trueExp,kf.Expression),this.visit(t.falseExp,kf.Expression)))},t.prototype.visitPipe=function(t,e){var n=this.visit(t.exp,kf.Expression),r=this.visitAll(t.args,kf.Expression),i=this._nameResolver.callPipe(t.name,n,r);if(!i)throw new Error("Illegal state: Pipe "+t.name+" is not allowed here!");return this.needsValueUnwrapper=!0,vn(e,this._valueUnwrapper.callMethod("unwrap",[i]))},t.prototype.visitFunctionCall=function(t,e){return vn(e,this.visit(t.target,kf.Expression).callFn(this.visitAll(t.args,kf.Expression)))},t.prototype.visitImplicitReceiver=function(t,e){return mn(e,t),this._implicitReceiver},t.prototype.visitInterpolation=function(t,e){mn(e,t);for(var n=[tn(t.expressions.length)],r=0;r<t.strings.length-1;r++)n.push(tn(t.strings[r])),n.push(this.visit(t.expressions[r],kf.Expression));return n.push(tn(t.strings[t.strings.length-1])),t.expressions.length<=9?Ke(Yt(_p.inlineInterpolate)).callFn(n):Ke(Yt(_p.interpolate)).callFn([n[0],Ye(n.slice(1))])},t.prototype.visitKeyedRead=function(t,e){var n=this.leftMostSafeNode(t);return n?this.convertSafeAccess(t,n,e):vn(e,this.visit(t.obj,kf.Expression).key(this.visit(t.key,kf.Expression)))},t.prototype.visitKeyedWrite=function(t,e){var n=this.visit(t.obj,kf.Expression),r=this.visit(t.key,kf.Expression),i=this.visit(t.value,kf.Expression);return vn(e,n.key(r).set(i))},t.prototype.visitLiteralArray=function(t,e){var n=this.visitAll(t.expressions,e),r=this.isAction?Ye(n):_n(this._builder,n);return vn(e,r)},t.prototype.visitLiteralMap=function(t,e){for(var n=[],r=0;r<t.keys.length;r++)n.push([t.keys[r],this.visit(t.values[r],kf.Expression)]);var i=this.isAction?$e(n):bn(this._builder,n);return vn(e,i)},t.prototype.visitLiteralPrimitive=function(t,e){return vn(e,tn(t.value))},t.prototype._getLocal=function(t){return this.isAction&&t==Of.event.name?Of.event:this._nameResolver.getLocal(t)},t.prototype.visitMethodCall=function(t,e){var n=this.leftMostSafeNode(t);if(n)return this.convertSafeAccess(t,n,e);var r=this.visitAll(t.args,kf.Expression),o=null,s=this.visit(t.receiver,kf.Expression);if(s===this._implicitReceiver){var a=this._getLocal(t.name);a&&(o=a.callFn(r))}return i(o)&&(o=s.callMethod(t.name,r)),vn(e,o)},t.prototype.visitPrefixNot=function(t,e){return vn(e,Ze(this.visit(t.expression,kf.Expression)))},t.prototype.visitPropertyRead=function(t,e){var n=this.leftMostSafeNode(t);if(n)return this.convertSafeAccess(t,n,e);var r=null,o=this.visit(t.receiver,kf.Expression);return o===this._implicitReceiver&&(r=this._getLocal(t.name)),i(r)&&(r=o.prop(t.name)),vn(e,r)},t.prototype.visitPropertyWrite=function(t,e){var n=this.visit(t.receiver,kf.Expression);if(n===this._implicitReceiver){var r=this._getLocal(t.name);if(r)throw new Error("Cannot assign to a reference or variable!")}return vn(e,n.prop(t.name).set(this.visit(t.value,kf.Expression)))},t.prototype.visitSafePropertyRead=function(t,e){return this.convertSafeAccess(t,this.leftMostSafeNode(t),e)},t.prototype.visitSafeMethodCall=function(t,e){return this.convertSafeAccess(t,this.leftMostSafeNode(t),e)},t.prototype.visitAll=function(t,e){var n=this;return t.map(function(t){return n.visit(t,e)})},t.prototype.visitQuote=function(){throw new Error("Quotes are not supported for evaluation!")},t.prototype.visit=function(t,e){var n=this._resultMap.get(t);return n?n:(this._nodeMap.get(t)||t).visit(this,e)},t.prototype.convertSafeAccess=function(t,e,n){var r,i=this.visit(e.receiver,kf.Expression);this.needsTemporary(e.receiver)&&(r=this.allocateTemporary(),i=r.set(i),this._resultMap.set(e.receiver,r));var o=i.isBlank();e instanceof iu?this._nodeMap.set(e,new ru(e.span,e.receiver,e.name,e.args)):this._nodeMap.set(e,new Wa(e.span,e.receiver,e.name));var s=this.visit(t,kf.Expression);
+
+return this._nodeMap["delete"](e),r&&this.releaseTemporary(r),vn(n,o.conditional(tn(null),s))},t.prototype.leftMostSafeNode=function(t){var e=this,n=function(t,n){return(e._nodeMap.get(n)||n).visit(t)};return t.visit({visitBinary:function(){return null},visitChain:function(){return null},visitConditional:function(){return null},visitFunctionCall:function(){return null},visitImplicitReceiver:function(){return null},visitInterpolation:function(){return null},visitKeyedRead:function(t){return n(this,t.obj)},visitKeyedWrite:function(){return null},visitLiteralArray:function(){return null},visitLiteralMap:function(){return null},visitLiteralPrimitive:function(){return null},visitMethodCall:function(t){return n(this,t.receiver)},visitPipe:function(){return null},visitPrefixNot:function(){return null},visitPropertyRead:function(t){return n(this,t.receiver)},visitPropertyWrite:function(){return null},visitQuote:function(){return null},visitSafeMethodCall:function(t){return n(this,t.receiver)||t},visitSafePropertyRead:function(t){return n(this,t.receiver)||t}})},t.prototype.needsTemporary=function(t){var e=this,n=function(t,n){return n&&(e._nodeMap.get(n)||n).visit(t)},r=function(t,e){return e.some(function(e){return n(t,e)})};return t.visit({visitBinary:function(t){return n(this,t.left)||n(this,t.right)},visitChain:function(){return!1},visitConditional:function(t){return n(this,t.condition)||n(this,t.trueExp)||n(this,t.falseExp)},visitFunctionCall:function(){return!0},visitImplicitReceiver:function(){return!1},visitInterpolation:function(t){return r(this,t.expressions)},visitKeyedRead:function(){return!1},visitKeyedWrite:function(){return!1},visitLiteralArray:function(){return!0},visitLiteralMap:function(){return!0},visitLiteralPrimitive:function(){return!1},visitMethodCall:function(){return!0},visitPipe:function(){return!0},visitPrefixNot:function(t){return n(this,t.expression)},visitPropertyRead:function(){return!1},visitPropertyWrite:function(){return!1},visitQuote:function(){return!1},visitSafeMethodCall:function(){return!0},visitSafePropertyRead:function(){return!1}})},t.prototype.allocateTemporary=function(){var t=this._currentTemporary++;return this.temporaryCount=Math.max(this._currentTemporary,this.temporaryCount),new Lh(hn(this.bindingId,t))},t.prototype.releaseTemporary=function(t){if(this._currentTemporary--,t.name!=hn(this.bindingId,this._currentTemporary))throw new Error("Temporary "+t.name+" released out of order")},t}(),If=function(){function t(){}return t.prototype.callPipe=function(){return null},t.prototype.getLocal=function(){return null},t}(),Df=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},jf=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},Lf=function(){function t(t,e){this.statements=t,this.dirWrapperClassVar=e}return t}(),Vf="context",Ff="_changes",Uf="_changed",Bf="_eventHandler",Hf=Ge("currValue"),qf=Ge("throwOnChange"),zf=Ge("forceUpdate"),Wf=Ge("view"),Gf=Ge("componentView"),Kf=Ge("el"),Xf=Ge("eventName"),Qf=of.prop(Ff).set($e([])).toStmt(),Yf=function(){function t(t,e,n,r){this.compilerConfig=t,this._exprParser=e,this._schemaRegistry=n,this._console=r}return t.dirWrapperClassName=function(t){return"Wrapper_"+b(t)},t.prototype.compile=function(t){var e=In(t,this._exprParser,this._schemaRegistry);Dn(e.errors,this._console);var n=new $f(this.compilerConfig,t);Object.keys(t.inputs).forEach(function(t){Mn(t,n)}),On(n),Rn(e.hostProps,e.hostListeners,n),kn(e.hostListeners,n),Nn(t,n);var r=n.build();return new Lf([r],r.name)},t=Df([M(),jf("design:paramtypes",[kl,wu,Mp,To])],t)}(),$f=function(){function t(t,e){this.compilerConfig=t,this.dirMeta=e,this.fields=[],this.getters=[],this.methods=[],this.ctorStmts=[],this.detachStmts=[],this.destroyStmts=[];var n=e.type.lifecycleHooks;this.genChanges=-1!==n.indexOf(ao.OnChanges)||this.compilerConfig.logBindingUpdate,this.ngOnChanges=-1!==n.indexOf(ao.OnChanges),this.ngOnInit=-1!==n.indexOf(ao.OnInit),this.ngDoCheck=-1!==n.indexOf(ao.DoCheck),this.ngOnDestroy=-1!==n.indexOf(ao.OnDestroy),this.ngOnDestroy&&this.destroyStmts.push(of.prop(Vf).callMethod("ngOnDestroy",[]).toStmt())}return t.prototype.build=function(){for(var t=[],e=0;e<this.dirMeta.type.diDeps.length;e++)t.push("p"+e);var n=[new vf("ngOnDetach",[new Yh(Wf.name,Xe(Yt(_p.AppView),[Ah])),new Yh(Gf.name,Xe(Yt(_p.AppView),[Ah])),new Yh(Kf.name,Ah)],this.detachStmts),new vf("ngOnDestroy",[],this.destroyStmts)],r=[new mf(Bf,kh,[cf.Private]),new mf(Vf,Xe(this.dirMeta.type)),new mf(Uf,Oh,[cf.Private])],i=[of.prop(Uf).set(tn(!1)).toStmt()];return this.genChanges&&(r.push(new mf(Ff,new Ph(Ah),[cf.Private])),i.push(Qf)),i.push(of.prop(Vf).set(Ke(this.dirMeta.type).instantiate(t.map(function(t){return Ge(t)}))).toStmt()),Pn({name:Yf.dirWrapperClassName(this.dirMeta.type),ctorParams:t.map(function(t){return new Yh(t,Ah)}),builders:[{fields:r,ctorStmts:i,methods:n},this]})},t}(),Zf=function(){function t(t,e,n){this.hostProps=t,this.hostListeners=e,this.errors=n}return t}(),Jf=function(){function t(){}return t.create=function(t,e){return Ke(t).instantiate(e,Xe(t))},t.context=function(t){return t.prop(Vf)},t.ngDoCheck=function(t,e,n,r){return t.callMethod("ngDoCheck",[e,n,r])},t.checkHost=function(t,e,n,r,i,o,s){return t.length?[e.callMethod("checkHost",[n,r,i,o].concat(s)).toStmt()]:[]},t.ngOnDetach=function(t,e,n,r,i){return t.some(function(t){return t.isAnimation})?[e.callMethod("ngOnDetach",[n,r,i]).toStmt()]:[]},t.ngOnDestroy=function(t,e){return-1!==t.type.lifecycleHooks.indexOf(ao.OnDestroy)||Object.keys(t.outputs).length>0?[e.callMethod("ngOnDestroy",[]).toStmt()]:[]},t.subscribe=function(t,e,n,r,i,o){var s=!1,a=[];return Object.keys(t.outputs).forEach(function(e){var r=t.outputs[e],i=n.indexOf(r)>-1;s=s||i,a.push(tn(i))}),e.forEach(function(t){t.isAnimation&&n.length>0&&(s=!0)}),s?[r.callMethod("subscribe",[i,o].concat(a)).toStmt()]:[]},t.handleEvent=function(t,e,n,r){return e.callMethod("handleEvent",[n,r])},t}(),td=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},ed=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},nd=function(){function t(t){void 0===t&&(t=Po),this._reflector=t}return t.prototype.isNgModule=function(t){return this._reflector.annotations(t).some(Vn)},t.prototype.resolve=function(t,e){void 0===e&&(e=!0);var n=io.findLast(this._reflector.annotations(t),Vn);if(n)return n;if(e)throw new Error("No NgModule metadata found for '"+s(t)+"'.");return null},t=td([M(),ed("design:paramtypes",[co])],t)}(),rd=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},id=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},od=function(){function t(t){void 0===t&&(t=Po),this._reflector=t}return t.prototype.isPipe=function(t){var n=this._reflector.annotations(e.resolveForwardRef(t));return n&&n.some(Fn)},t.prototype.resolve=function(t,n){void 0===n&&(n=!0);var r=this._reflector.annotations(e.resolveForwardRef(t));if(r){var i=io.findLast(r,Fn);if(i)return i}if(n)throw new Error("No Pipe decorator found on "+s(t));return null},t=rd([M(),id("design:paramtypes",[co])],t)}(),sd=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},ad=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},ud=function(){function t(){}return t.prototype.resolveSummary=function(){return null},t.prototype.getSymbolsOf=function(){return[]},t=sd([M(),ad("design:paramtypes",[])],t)}(),cd=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},pd=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},ld=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},hd=new e.OpaqueToken("ErrorCollector"),fd=function(){function t(t,e,n,r,i,o,s,a){void 0===s&&(s=Po),this._ngModuleResolver=t,this._directiveResolver=e,this._pipeResolver=n,this._summaryResolver=r,this._schemaRegistry=i,this._directiveNormalizer=o,this._reflector=s,this._errorCollector=a,this._directiveCache=new Map,this._summaryCache=new Map,this._pipeCache=new Map,this._ngModuleCache=new Map,this._ngModuleOfTypes=new Map}return t.prototype.clearCacheFor=function(t){var e=this._directiveCache.get(t);this._directiveCache["delete"](t),this._summaryCache["delete"](t),this._pipeCache["delete"](t),this._ngModuleOfTypes["delete"](t),this._ngModuleCache.clear(),e&&this._directiveNormalizer.clearCacheFor(e)},t.prototype.clearCache=function(){this._directiveCache.clear(),this._summaryCache.clear(),this._pipeCache.clear(),this._ngModuleCache.clear(),this._ngModuleOfTypes.clear(),this._directiveNormalizer.clearCache()},t.prototype.getAnimationEntryMetadata=function(t){var e=this,n=t.definitions.map(function(t){return e._getAnimationStateMetadata(t)});return new hs(t.name,n)},t.prototype._getAnimationStateMetadata=function(t){if(t instanceof e.AnimationStateDeclarationMetadata){var n=this._getAnimationStyleMetadata(t.styles);return new ds(t.stateNameExpr,n)}return t instanceof e.AnimationStateTransitionMetadata?new ys(t.stateChangeExpr,this._getAnimationMetadata(t.steps)):null},t.prototype._getAnimationStyleMetadata=function(t){return new gs(t.offset,t.styles)},t.prototype._getAnimationMetadata=function(t){var n=this;if(t instanceof e.AnimationStyleMetadata)return this._getAnimationStyleMetadata(t);if(t instanceof e.AnimationKeyframesSequenceMetadata)return new vs(t.steps.map(function(t){return n._getAnimationStyleMetadata(t)}));if(t instanceof e.AnimationAnimateMetadata){var r=this._getAnimationMetadata(t.styles);return new _s(t.timings,r)}if(t instanceof e.AnimationWithStepsMetadata){var i=t.steps.map(function(t){return n._getAnimationMetadata(t)});return t instanceof e.AnimationGroupMetadata?new Es(i):new ws(i)}return null},t.prototype._loadSummary=function(t,e){var n=this._summaryCache.get(t);if(!n){var r=this._summaryResolver.resolveSummary(t);n=r?r.type:null,this._summaryCache.set(t,n)}return n&&n.summaryKind===e?n:null},t.prototype._loadDirectiveMetadata=function(t,n){var r=this;if(!this._directiveCache.has(t)){t=e.resolveForwardRef(t);var i=this.getNonNormalizedDirectiveMetadata(t),o=i.annotation,s=i.metadata,a=function(e){var n=new Ps({type:s.type,isComponent:s.isComponent,selector:s.selector,exportAs:s.exportAs,changeDetection:s.changeDetection,inputs:s.inputs,outputs:s.outputs,hostListeners:s.hostListeners,hostProperties:s.hostProperties,hostAttributes:s.hostAttributes,providers:s.providers,viewProviders:s.viewProviders,queries:s.queries,viewQueries:s.viewQueries,entryComponents:s.entryComponents,template:e});return r._directiveCache.set(t,n),r._summaryCache.set(t,n.toSummary()),n};if(s.isComponent){var u=this._directiveNormalizer.normalizeTemplate({componentType:t,moduleUrl:zn(this._reflector,t,o),encapsulation:s.template.encapsulation,template:s.template.template,templateUrl:s.template.templateUrl,styles:s.template.styles,styleUrls:s.template.styleUrls,animations:s.template.animations,interpolation:s.template.interpolation});return u.syncResult?(a(u.syncResult),null):n?(this._reportError(new zo(t),t),null):u.asyncResult.then(a)}return a(null),null}},t.prototype.getNonNormalizedDirectiveMetadata=function(t){var n=this;t=e.resolveForwardRef(t);var i=this._directiveResolver.resolve(t);if(!i)return null;var o;if(i instanceof e.Component){R("styles",i.styles),R("styleUrls",i.styleUrls),k("interpolation",i.interpolation);var s=i.animations?i.animations.map(function(t){return n.getAnimationEntryMetadata(t)}):null;o=new Ts({encapsulation:i.encapsulation,template:i.template,templateUrl:i.templateUrl,styles:i.styles,styleUrls:i.styleUrls,animations:s,interpolation:i.interpolation})}var a=null,u=[],c=[],p=i.selector;i instanceof e.Component?(a=i.changeDetection,i.viewProviders&&(u=this._getProvidersMetadata(i.viewProviders,c,'viewProviders for "'+Gn(t)+'"',[],t)),i.entryComponents&&(c=Hn(i.entryComponents).map(function(t){return n._getIdentifierMetadata(t)}).concat(c)),p||(p=this._schemaRegistry.getDefaultComponentElementName())):p||(this._reportError(new cs("Directive "+Gn(t)+" has no selector, please add it!"),t),p="error");var l=[];r(i.providers)&&(l=this._getProvidersMetadata(i.providers,c,'providers for "'+Gn(t)+'"',[],t));var h=[],f=[];r(i.queries)&&(h=this._getQueriesMetadata(i.queries,!1,t),f=this._getQueriesMetadata(i.queries,!0,t));var d=Ps.create({selector:p,exportAs:i.exportAs,isComponent:!!o,type:this._getTypeMetadata(t),template:o,changeDetection:a,inputs:i.inputs,outputs:i.outputs,host:i.host,providers:l,viewProviders:u,queries:h,viewQueries:f,entryComponents:c});return{metadata:d,annotation:i}},t.prototype.getDirectiveMetadata=function(t){var e=this._directiveCache.get(t);return e||this._reportError(new cs("Illegal state: getDirectiveMetadata can only be called after loadNgModuleDirectiveAndPipeMetadata for a module that declares it. Directive "+Gn(t)+"."),t),e},t.prototype.getDirectiveSummary=function(t){var e=this._loadSummary(t,Cs.Directive);return e||this._reportError(new cs("Illegal state: Could not load the summary for directive "+Gn(t)+"."),t),e},t.prototype.isDirective=function(t){return this._directiveResolver.isDirective(t)},t.prototype.isPipe=function(t){return this._pipeResolver.isPipe(t)},t.prototype.getNgModuleSummary=function(t){var e=this._loadSummary(t,Cs.NgModule);if(!e){var n=this.getNgModuleMetadata(t,!1);e=n?n.toSummary():null,e&&this._summaryCache.set(t,e)}return e},t.prototype.loadNgModuleDirectiveAndPipeMetadata=function(t,e,n){var r=this;void 0===n&&(n=!0);var i=this.getNgModuleMetadata(t,n),o=[];return i&&(i.declaredDirectives.forEach(function(t){var n=r._loadDirectiveMetadata(t.reference,e);n&&o.push(n)}),i.declaredPipes.forEach(function(t){return r._loadPipeMetadata(t.reference)})),Promise.all(o)},t.prototype.getNgModuleMetadata=function(t,n){var r=this;void 0===n&&(n=!0),t=e.resolveForwardRef(t);var i=this._ngModuleCache.get(t);if(i)return i;var o=this._ngModuleResolver.resolve(t,n);if(!o)return null;var s=[],a=[],u=[],c=[],p=[],l=[],h=[],f=[],d=[];o.imports&&Hn(o.imports).forEach(function(e){var n;if(qn(e))n=e;else if(e&&e.ngModule){var i=e;n=i.ngModule,i.providers&&l.push.apply(l,r._getProvidersMetadata(i.providers,h,"provider for the NgModule '"+Gn(n)+"'",[],e))}if(!n)return void r._reportError(new cs("Unexpected value '"+Gn(e)+"' imported by the module '"+Gn(t)+"'"),t);var o=r.getNgModuleSummary(n);return o?void c.push(o):void r._reportError(new cs("Unexpected "+r._getTypeDescriptor(e)+" '"+Gn(e)+"' imported by the module '"+Gn(t)+"'"),t)}),o.exports&&Hn(o.exports).forEach(function(e){if(!qn(e))return void r._reportError(new cs("Unexpected value '"+Gn(e)+"' exported by the module '"+Gn(t)+"'"),t);var n=r.getNgModuleSummary(e);n?p.push(n):a.push(r._getIdentifierMetadata(e))});var y=this._getTransitiveNgModuleMetadata(c,p);o.declarations&&Hn(o.declarations).forEach(function(e){if(!qn(e))return void r._reportError(new cs("Unexpected value '"+Gn(e)+"' declared by the module '"+Gn(t)+"'"),t);var n=r._getIdentifierMetadata(e);if(r._directiveResolver.isDirective(e))y.addDirective(n),s.push(n),r._addTypeToModule(e,t);else{if(!r._pipeResolver.isPipe(e))return void r._reportError(new cs("Unexpected "+r._getTypeDescriptor(e)+" '"+Gn(e)+"' declared by the module '"+Gn(t)+"'"),t);y.addPipe(n),y.pipes.push(n),u.push(n),r._addTypeToModule(e,t)}});var m=[],v=[];return a.forEach(function(e){y.directivesSet.has(e.reference)?(m.push(e),y.addExportedDirective(e)):y.pipesSet.has(e.reference)?(v.push(e),y.addExportedPipe(e)):r._reportError(new cs("Can't export "+r._getTypeDescriptor(e.reference)+" "+Gn(e.reference)+" from "+Gn(t)+" as it was neither declared nor imported!"),t)}),o.providers&&l.push.apply(l,this._getProvidersMetadata(o.providers,h,"provider for the NgModule '"+Gn(t)+"'",[],t)),o.entryComponents&&h.push.apply(h,Hn(o.entryComponents).map(function(t){return r._getIdentifierMetadata(t)})),o.bootstrap&&Hn(o.bootstrap).forEach(function(e){return qn(e)?void f.push(r._getIdentifierMetadata(e)):void r._reportError(new cs("Unexpected value '"+Gn(e)+"' used in the bootstrap property of module '"+Gn(t)+"'"),t)}),h.push.apply(h,f),o.schemas&&d.push.apply(d,Hn(o.schemas)),i=new Os({type:this._getTypeMetadata(t),providers:l,entryComponents:h,bootstrapComponents:f,schemas:d,declaredDirectives:s,exportedDirectives:m,declaredPipes:u,exportedPipes:v,importedModules:c,exportedModules:p,transitiveModule:y,id:o.id}),h.forEach(function(t){return y.addEntryComponent(t)}),l.forEach(function(t){return y.addProvider(t,i.type)}),y.addModule(i.type),this._ngModuleCache.set(t,i),i},t.prototype._getTypeDescriptor=function(t){return this._directiveResolver.isDirective(t)?"directive":this._pipeResolver.isPipe(t)?"pipe":this._ngModuleResolver.isNgModule(t)?"module":t.provide?"provider":"value"},t.prototype._addTypeToModule=function(t,e){var n=this._ngModuleOfTypes.get(t);n&&n!==e&&this._reportError(new cs("Type "+Gn(t)+" is part of the declarations of 2 modules: "+Gn(n)+" and "+Gn(e)+"! "+("Please consider moving "+Gn(t)+" to a higher module that imports "+Gn(n)+" and "+Gn(e)+". ")+("You can also create a new NgModule that exports and includes "+Gn(t)+" then import that NgModule in "+Gn(n)+" and "+Gn(e)+".")),e),this._ngModuleOfTypes.set(t,e)},t.prototype._getTransitiveNgModuleMetadata=function(t,e){var n=new Ms,r=new Map;return t.concat(e).forEach(function(t){t.modules.forEach(function(t){return n.addModule(t)}),t.entryComponents.forEach(function(t){return n.addEntryComponent(t)});var e=new Set;t.providers.forEach(function(t){var i=S(t.provider.token),o=r.get(i);o||(o=new Set,r.set(i,o));var s=t.module.reference;(e.has(i)||!o.has(s))&&(o.add(s),e.add(i),n.addProvider(t.provider,t.module))})}),e.forEach(function(t){t.exportedDirectives.forEach(function(t){return n.addExportedDirective(t)}),t.exportedPipes.forEach(function(t){return n.addExportedPipe(t)})}),t.forEach(function(t){t.exportedDirectives.forEach(function(t){return n.addDirective(t)}),t.exportedPipes.forEach(function(t){return n.addPipe(t)})}),n},t.prototype._getIdentifierMetadata=function(t){return t=e.resolveForwardRef(t),{reference:t}},t.prototype.isInjectable=function(t){var n=this._reflector.annotations(t);return n.some(function(t){return t.constructor===e.Injectable})},t.prototype.getInjectableSummary=function(t){return{summaryKind:Cs.Injectable,type:this._getTypeMetadata(t)}},t.prototype._getInjectableMetadata=function(t,e){void 0===e&&(e=null);var n=this._loadSummary(t,Cs.Injectable);return n?n.type:this._getTypeMetadata(t,e)},t.prototype._getTypeMetadata=function(t,e){void 0===e&&(e=null);var n=this._getIdentifierMetadata(t);return{reference:n.reference,diDeps:this._getDependenciesMetadata(n.reference,e),lifecycleHooks:uo.filter(function(t){return jn(t,n.reference)})}},t.prototype._getFactoryMetadata=function(t,n){return void 0===n&&(n=null),t=e.resolveForwardRef(t),{reference:t,diDeps:this._getDependenciesMetadata(t,n)}},t.prototype.getPipeMetadata=function(t){var e=this._pipeCache.get(t);return e||this._reportError(new cs("Illegal state: getPipeMetadata can only be called after loadNgModuleDirectiveAndPipeMetadata for a module that declares it. Pipe "+Gn(t)+"."),t),e},t.prototype.getPipeSummary=function(t){var e=this._loadSummary(t,Cs.Pipe);return e||this._reportError(new cs("Illegal state: Could not load the summary for pipe "+Gn(t)+"."),t),e},t.prototype.getOrLoadPipeMetadata=function(t){var e=this._pipeCache.get(t);return e||(e=this._loadPipeMetadata(t)),e},t.prototype._loadPipeMetadata=function(t){t=e.resolveForwardRef(t);var n=this._pipeResolver.resolve(t),r=new As({type:this._getTypeMetadata(t),name:n.name,pure:n.pure});return this._pipeCache.set(t,r),this._summaryCache.set(t,r.toSummary()),r},t.prototype._getDependenciesMetadata=function(t,n){var r=this,o=!1,s=n||this._reflector.parameters(t)||[],a=s.map(function(t){var n=!1,s=!1,a=!1,u=!1,c=!1,p=null;return Array.isArray(t)?t.forEach(function(t){t instanceof e.Host?s=!0:t instanceof e.Self?a=!0:t instanceof e.SkipSelf?u=!0:t instanceof e.Optional?c=!0:t instanceof e.Attribute?(n=!0,p=t.attributeName):t instanceof e.Inject?p=t.token:qn(t)&&i(p)&&(p=t)}):p=t,i(p)?(o=!0,null):{isAttribute:n,isHost:s,isSelf:a,isSkipSelf:u,isOptional:c,token:r._getTokenMetadata(p)}});if(o){var u=a.map(function(t){return t?Gn(t.token):"?"}).join(", ");this._reportError(new cs("Can't resolve all parameters for "+Gn(t)+": ("+u+")."),t)}return a},t.prototype._getTokenMetadata=function(t){t=e.resolveForwardRef(t);var n;return n="string"==typeof t?{value:t}:{identifier:{reference:t}}},t.prototype._getProvidersMetadata=function(t,n,r,i,o){var s=this;return void 0===i&&(i=[]),t.forEach(function(a,u){if(Array.isArray(a))s._getProvidersMetadata(a,n,r,i);else{a=e.resolveForwardRef(a);var c=void 0;if(a&&"object"==typeof a&&a.hasOwnProperty("provide"))c=new Rs(a.provide,a);else if(qn(a))c=new Rs(a,{useClass:a});else{var p=t.reduce(function(t,e,n){return u>n?t.push(""+Gn(e)):n==u?t.push("?"+Gn(e)+"?"):n==u+1&&t.push("..."),t},[]).join(", ");s._reportError(new cs("Invalid "+(r?r:"provider")+" - only instances of Provider and Type are allowed, got: ["+p+"]"),o)}c.token===Qt(_p.ANALYZE_FOR_ENTRY_COMPONENTS)?n.push.apply(n,s._getEntryComponentsFromProvider(c,o)):i.push(s.getProviderMetadata(c))}}),i},t.prototype._getEntryComponentsFromProvider=function(t,e){var n=this,r=[],i=[];return t.useFactory||t.useExisting||t.useClass?(this._reportError(new cs("The ANALYZE_FOR_ENTRY_COMPONENTS token only supports useValue!"),e),[]):t.multi?(Wn(t.useValue,i),i.forEach(function(t){(n._directiveResolver.isDirective(t.reference)||n._loadSummary(t.reference,Cs.Directive))&&r.push(t)}),r):(this._reportError(new cs("The ANALYZE_FOR_ENTRY_COMPONENTS token only supports 'multi = true'!"),e),[])},t.prototype.getProviderMetadata=function(t){var e,n=null,r=null,i=this._getTokenMetadata(t.token);return t.useClass?(n=this._getInjectableMetadata(t.useClass,t.dependencies),e=n.diDeps,t.token===t.useClass&&(i={identifier:n})):t.useFactory&&(r=this._getFactoryMetadata(t.useFactory,t.dependencies),e=r.diDeps),{token:i,useClass:n,useValue:t.useValue,useFactory:r,useExisting:t.useExisting?this._getTokenMetadata(t.useExisting):null,deps:e,multi:t.multi}},t.prototype._getQueriesMetadata=function(t,e,n){var r=this,i=[];return Object.keys(t).forEach(function(o){var s=t[o];s.isViewQuery===e&&i.push(r._getQueryMetadata(s,o,n))}),i},t.prototype._queryVarBindings=function(t){return t.split(/\s*,\s*/)},t.prototype._getQueryMetadata=function(t,e,n){var r,i=this;return"string"==typeof t.selector?r=this._queryVarBindings(t.selector).map(function(t){return i._getTokenMetadata(t)}):(t.selector||this._reportError(new cs("Can't construct a query for the property \""+e+'" of "'+Gn(n)+"\" since the query selector wasn't defined."),n),r=[this._getTokenMetadata(t.selector)]),{selectors:r,first:t.first,descendants:t.descendants,propertyName:e,read:t.read?this._getTokenMetadata(t.read):null}},t.prototype._reportError=function(t,e,n){if(!this._errorCollector)throw t;this._errorCollector(t,e),n&&this._errorCollector(t,n)},t.ctorParameters=function(){return[{type:nd},{type:_h},{type:od},{type:ud},{type:Mp},{type:yh},{type:co},{type:void 0,decorators:[{type:e.Optional},{type:e.Inject,args:[hd]}]}]},t=pd([M(),ld("design:paramtypes",[nd,_h,od,ud,Mp,yh,co,Function])],t)}(),dd=function(t){function e(){t.apply(this,arguments)}return cd(e,t),e.prototype.visitOther=function(t,e){e.push({reference:t})},e}(as),yd="$quoted$",md=function(){function t(){}return t.prototype.visitArray=function(t,e){var n=this;return Ye(t.map(function(t){return g(t,n,null)}),e)},t.prototype.visitStringMap=function(t,e){var n=this,r=[],i=new Set(t&&t[yd]);return Object.keys(t).forEach(function(e){r.push(new nf(e,g(t[e],n,null),i.has(e)))}),new rf(r,e)},t.prototype.visitPrimitive=function(t,e){return tn(t,e)},t.prototype.visitOther=function(t){return t instanceof Dh?t:Ke({reference:t})},t}(),vd=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},gd=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},_d=function(){function t(t,e){this.comp=t,this.placeholder=e}return t}(),bd=function(){function t(t,e,n){this.statements=t,this.ngModuleFactoryVar=e,this.dependencies=n}return t}(),wd=function(){function t(){}return t.prototype.compile=function(t,e){var n=w(t.type),i=r(n)?"in NgModule "+b(t.type)+" in "+n:"in NgModule "+b(t.type),o=new xu("",i),s=new Tu(new Cu(o,null,null,null),new Cu(o,null,null,null)),a=[],u=[],c=t.transitiveModule.entryComponents.map(function(e){var n={reference:null};return t.bootstrapComponents.some(function(t){return t.reference===e.reference})&&u.push(n),a.push(new _d(e,n)),n}),p=new Ed(t,c,u,s),l=new Op(t,e,s);l.parse().forEach(function(t){return p.addProvider(t)});var h=p.build(),f=b(t.type)+"NgFactory",d=Ge(f).set(Ke(Yt(_p.NgModuleFactory)).instantiate([Ge(h.name),Ke(t.type)],Xe(Yt(_p.NgModuleFactory),[Xe(t.type)],[wh.Const]))).toDeclStmt(null,[cf.Final]),y=[h,d];if(t.id){var m=Ke(Yt(_p.RegisterModuleFactoryFn)).callFn([tn(t.id),Ge(f)]).toStmt();y.push(m)}return new bd(y,f,a)},t=vd([M(),gd("design:paramtypes",[])],t)}(),Ed=function(){function t(t,e,n,r){this._ngModuleMeta=t,this._entryComponentFactories=e,this._bootstrapComponentFactories=n,this._sourceSpan=r,this.fields=[],this.getters=[],this.methods=[],this.ctorStmts=[],this._tokens=[],this._instances=new Map,this._createStmts=[],this._destroyStmts=[]}return t.prototype.addProvider=function(t){var e=this,n=t.providers.map(function(t){return e._getProviderValue(t)}),r="_"+E(t.token)+"_"+this._instances.size,i=this._createProviderProperty(r,t,n,t.multiProvider,t.eager);-1!==t.lifecycleHooks.indexOf(ao.OnDestroy)&&this._destroyStmts.push(i.callMethod("ngOnDestroy",[]).toStmt()),this._tokens.push(t.token),this._instances.set(S(t.token),i)},t.prototype.build=function(){var t=this,e=this._tokens.map(function(e){var n=t._instances.get(S(e));return new bf(Cd.token.identical(on(e)),[new df(n)])}),n=[new vf("createInternal",[],this._createStmts.concat(new df(this._instances.get(this._ngModuleMeta.type.reference))),Xe(this._ngModuleMeta.type)),new vf("getInternal",[new Yh(Cd.token.name,Ah),new Yh(Cd.notFoundResult.name,Ah)],e.concat([new df(Cd.notFoundResult)]),Ah),new vf("destroyInternal",[],this._destroyStmts)],r=[Ge(Sd.parent.name),Ye(this._entryComponentFactories.map(function(t){return Ke(t)})),Ye(this._bootstrapComponentFactories.map(function(t){return Ke(t)}))],i=b(this._ngModuleMeta.type)+"Injector";return Pn({name:i,ctorParams:[new Yh(Sd.parent.name,Xe(Yt(_p.Injector)))],parent:Ke(Yt(_p.NgModuleInjector),[Xe(this._ngModuleMeta.type)]),parentArgs:r,builders:[{methods:n},this]})},t.prototype._getProviderValue=function(t){var e,n=this;if(r(t.useExisting))e=this._getDependency({token:t.useExisting});else if(r(t.useFactory)){var i=t.deps||t.useFactory.diDeps,o=i.map(function(t){return n._getDependency(t)});e=Ke(t.useFactory).callFn(o)}else if(r(t.useClass)){var i=t.deps||t.useClass.diDeps,o=i.map(function(t){return n._getDependency(t)});e=Ke(t.useClass).instantiate(o,Xe(t.useClass))}else e=Kn(t.useValue);return e},t.prototype._createProviderProperty=function(t,e,n,r,i){var o,s;if(r?(o=Ye(n),s=new Th(Ah)):(o=n[0],s=n[0].type),s||(s=Ah),i)this.fields.push(new mf(t,s)),this._createStmts.push(of.prop(t).set(o).toStmt());else{var a="_"+t;this.fields.push(new mf(a,s));var u=[new bf(of.prop(a).isBlank(),[of.prop(a).set(o).toStmt()]),new df(of.prop(a))];this.getters.push(new gf(t,u,s))}return of.prop(t)},t.prototype._getDependency=function(t){var e=null;if(t.isValue&&(e=tn(t.value)),t.isSkipSelf||(!t.token||S(t.token)!==Qt(_p.Injector)&&S(t.token)!==Qt(_p.ComponentFactoryResolver)||(e=of),e||(e=this._instances.get(S(t.token)))),!e){var n=[on(t.token)];t.isOptional&&n.push(af),e=Sd.parent.callMethod("get",n)}return e},t}(),Sd=function(){function t(){}return t.parent=of.prop("parent"),t}(),Cd=function(){function t(){}return t.token=Ge("token"),t.notFoundResult=Ge("notFoundResult"),t}(),xd=/'|\\|\n|\r|\$/g,Td=/^[$A-Z_][0-9A-Z_$]*$/i,Pd=Ge("error"),Ad=Ge("stack"),Od=function(){function t(t){this.indent=t,this.parts=[]}return t}(),Md=function(){function t(t,e){this._exportedVars=t,this._indent=e,this._classes=[],this._lines=[new Od(e)]}return t.createRoot=function(e){return new t(e,0)},Object.defineProperty(t.prototype,"_currentLine",{get:function(){return this._lines[this._lines.length-1]},enumerable:!0,configurable:!0}),t.prototype.isExportedVar=function(t){return-1!==this._exportedVars.indexOf(t)},t.prototype.println=function(t){void 0===t&&(t=""),this.print(t,!0)},t.prototype.lineIsEmpty=function(){return 0===this._currentLine.parts.length},t.prototype.print=function(t,e){void 0===e&&(e=!1),t.length>0&&this._currentLine.parts.push(t),e&&this._lines.push(new Od(this._indent))},t.prototype.removeEmptyLastLine=function(){this.lineIsEmpty()&&this._lines.pop()},t.prototype.incIndent=function(){this._indent++,this._currentLine.indent=this._indent},t.prototype.decIndent=function(){this._indent--,this._currentLine.indent=this._indent},t.prototype.pushClass=function(t){this._classes.push(t)},t.prototype.popClass=function(){return this._classes.pop()},Object.defineProperty(t.prototype,"currentClass",{get:function(){return this._classes.length>0?this._classes[this._classes.length-1]:null},enumerable:!0,configurable:!0}),t.prototype.toSource=function(){var t=this._lines;return 0===t[t.length-1].parts.length&&(t=t.slice(0,t.length-1)),t.map(function(t){return t.parts.length>0?Qn(t.indent)+t.parts.join(""):""}).join("\n")},t}(),Rd=function(){function t(t){this._escapeDollarInStrings=t}return t.prototype.visitExpressionStmt=function(t,e){return t.expr.visitExpression(this,e),e.println(";"),null},t.prototype.visitReturnStmt=function(t,e){return e.print("return "),t.value.visitExpression(this,e),e.println(";"),null},t.prototype.visitCastExpr=function(){},t.prototype.visitDeclareClassStmt=function(){},
+t.prototype.visitIfStmt=function(t,e){e.print("if ("),t.condition.visitExpression(this,e),e.print(") {");var n=r(t.falseCase)&&t.falseCase.length>0;return t.trueCase.length<=1&&!n?(e.print(" "),this.visitAllStatements(t.trueCase,e),e.removeEmptyLastLine(),e.print(" ")):(e.println(),e.incIndent(),this.visitAllStatements(t.trueCase,e),e.decIndent(),n&&(e.println("} else {"),e.incIndent(),this.visitAllStatements(t.falseCase,e),e.decIndent())),e.println("}"),null},t.prototype.visitTryCatchStmt=function(){},t.prototype.visitThrowStmt=function(t,e){return e.print("throw "),t.error.visitExpression(this,e),e.println(";"),null},t.prototype.visitCommentStmt=function(t,e){var n=t.comment.split("\n");return n.forEach(function(t){e.println("// "+t)}),null},t.prototype.visitDeclareVarStmt=function(){},t.prototype.visitWriteVarExpr=function(t,e){var n=e.lineIsEmpty();return n||e.print("("),e.print(t.name+" = "),t.value.visitExpression(this,e),n||e.print(")"),null},t.prototype.visitWriteKeyExpr=function(t,e){var n=e.lineIsEmpty();return n||e.print("("),t.receiver.visitExpression(this,e),e.print("["),t.index.visitExpression(this,e),e.print("] = "),t.value.visitExpression(this,e),n||e.print(")"),null},t.prototype.visitWritePropExpr=function(t,e){var n=e.lineIsEmpty();return n||e.print("("),t.receiver.visitExpression(this,e),e.print("."+t.name+" = "),t.value.visitExpression(this,e),n||e.print(")"),null},t.prototype.visitInvokeMethodExpr=function(t,e){t.receiver.visitExpression(this,e);var n=t.name;return r(t.builtin)&&(n=this.getBuiltinMethodName(t.builtin),i(n))?null:(e.print("."+n+"("),this.visitAllExpressions(t.args,e,","),e.print(")"),null)},t.prototype.getBuiltinMethodName=function(){},t.prototype.visitInvokeFunctionExpr=function(t,e){return t.fn.visitExpression(this,e),e.print("("),this.visitAllExpressions(t.args,e,","),e.print(")"),null},t.prototype.visitReadVarExpr=function(t,e){var n=t.name;if(r(t.builtin))switch(t.builtin){case jh.Super:n="super";break;case jh.This:n="this";break;case jh.CatchError:n=Pd.name;break;case jh.CatchStack:n=Ad.name;break;default:throw new Error("Unknown builtin variable "+t.builtin)}return e.print(n),null},t.prototype.visitInstantiateExpr=function(t,e){return e.print("new "),t.classExpr.visitExpression(this,e),e.print("("),this.visitAllExpressions(t.args,e,","),e.print(")"),null},t.prototype.visitLiteralExpr=function(t,e){var n=t.value;return e.print("string"==typeof n?Xn(n,this._escapeDollarInStrings):""+n),null},t.prototype.visitExternalExpr=function(){},t.prototype.visitConditionalExpr=function(t,e){return e.print("("),t.condition.visitExpression(this,e),e.print("? "),t.trueCase.visitExpression(this,e),e.print(": "),t.falseCase.visitExpression(this,e),e.print(")"),null},t.prototype.visitNotExpr=function(t,e){return e.print("!"),t.condition.visitExpression(this,e),null},t.prototype.visitFunctionExpr=function(){},t.prototype.visitDeclareFunctionStmt=function(){},t.prototype.visitBinaryOperatorExpr=function(t,e){var n;switch(t.operator){case Ih.Equals:n="==";break;case Ih.Identical:n="===";break;case Ih.NotEquals:n="!=";break;case Ih.NotIdentical:n="!==";break;case Ih.And:n="&&";break;case Ih.Or:n="||";break;case Ih.Plus:n="+";break;case Ih.Minus:n="-";break;case Ih.Divide:n="/";break;case Ih.Multiply:n="*";break;case Ih.Modulo:n="%";break;case Ih.Lower:n="<";break;case Ih.LowerEquals:n="<=";break;case Ih.Bigger:n=">";break;case Ih.BiggerEquals:n=">=";break;default:throw new Error("Unknown operator "+t.operator)}return e.print("("),t.lhs.visitExpression(this,e),e.print(" "+n+" "),t.rhs.visitExpression(this,e),e.print(")"),null},t.prototype.visitReadPropExpr=function(t,e){return t.receiver.visitExpression(this,e),e.print("."),e.print(t.name),null},t.prototype.visitReadKeyExpr=function(t,e){return t.receiver.visitExpression(this,e),e.print("["),t.index.visitExpression(this,e),e.print("]"),null},t.prototype.visitLiteralArrayExpr=function(t,e){var n=t.entries.length>1;return e.print("[",n),e.incIndent(),this.visitAllExpressions(t.entries,e,",",n),e.decIndent(),e.print("]",n),null},t.prototype.visitLiteralMapExpr=function(t,e){var n=this,r=t.entries.length>1;return e.print("{",r),e.incIndent(),this.visitAllObjects(function(t){e.print(Xn(t.key,n._escapeDollarInStrings,t.quoted)+": "),t.value.visitExpression(n,e)},t.entries,e,",",r),e.decIndent(),e.print("}",r),null},t.prototype.visitAllExpressions=function(t,e,n,r){var i=this;void 0===r&&(r=!1),this.visitAllObjects(function(t){return t.visitExpression(i,e)},t,e,n,r)},t.prototype.visitAllObjects=function(t,e,n,r,i){void 0===i&&(i=!1);for(var o=0;o<e.length;o++)o>0&&n.print(r,i),t(e[o]);i&&n.println()},t.prototype.visitAllStatements=function(t,e){var n=this;t.forEach(function(t){return t.visitStatement(n,e)})},t}(),kd=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Nd="/debug/lib",Id=function(){function t(t){this._importGenerator=t}return t.prototype.emitStatements=function(t,e,n){var r=this,i=new Dd(t),o=Md.createRoot(n);i.visitAllStatements(e,o);var s=[];return i.importsWithPrefixes.forEach(function(e,n){s.push("imp"+("ort * as "+e+" from '"+r._importGenerator.fileNameToModuleName(n,t)+"';"))}),s.push(o.toSource()),s.join("\n")},t}(),Dd=function(t){function e(e){t.call(this,!1),this._moduleUrl=e,this.importsWithPrefixes=new Map}return kd(e,t),e.prototype.visitType=function(t,e,n){void 0===n&&(n="any"),r(t)?t.visitType(this,e):e.print(n)},e.prototype.visitLiteralExpr=function(e,n){var r=e.value;return i(r)&&e.type!=Nh?(n.print("("+r+" as any)"),null):t.prototype.visitLiteralExpr.call(this,e,n)},e.prototype.visitLiteralArrayExpr=function(e,n){0===e.entries.length&&n.print("(");var r=t.prototype.visitLiteralArrayExpr.call(this,e,n);return 0===e.entries.length&&n.print(" as any[])"),r},e.prototype.visitExternalExpr=function(t,e){return this._visitIdentifier(t.value,t.typeParams,e),null},e.prototype.visitDeclareVarStmt=function(t,e){return e.isExportedVar(t.name)&&e.print("export "),e.print(t.hasModifier(cf.Final)?"const":"var"),e.print(" "+t.name+":"),this.visitType(t.type,e),e.print(" = "),t.value.visitExpression(this,e),e.println(";"),null},e.prototype.visitCastExpr=function(t,e){return e.print("(<"),t.type.visitType(this,e),e.print(">"),t.value.visitExpression(this,e),e.print(")"),null},e.prototype.visitDeclareClassStmt=function(t,e){var n=this;return e.pushClass(t),e.isExportedVar(t.name)&&e.print("export "),e.print("class "+t.name),r(t.parent)&&(e.print(" extends "),t.parent.visitExpression(this,e)),e.println(" {"),e.incIndent(),t.fields.forEach(function(t){return n._visitClassField(t,e)}),r(t.constructorMethod)&&this._visitClassConstructor(t,e),t.getters.forEach(function(t){return n._visitClassGetter(t,e)}),t.methods.forEach(function(t){return n._visitClassMethod(t,e)}),e.decIndent(),e.println("}"),e.popClass(),null},e.prototype._visitClassField=function(t,e){t.hasModifier(cf.Private)&&e.print("/*private*/ "),e.print(t.name),e.print(":"),this.visitType(t.type,e),e.println(";")},e.prototype._visitClassGetter=function(t,e){t.hasModifier(cf.Private)&&e.print("private "),e.print("get "+t.name+"()"),e.print(":"),this.visitType(t.type,e),e.println(" {"),e.incIndent(),this.visitAllStatements(t.body,e),e.decIndent(),e.println("}")},e.prototype._visitClassConstructor=function(t,e){e.print("constructor("),this._visitParams(t.constructorMethod.params,e),e.println(") {"),e.incIndent(),this.visitAllStatements(t.constructorMethod.body,e),e.decIndent(),e.println("}")},e.prototype._visitClassMethod=function(t,e){t.hasModifier(cf.Private)&&e.print("private "),e.print(t.name+"("),this._visitParams(t.params,e),e.print("):"),this.visitType(t.type,e,"void"),e.println(" {"),e.incIndent(),this.visitAllStatements(t.body,e),e.decIndent(),e.println("}")},e.prototype.visitFunctionExpr=function(t,e){return e.print("("),this._visitParams(t.params,e),e.print("):"),this.visitType(t.type,e,"void"),e.println(" => {"),e.incIndent(),this.visitAllStatements(t.statements,e),e.decIndent(),e.print("}"),null},e.prototype.visitDeclareFunctionStmt=function(t,e){return e.isExportedVar(t.name)&&e.print("export "),e.print("function "+t.name+"("),this._visitParams(t.params,e),e.print("):"),this.visitType(t.type,e,"void"),e.println(" {"),e.incIndent(),this.visitAllStatements(t.statements,e),e.decIndent(),e.println("}"),null},e.prototype.visitTryCatchStmt=function(t,e){e.println("try {"),e.incIndent(),this.visitAllStatements(t.bodyStmts,e),e.decIndent(),e.println("} catch ("+Pd.name+") {"),e.incIndent();var n=[Ad.set(Pd.prop("stack")).toDeclStmt(null,[cf.Final])].concat(t.catchStmts);return this.visitAllStatements(n,e),e.decIndent(),e.println("}"),null},e.prototype.visitBuiltintType=function(t,e){var n;switch(t.name){case Sh.Bool:n="boolean";break;case Sh.Dynamic:n="any";break;case Sh.Function:n="Function";break;case Sh.Number:n="number";break;case Sh.Int:n="number";break;case Sh.String:n="string";break;default:throw new Error("Unsupported builtin type "+t.name)}return e.print(n),null},e.prototype.visitExpressionType=function(t,e){var n=this;return t.value.visitExpression(this,e),r(t.typeParams)&&t.typeParams.length>0&&(e.print("<"),this.visitAllObjects(function(t){return t.visitType(n,e)},t.typeParams,e,","),e.print(">")),null},e.prototype.visitArrayType=function(t,e){return this.visitType(t.of,e),e.print("[]"),null},e.prototype.visitMapType=function(t,e){return e.print("{[key: string]:"),this.visitType(t.valueType,e),e.print("}"),null},e.prototype.getBuiltinMethodName=function(t){var e;switch(t){case Bh.ConcatArray:e="concat";break;case Bh.SubscribeObservable:e="subscribe";break;case Bh.Bind:e="bind";break;default:throw new Error("Unknown builtin method: "+t)}return e},e.prototype._visitParams=function(t,e){var n=this;this.visitAllObjects(function(t){e.print(t.name),e.print(":"),n.visitType(t.type,e)},t,e,",")},e.prototype._visitIdentifier=function(t,e,n){var o=this,s=b(t),a=w(t);if(i(s))throw new Error("Internal error: unknown identifier "+t);if(r(a)&&a!=this._moduleUrl){var u=this.importsWithPrefixes.get(a);i(u)&&(u="import"+this.importsWithPrefixes.size,this.importsWithPrefixes.set(a,u)),n.print(u+".")}t.reference&&t.reference.members&&t.reference.members.length?(n.print(t.reference.name),n.print("."),n.print(t.reference.members.join("."))):n.print(s),r(e)&&e.length>0&&(n.print("<"),this.visitAllObjects(function(t){return t.visitType(o,n)},e,n,","),n.print(">"))},e}(Rd),jd={};$n(e.SecurityContext.HTML,["iframe|srcdoc","*|innerHTML","*|outerHTML"]),$n(e.SecurityContext.STYLE,["*|style"]),$n(e.SecurityContext.URL,["*|formAction","area|href","area|ping","audio|src","a|href","a|ping","blockquote|cite","body|background","del|cite","form|action","img|src","img|srcset","input|src","ins|cite","q|cite","source|src","source|srcset","track|src","video|poster","video|src"]),$n(e.SecurityContext.RESOURCE_URL,["applet|code","applet|codebase","base|href","embed|src","frame|src","head|profile","html|manifest","iframe|src","link|href","media|src","object|codebase","object|data","script|src"]);var Ld=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Vd=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},Fd=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},Ud="boolean",Bd="number",Hd="string",qd="object",zd=["[Element]|textContent,%classList,className,id,innerHTML,*beforecopy,*beforecut,*beforepaste,*copy,*cut,*paste,*search,*selectstart,*webkitfullscreenchange,*webkitfullscreenerror,*wheel,outerHTML,#scrollLeft,#scrollTop","[HTMLElement]^[Element]|accessKey,contentEditable,dir,!draggable,!hidden,innerText,lang,*abort,*beforecopy,*beforecut,*beforepaste,*blur,*cancel,*canplay,*canplaythrough,*change,*click,*close,*contextmenu,*copy,*cuechange,*cut,*dblclick,*drag,*dragend,*dragenter,*dragleave,*dragover,*dragstart,*drop,*durationchange,*emptied,*ended,*error,*focus,*input,*invalid,*keydown,*keypress,*keyup,*load,*loadeddata,*loadedmetadata,*loadstart,*message,*mousedown,*mouseenter,*mouseleave,*mousemove,*mouseout,*mouseover,*mouseup,*mousewheel,*mozfullscreenchange,*mozfullscreenerror,*mozpointerlockchange,*mozpointerlockerror,*paste,*pause,*play,*playing,*progress,*ratechange,*reset,*resize,*scroll,*search,*seeked,*seeking,*select,*selectstart,*show,*stalled,*submit,*suspend,*timeupdate,*toggle,*volumechange,*waiting,*webglcontextcreationerror,*webglcontextlost,*webglcontextrestored,*webkitfullscreenchange,*webkitfullscreenerror,*wheel,outerText,!spellcheck,%style,#tabIndex,title,!translate","abbr,address,article,aside,b,bdi,bdo,cite,code,dd,dfn,dt,em,figcaption,figure,footer,header,i,kbd,main,mark,nav,noscript,rb,rp,rt,rtc,ruby,s,samp,section,small,strong,sub,sup,u,var,wbr^[HTMLElement]|accessKey,contentEditable,dir,!draggable,!hidden,innerText,lang,*abort,*beforecopy,*beforecut,*beforepaste,*blur,*cancel,*canplay,*canplaythrough,*change,*click,*close,*contextmenu,*copy,*cuechange,*cut,*dblclick,*drag,*dragend,*dragenter,*dragleave,*dragover,*dragstart,*drop,*durationchange,*emptied,*ended,*error,*focus,*input,*invalid,*keydown,*keypress,*keyup,*load,*loadeddata,*loadedmetadata,*loadstart,*message,*mousedown,*mouseenter,*mouseleave,*mousemove,*mouseout,*mouseover,*mouseup,*mousewheel,*mozfullscreenchange,*mozfullscreenerror,*mozpointerlockchange,*mozpointerlockerror,*paste,*pause,*play,*playing,*progress,*ratechange,*reset,*resize,*scroll,*search,*seeked,*seeking,*select,*selectstart,*show,*stalled,*submit,*suspend,*timeupdate,*toggle,*volumechange,*waiting,*webglcontextcreationerror,*webglcontextlost,*webglcontextrestored,*webkitfullscreenchange,*webkitfullscreenerror,*wheel,outerText,!spellcheck,%style,#tabIndex,title,!translate","media^[HTMLElement]|!autoplay,!controls,%crossOrigin,#currentTime,!defaultMuted,#defaultPlaybackRate,!disableRemotePlayback,!loop,!muted,*encrypted,#playbackRate,preload,src,%srcObject,#volume",":svg:^[HTMLElement]|*abort,*blur,*cancel,*canplay,*canplaythrough,*change,*click,*close,*contextmenu,*cuechange,*dblclick,*drag,*dragend,*dragenter,*dragleave,*dragover,*dragstart,*drop,*durationchange,*emptied,*ended,*error,*focus,*input,*invalid,*keydown,*keypress,*keyup,*load,*loadeddata,*loadedmetadata,*loadstart,*mousedown,*mouseenter,*mouseleave,*mousemove,*mouseout,*mouseover,*mouseup,*mousewheel,*pause,*play,*playing,*progress,*ratechange,*reset,*resize,*scroll,*seeked,*seeking,*select,*show,*stalled,*submit,*suspend,*timeupdate,*toggle,*volumechange,*waiting,%style,#tabIndex",":svg:graphics^:svg:|",":svg:animation^:svg:|*begin,*end,*repeat",":svg:geometry^:svg:|",":svg:componentTransferFunction^:svg:|",":svg:gradient^:svg:|",":svg:textContent^:svg:graphics|",":svg:textPositioning^:svg:textContent|","a^[HTMLElement]|charset,coords,download,hash,host,hostname,href,hreflang,name,password,pathname,ping,port,protocol,referrerPolicy,rel,rev,search,shape,target,text,type,username","area^[HTMLElement]|alt,coords,hash,host,hostname,href,!noHref,password,pathname,ping,port,protocol,referrerPolicy,search,shape,target,username","audio^media|","br^[HTMLElement]|clear","base^[HTMLElement]|href,target","body^[HTMLElement]|aLink,background,bgColor,link,*beforeunload,*blur,*error,*focus,*hashchange,*languagechange,*load,*message,*offline,*online,*pagehide,*pageshow,*popstate,*rejectionhandled,*resize,*scroll,*storage,*unhandledrejection,*unload,text,vLink","button^[HTMLElement]|!autofocus,!disabled,formAction,formEnctype,formMethod,!formNoValidate,formTarget,name,type,value","canvas^[HTMLElement]|#height,#width","content^[HTMLElement]|select","dl^[HTMLElement]|!compact","datalist^[HTMLElement]|","details^[HTMLElement]|!open","dialog^[HTMLElement]|!open,returnValue","dir^[HTMLElement]|!compact","div^[HTMLElement]|align","embed^[HTMLElement]|align,height,name,src,type,width","fieldset^[HTMLElement]|!disabled,name","font^[HTMLElement]|color,face,size","form^[HTMLElement]|acceptCharset,action,autocomplete,encoding,enctype,method,name,!noValidate,target","frame^[HTMLElement]|frameBorder,longDesc,marginHeight,marginWidth,name,!noResize,scrolling,src","frameset^[HTMLElement]|cols,*beforeunload,*blur,*error,*focus,*hashchange,*languagechange,*load,*message,*offline,*online,*pagehide,*pageshow,*popstate,*rejectionhandled,*resize,*scroll,*storage,*unhandledrejection,*unload,rows","hr^[HTMLElement]|align,color,!noShade,size,width","head^[HTMLElement]|","h1,h2,h3,h4,h5,h6^[HTMLElement]|align","html^[HTMLElement]|version","iframe^[HTMLElement]|align,!allowFullscreen,frameBorder,height,longDesc,marginHeight,marginWidth,name,referrerPolicy,%sandbox,scrolling,src,srcdoc,width","img^[HTMLElement]|align,alt,border,%crossOrigin,#height,#hspace,!isMap,longDesc,lowsrc,name,referrerPolicy,sizes,src,srcset,useMap,#vspace,#width","input^[HTMLElement]|accept,align,alt,autocapitalize,autocomplete,!autofocus,!checked,!defaultChecked,defaultValue,dirName,!disabled,%files,formAction,formEnctype,formMethod,!formNoValidate,formTarget,#height,!incremental,!indeterminate,max,#maxLength,min,#minLength,!multiple,name,pattern,placeholder,!readOnly,!required,selectionDirection,#selectionEnd,#selectionStart,#size,src,step,type,useMap,value,%valueAsDate,#valueAsNumber,#width","keygen^[HTMLElement]|!autofocus,challenge,!disabled,keytype,name","li^[HTMLElement]|type,#value","label^[HTMLElement]|htmlFor","legend^[HTMLElement]|align","link^[HTMLElement]|as,charset,%crossOrigin,!disabled,href,hreflang,integrity,media,rel,%relList,rev,%sizes,target,type","map^[HTMLElement]|name","marquee^[HTMLElement]|behavior,bgColor,direction,height,#hspace,#loop,#scrollAmount,#scrollDelay,!trueSpeed,#vspace,width","menu^[HTMLElement]|!compact","meta^[HTMLElement]|content,httpEquiv,name,scheme","meter^[HTMLElement]|#high,#low,#max,#min,#optimum,#value","ins,del^[HTMLElement]|cite,dateTime","ol^[HTMLElement]|!compact,!reversed,#start,type","object^[HTMLElement]|align,archive,border,code,codeBase,codeType,data,!declare,height,#hspace,name,standby,type,useMap,#vspace,width","optgroup^[HTMLElement]|!disabled,label","option^[HTMLElement]|!defaultSelected,!disabled,label,!selected,text,value","output^[HTMLElement]|defaultValue,%htmlFor,name,value","p^[HTMLElement]|align","param^[HTMLElement]|name,type,value,valueType","picture^[HTMLElement]|","pre^[HTMLElement]|#width","progress^[HTMLElement]|#max,#value","q,blockquote,cite^[HTMLElement]|","script^[HTMLElement]|!async,charset,%crossOrigin,!defer,event,htmlFor,integrity,src,text,type","select^[HTMLElement]|!autofocus,!disabled,#length,!multiple,name,!required,#selectedIndex,#size,value","shadow^[HTMLElement]|","source^[HTMLElement]|media,sizes,src,srcset,type","span^[HTMLElement]|","style^[HTMLElement]|!disabled,media,type","caption^[HTMLElement]|align","th,td^[HTMLElement]|abbr,align,axis,bgColor,ch,chOff,#colSpan,headers,height,!noWrap,#rowSpan,scope,vAlign,width","col,colgroup^[HTMLElement]|align,ch,chOff,#span,vAlign,width","table^[HTMLElement]|align,bgColor,border,%caption,cellPadding,cellSpacing,frame,rules,summary,%tFoot,%tHead,width","tr^[HTMLElement]|align,bgColor,ch,chOff,vAlign","tfoot,thead,tbody^[HTMLElement]|align,ch,chOff,vAlign","template^[HTMLElement]|","textarea^[HTMLElement]|autocapitalize,!autofocus,#cols,defaultValue,dirName,!disabled,#maxLength,#minLength,name,placeholder,!readOnly,!required,#rows,selectionDirection,#selectionEnd,#selectionStart,value,wrap","title^[HTMLElement]|text","track^[HTMLElement]|!default,kind,label,src,srclang","ul^[HTMLElement]|!compact,type","unknown^[HTMLElement]|","video^media|#height,poster,#width",":svg:a^:svg:graphics|",":svg:animate^:svg:animation|",":svg:animateMotion^:svg:animation|",":svg:animateTransform^:svg:animation|",":svg:circle^:svg:geometry|",":svg:clipPath^:svg:graphics|",":svg:cursor^:svg:|",":svg:defs^:svg:graphics|",":svg:desc^:svg:|",":svg:discard^:svg:|",":svg:ellipse^:svg:geometry|",":svg:feBlend^:svg:|",":svg:feColorMatrix^:svg:|",":svg:feComponentTransfer^:svg:|",":svg:feComposite^:svg:|",":svg:feConvolveMatrix^:svg:|",":svg:feDiffuseLighting^:svg:|",":svg:feDisplacementMap^:svg:|",":svg:feDistantLight^:svg:|",":svg:feDropShadow^:svg:|",":svg:feFlood^:svg:|",":svg:feFuncA^:svg:componentTransferFunction|",":svg:feFuncB^:svg:componentTransferFunction|",":svg:feFuncG^:svg:componentTransferFunction|",":svg:feFuncR^:svg:componentTransferFunction|",":svg:feGaussianBlur^:svg:|",":svg:feImage^:svg:|",":svg:feMerge^:svg:|",":svg:feMergeNode^:svg:|",":svg:feMorphology^:svg:|",":svg:feOffset^:svg:|",":svg:fePointLight^:svg:|",":svg:feSpecularLighting^:svg:|",":svg:feSpotLight^:svg:|",":svg:feTile^:svg:|",":svg:feTurbulence^:svg:|",":svg:filter^:svg:|",":svg:foreignObject^:svg:graphics|",":svg:g^:svg:graphics|",":svg:image^:svg:graphics|",":svg:line^:svg:geometry|",":svg:linearGradient^:svg:gradient|",":svg:mpath^:svg:|",":svg:marker^:svg:|",":svg:mask^:svg:|",":svg:metadata^:svg:|",":svg:path^:svg:geometry|",":svg:pattern^:svg:|",":svg:polygon^:svg:geometry|",":svg:polyline^:svg:geometry|",":svg:radialGradient^:svg:gradient|",":svg:rect^:svg:geometry|",":svg:svg^:svg:graphics|#currentScale,#zoomAndPan",":svg:script^:svg:|type",":svg:set^:svg:animation|",":svg:stop^:svg:|",":svg:style^:svg:|!disabled,media,title,type",":svg:switch^:svg:graphics|",":svg:symbol^:svg:|",":svg:tspan^:svg:textPositioning|",":svg:text^:svg:textPositioning|",":svg:textPath^:svg:textContent|",":svg:title^:svg:|",":svg:use^:svg:graphics|",":svg:view^:svg:|#zoomAndPan","data^[HTMLElement]|value","menuitem^[HTMLElement]|type,label,icon,!disabled,!checked,radiogroup,!default","summary^[HTMLElement]|","time^[HTMLElement]|dateTime"],Wd={"class":"className","for":"htmlFor",formaction:"formAction",innerHtml:"innerHTML",readonly:"readOnly",tabindex:"tabIndex"},Gd=function(t){function n(){var e=this;t.call(this),this._schema={},zd.forEach(function(t){var n={},r=t.split("|"),i=r[0],o=r[1],s=o.split(","),a=i.split("^"),u=a[0],c=a[1];u.split(",").forEach(function(t){return e._schema[t.toLowerCase()]=n});var p=c&&e._schema[c.toLowerCase()];p&&Object.keys(p).forEach(function(t){n[t]=p[t]}),s.forEach(function(t){if(t.length>0)switch(t[0]){case"*":break;case"!":n[t.substring(1)]=Ud;break;case"#":n[t.substring(1)]=Bd;break;case"%":n[t.substring(1)]=qd;break;default:n[t]=Hd}})})}return Ld(n,t),n.prototype.hasProperty=function(t,n,r){if(r.some(function(t){return t.name===e.NO_ERRORS_SCHEMA.name}))return!0;if(t.indexOf("-")>-1){if("ng-container"===t||"ng-content"===t)return!1;if(r.some(function(t){return t.name===e.CUSTOM_ELEMENTS_SCHEMA.name}))return!0}var i=this._schema[t.toLowerCase()]||this._schema.unknown;return!!i[n]},n.prototype.hasElement=function(t,n){if(n.some(function(t){return t.name===e.NO_ERRORS_SCHEMA.name}))return!0;if(t.indexOf("-")>-1){if("ng-container"===t||"ng-content"===t)return!0;if(n.some(function(t){return t.name===e.CUSTOM_ELEMENTS_SCHEMA.name}))return!0}return!!this._schema[t.toLowerCase()]},n.prototype.securityContext=function(t,n,r){r&&(n=this.getMappedPropName(n)),t=t.toLowerCase(),n=n.toLowerCase();var i=jd[t+"|"+n];return i?i:(i=jd["*|"+n],i?i:e.SecurityContext.NONE)},n.prototype.getMappedPropName=function(t){return Wd[t]||t},n.prototype.getDefaultComponentElementName=function(){return"ng-component"},n.prototype.validateProperty=function(t){if(t.toLowerCase().startsWith("on")){var e="Binding to event property '"+t+"' is disallowed for security reasons, "+("please use ("+t.slice(2)+")=...")+("\nIf '"+t+"' is a directive input, make sure the directive is imported by the")+" current module.";return{error:!0,msg:e}}return{error:!1}},n.prototype.validateAttribute=function(t){if(t.toLowerCase().startsWith("on")){var e="Binding to event attribute '"+t+"' is disallowed for security reasons, "+("please use ("+t.slice(2)+")=...");return{error:!0,msg:e}}return{error:!1}},n.prototype.allKnownElementNames=function(){return Object.keys(this._schema)},n.prototype.normalizeAnimationStyleProperty=function(t){return d(t)},n.prototype.normalizeAnimationStyleValue=function(t,e,n){var r="",i=n.toString().trim(),o=null;if(Zn(t)&&0!==n&&"0"!==n)if("number"==typeof n)r="px";else{var s=n.match(/^[+-]?[\d\.]+([a-z]*)$/);s&&0==s[1].length&&(o="Please provide a CSS unit value for "+e+":"+n)}return{error:o,value:i+r}},n=Vd([M(),Fd("design:paramtypes",[])],n)}(Mp),Kd=function(){function t(){this.strictStyling=!0}return t.prototype.shimCssText=function(t,e,n){void 0===n&&(n="");var r=tr(t);return t=Jn(t),t=this._insertDirectives(t),this._scopeCssText(t,e,n)+r},t.prototype._insertDirectives=function(t){return t=this._insertPolyfillDirectivesInCssText(t),this._insertPolyfillRulesInCssText(t)},t.prototype._insertPolyfillDirectivesInCssText=function(t){return t.replace(Qd,function(){for(var t=[],e=0;e<arguments.length;e++)t[e-0]=arguments[e];return t[2]+"{"})},t.prototype._insertPolyfillRulesInCssText=function(t){return t.replace(Yd,function(){for(var t=[],e=0;e<arguments.length;e++)t[e-0]=arguments[e];var n=t[0].replace(t[1],"").replace(t[2],"");return t[4]+n})},t.prototype._scopeCssText=function(t,e,n){var r=this._extractUnscopedRulesFromCssText(t);return t=this._insertPolyfillHostInCssText(t),t=this._convertColonHost(t),t=this._convertColonHostContext(t),t=this._convertShadowDOMSelectors(t),e&&(t=this._scopeSelectors(t,e,n)),t=t+"\n"+r,t.trim()},t.prototype._extractUnscopedRulesFromCssText=function(t){var e,n="";for($d.lastIndex=0;null!==(e=$d.exec(t));){var r=e[0].replace(e[2],"").replace(e[1],e[4]);n+=r+"\n\n"}return n},t.prototype._convertColonHost=function(t){return this._convertColonRule(t,ey,this._colonHostPartReplacer)},t.prototype._convertColonHostContext=function(t){return this._convertColonRule(t,ny,this._colonHostContextPartReplacer)},t.prototype._convertColonRule=function(t,e,n){return t.replace(e,function(){for(var t=[],e=0;e<arguments.length;e++)t[e-0]=arguments[e];if(t[2]){for(var r=t[2].split(","),i=[],o=0;o<r.length;o++){var s=r[o].trim();if(!s)break;i.push(n(ry,s,t[3]))}return i.join(",")}return ry+t[3]})},t.prototype._colonHostContextPartReplacer=function(t,e,n){return e.indexOf(Zd)>-1?this._colonHostPartReplacer(t,e,n):t+e+n+", "+e+" "+t+n},t.prototype._colonHostPartReplacer=function(t,e,n){return t+e.replace(Zd,"")+n},t.prototype._convertShadowDOMSelectors=function(t){return oy.reduce(function(t,e){return t.replace(e," ")},t)},t.prototype._scopeSelectors=function(t,e,n){var r=this;return er(t,function(t){var i=t.selector,o=t.content;return"@"!=t.selector[0]?i=r._scopeSelector(t.selector,e,n,r.strictStyling):(t.selector.startsWith("@media")||t.selector.startsWith("@supports")||t.selector.startsWith("@page")||t.selector.startsWith("@document"))&&(o=r._scopeSelectors(t.content,e,n)),new gy(i,o)})},t.prototype._scopeSelector=function(t,e,n,r){var i=this;return t.split(",").map(function(t){return t.trim().split(sy)}).map(function(t){var o=t[0],s=t.slice(1),a=function(t){return i._selectorNeedsScoping(t,e)?r?i._applyStrictSelectorScope(t,e,n):i._applySelectorScope(t,e,n):t};return[a(o)].concat(s).join(" ")}).join(", ")},t.prototype._selectorNeedsScoping=function(t,e){var n=this._makeScopeMatcher(e);return!n.test(t)},t.prototype._makeScopeMatcher=function(t){var e=/\[/g,n=/\]/g;return t=t.replace(e,"\\[").replace(n,"\\]"),new RegExp("^("+t+")"+ay,"m")},t.prototype._applySelectorScope=function(t,e,n){return this._applySimpleSelectorScope(t,e,n)},t.prototype._applySimpleSelectorScope=function(t,e,n){if(uy.lastIndex=0,uy.test(t)){var r=this.strictStyling?"["+n+"]":e;return t.replace(iy,function(t,e){return e.replace(/([^:]*)(:*)(.*)/,function(t,e,n,i){return e+r+n+i})}).replace(uy,r+" ")}return e+" "+t},t.prototype._applyStrictSelectorScope=function(t,e,n){var r=this,i=/\[is=([^\]]*)\]/g;e=e.replace(i,function(){for(var t=[],e=1;e<arguments.length;e++)t[e-1]=arguments[e];return t[0]});var o="["+e+"]",s=function(t){var i=t.trim();if(!i)return"";if(t.indexOf(ry)>-1)i=r._applySimpleSelectorScope(t,e,n);else{var s=t.replace(uy,"");if(s.length>0){var a=s.match(/([^:]*)(:*)(.*)/);a&&(i=a[1]+o+a[2]+a[3])}}return i},a=new Xd(t);t=a.content();for(var u,c="",p=0,l=/( |>|\+|~(?!=))\s*/g,h=t.indexOf(ry);null!==(u=l.exec(t));){var f=u[1],d=t.slice(p,u.index).trim(),y=p>=h?s(d):d;c+=y+" "+f+" ",p=l.lastIndex}return c+=s(t.substring(p)),a.restore(c)},t.prototype._insertPolyfillHostInCssText=function(t){return t.replace(py,Jd).replace(cy,Zd)},t}(),Xd=function(){function t(t){var e=this;this.placeholders=[],this.index=0,t=t.replace(/(\[[^\]]*\])/g,function(t,n){var r="__ph-"+e.index+"__";return e.placeholders.push(n),e.index++,r}),this._content=t.replace(/(:nth-[-\w]+)(\([^)]+\))/g,function(t,n,r){var i="__ph-"+e.index+"__";return e.placeholders.push(r),e.index++,n+i})}return t.prototype.restore=function(t){var e=this;return t.replace(/__ph-(\d+)__/g,function(t,n){return e.placeholders[+n]})},t.prototype.content=function(){return this._content},t}(),Qd=/polyfill-next-selector[^}]*content:[\s]*?(['"])(.*?)\1[;\s]*}([^{]*?){/gim,Yd=/(polyfill-rule)[^}]*(content:[\s]*(['"])(.*?)\3)[;\s]*[^}]*}/gim,$d=/(polyfill-unscoped-rule)[^}]*(content:[\s]*(['"])(.*?)\3)[;\s]*[^}]*}/gim,Zd="-shadowcsshost",Jd="-shadowcsscontext",ty=")(?:\\(((?:\\([^)(]*\\)|[^)(]*)+?)\\))?([^,{]*)",ey=new RegExp("("+Zd+ty,"gim"),ny=new RegExp("("+Jd+ty,"gim"),ry=Zd+"-no-combinator",iy=/-shadowcsshost-no-combinator([^\s]*)/,oy=[/::shadow/g,/::content/g,/\/shadow-deep\//g,/\/shadow\//g],sy=/(?:>>>)|(?:\/deep\/)/g,ay="([>\\s~+[.,{:][\\s\\S]*)?$",uy=/-shadowcsshost/gim,cy=/:host/gim,py=/:host-context/gim,ly=/\/\*\s*[\s\S]*?\*\//g,hy=/\/\*\s*#\s*sourceMappingURL=[\s\S]+?\*\//,fy=/(\s*)([^;\{\}]+?)(\s*)((?:{%BLOCK%}?\s*;?)|(?:\s*;))/g,dy=/([{}])/g,yy="{",my="}",vy="%BLOCK%",gy=function(){function t(t,e){this.selector=t,this.content=e}return t}(),_y=function(){function t(t,e){this.escapedString=t,this.blocks=e}return t}(),by=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},wy=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},Ey="%COMP%",Sy="_nghost-"+Ey,Cy="_ngcontent-"+Ey,xy=function(){function t(t,e,n,r){this.name=t,this.moduleUrl=e,this.isShimmed=n,this.valuePlaceholder=r}return t}(),Ty=function(){function t(t,e){this.componentStylesheet=t,this.externalStylesheets=e}return t}(),Py=function(){function t(t,e,n,r,i){this.statements=t,this.stylesVar=e,this.dependencies=n,this.isShimmed=r,this.meta=i}return t}(),Ay=function(){function t(t){this._urlResolver=t,this._shadowCss=new Kd}return t.prototype.compileComponent=function(t){var e=this,n=[],r=this._compileStyles(t,new xs({styles:t.template.styles,styleUrls:t.template.styleUrls,moduleUrl:w(t.type)}),!0);return t.template.externalStylesheets.forEach(function(r){var i=e._compileStyles(t,r,!1);n.push(i)}),new Ty(r,n)},t.prototype._compileStyles=function(t,n,r){for(var i=this,o=t.template.encapsulation===e.ViewEncapsulation.Emulated,s=n.styles.map(function(t){return tn(i._shimIfNeeded(t,o))}),a=[],u=0;u<n.styleUrls.length;u++){var c={reference:null};a.push(new xy(rr(null),n.styleUrls[u],o,c)),s.push(new Gh(c))}var p=rr(r?t:null),l=Ge(p).set(Ye(s,new Th(Ah,[wh.Const]))).toDeclStmt(null,[cf.Final]);return new Py([l],p,a,o,n)},t.prototype._shimIfNeeded=function(t,e){
+return e?this._shadowCss.shimCssText(t,Cy,Sy):t},t=by([M(),wy("design:paramtypes",[ph])],t)}(),Oy=function(){function t(t,e){this.nodeIndex=t,this.sourceAst=e}return t}(),My=new Oy(null,null),Ry=function(){function t(t){this._view=t,this._newState=My,this._currState=My,this._bodyStatements=[],this._debugEnabled=this._view.genConfig.genDebugInfo}return t.prototype._updateDebugContextIfNeeded=function(){if(this._newState.nodeIndex!==this._currState.nodeIndex||this._newState.sourceAst!==this._currState.sourceAst){var t=this._updateDebugContext(this._newState);t&&this._bodyStatements.push(t.toStmt())}},t.prototype._updateDebugContext=function(t){if(this._currState=this._newState=t,this._debugEnabled){var e=t.sourceAst?t.sourceAst.sourceSpan.start:null;return of.callMethod("debug",[tn(t.nodeIndex),e?tn(e.line):af,e?tn(e.col):af])}return null},t.prototype.resetDebugInfoExpr=function(t,e){var n=this._updateDebugContext(new Oy(t,e));return n||af},t.prototype.resetDebugInfo=function(t,e){this._newState=new Oy(t,e)},t.prototype.push=function(){for(var t=[],e=0;e<arguments.length;e++)t[e-0]=arguments[e];this.addStmts(t)},t.prototype.addStmt=function(t){this._updateDebugContextIfNeeded(),this._bodyStatements.push(t)},t.prototype.addStmts=function(t){this._updateDebugContextIfNeeded(),(e=this._bodyStatements).push.apply(e,t);var e},t.prototype.finish=function(){return this._bodyStatements},t.prototype.isEmpty=function(){return 0===this._bodyStatements.length},t}(),ky=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Ny=function(t){function e(e,n){t.call(this),this._viewExpr=e,this._view=n}return ky(e,t),e.prototype._isThis=function(t){return t instanceof Lh&&t.builtin===jh.This},e.prototype.visitReadVarExpr=function(t){return this._isThis(t)?this._viewExpr:t},e.prototype.visitReadPropExpr=function(e,n){return this._isThis(e.receiver)&&(this._view.fields.some(function(t){return t.name==e.name})||this._view.getters.some(function(t){return t.name==e.name}))?this._viewExpr.cast(this._view.classType).prop(e.name):t.prototype.visitReadPropExpr.call(this,e,n)},e}(Sf),Iy=function(){function t(t,e){this.view=t,this.values=e}return t}(),Dy=function(){function t(t,e,n,r){this.meta=t,this.queryList=e,this.ownerDirectiveExpression=n,this.view=r,this._values=new Iy(r,[])}return t.prototype.addValue=function(t,e){for(var n=e,r=[];n&&n!==this.view;){var i=n.declarationElement;r.unshift(i),n=i.view}var o=ir(this.queryList,e,this.view),s=this._values;r.forEach(function(t){var e=s.values.length>0?s.values[s.values.length-1]:null;if(e instanceof Iy&&e.view===t.embeddedView)s=e;else{var n=new Iy(t.embeddedView,[]);s.values.push(n),s=n}}),s.values.push(t),r.length>0&&e.dirtyParentQueriesMethod.addStmt(o.callMethod("setDirty",[]).toStmt())},t.prototype._isStatic=function(){return!this._values.values.some(function(t){return t instanceof Iy})},t.prototype.generateStatements=function(t,e){var n=ur(this._values),r=[this.queryList.callMethod("reset",[Ye(n)]).toStmt()];if(this.ownerDirectiveExpression){var i=this.meta.first?this.queryList.prop("first"):this.queryList;r.push(this.ownerDirectiveExpression.prop(this.meta.propertyName).set(i).toStmt())}this.meta.first||r.push(this.queryList.callMethod("notifyOnChanges",[]).toStmt()),this.meta.first&&this._isStatic()?t.addStmts(r):e.addStmt(new bf(this.queryList.prop("dirty"),r))},t}(),jy=function(){function t(){}return t.fromValue=function(t){return un(_p.ViewType,t)},t}(),Ly=function(){function t(){}return t.fromValue=function(t){return un(_p.ViewEncapsulation,t)},t}(),Vy=function(){function t(){}return t.fromValue=function(t){return un(_p.ChangeDetectorStatus,t)},t}(),Fy=function(){function t(){}return t.viewUtils=Ge("viewUtils"),t.parentView=Ge("parentView"),t.parentIndex=Ge("parentIndex"),t.parentElement=Ge("parentElement"),t}(),Uy=function(){function t(){}return t.renderer=of.prop("renderer"),t.viewUtils=of.prop("viewUtils"),t}(),By=function(){function t(){}return t.token=Ge("token"),t.requestNodeIndex=Ge("requestNodeIndex"),t.notFoundResult=Ge("notFoundResult"),t}(),Hy=function(){function t(){}return t.throwOnChange=Ge("throwOnChange"),t.changes=Ge("changes"),t.changed=Ge("changed"),t}(),qy=function(){function t(t,e,n){this.comp=t,this.name=e,this.placeholder=n}return t}(),zy=function(){function t(t,e){this.comp=t,this.placeholder=e}return t}(),Wy=function(){function t(t,e,n){this.dir=t,this.name=e,this.placeholder=n}return t}(),Gy=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Ky=function(){function t(t,e,n,r,i){this.parent=t,this.view=e,this.nodeIndex=n,this.renderNode=r,this.sourceAst=i}return t.prototype.isNull=function(){return!this.renderNode},t.prototype.isRootElement=function(){return this.view!=this.parent.view},t}(),Xy=function(t){function e(e,n,r,i,o,s,a,u,c,p,l){var h=this;t.call(this,e,n,r,i,o),this.component=s,this._directives=a,this._resolvedProvidersArray=u,this.hasViewContainer=c,this.hasEmbeddedView=p,this.compViewExpr=null,this.instances=new Map,this.directiveWrapperInstance=new Map,this._queryCount=0,this._queries=new Map,this.contentNodesByNgContentIndex=null,this.referenceTokens={},l.forEach(function(t){return h.referenceTokens[t.name]=t.value}),this.elementRef=Ke(Yt(_p.ElementRef)).instantiate([this.renderNode]),this.instances.set(Qt(_p.ElementRef),this.elementRef),this.instances.set(Qt(_p.Injector),of.callMethod("injector",[tn(this.nodeIndex)])),this.instances.set(Qt(_p.Renderer),of.prop("renderer")),(this.hasViewContainer||this.hasEmbeddedView)&&this._createViewContainer(),this.component&&this._createComponentFactoryResolver()}return Gy(e,t),e.createNull=function(){return new e(null,null,null,null,null,null,[],[],!1,!1,[])},e.prototype._createViewContainer=function(){var t="_vc_"+this.nodeIndex,e=this.isRootElement()?null:this.parent.nodeIndex;this.view.fields.push(new mf(t,Xe(Yt(_p.ViewContainer)),[cf.Private]));var n=of.prop(t).set(Ke(Yt(_p.ViewContainer)).instantiate([tn(this.nodeIndex),tn(e),of,this.renderNode])).toStmt();this.view.createMethod.addStmt(n),this.viewContainer=of.prop(t),this.instances.set(Qt(_p.ViewContainer),this.viewContainer),this.view.viewContainers.push(this.viewContainer)},e.prototype._createComponentFactoryResolver=function(){var t=this,e=this.component.entryComponents.map(function(e){var n={reference:null};return t.view.targetDependencies.push(new zy(e,n)),n});if(e&&0!==e.length){var n=Ke(Yt(_p.CodegenComponentFactoryResolver)).instantiate([Ye(e.map(function(t){return Ke(t)})),or(this.view,Zt(_p.ComponentFactoryResolver),!1)]),r={token:Zt(_p.ComponentFactoryResolver),useValue:n};this._resolvedProvidersArray.unshift(new Qi(r.token,!1,!0,[r],Yi.PrivateService,[],this.sourceAst.sourceSpan))}},e.prototype.setComponentView=function(t){this.compViewExpr=t,this.contentNodesByNgContentIndex=new Array(this.component.template.ngContentSelectors.length);for(var e=0;e<this.contentNodesByNgContentIndex.length;e++)this.contentNodesByNgContentIndex[e]=[]},e.prototype.setEmbeddedView=function(t){if(this.embeddedView=t,r(t)){var e=Ke(Yt(_p.TemplateRef_)).instantiate([of,tn(this.nodeIndex),this.renderNode]),n={token:Zt(_p.TemplateRef),useValue:e};this._resolvedProvidersArray.unshift(new Qi(n.token,!1,!0,[n],Yi.Builtin,[],this.sourceAst.sourceSpan))}},e.prototype.beforeChildren=function(){var t=this;this.hasViewContainer&&this.instances.set(Qt(_p.ViewContainerRef),this.viewContainer.prop("vcRef")),this._resolvedProviders=new Map,this._resolvedProvidersArray.forEach(function(e){return t._resolvedProviders.set(S(e.token),e)}),Array.from(this._resolvedProviders.values()).forEach(function(e){var n=e.providerType===Yi.Component||e.providerType===Yi.Directive,r=e.providers.map(function(r){if(r.useExisting)return t._getDependency(e.providerType,{token:r.useExisting});if(r.useFactory){var i=r.deps||r.useFactory.diDeps,o=i.map(function(n){return t._getDependency(e.providerType,n)});return Ke(r.useFactory).callFn(o)}if(r.useClass){var i=r.deps||r.useClass.diDeps,o=i.map(function(n){return t._getDependency(e.providerType,n)});if(n){var s={reference:null};return t.view.targetDependencies.push(new Wy(r.useClass,Yf.dirWrapperClassName(r.useClass),s)),Jf.create(s,o)}return Ke(r.useClass).instantiate(o,Xe(r.useClass))}return Kn(r.useValue)}),i="_"+E(e.token)+"_"+t.nodeIndex+"_"+t.instances.size,o=fr(i,r,e.multiProvider,e.eager,t);n?(t.directiveWrapperInstance.set(S(e.token),o),t.instances.set(S(e.token),Jf.context(o))):t.instances.set(S(e.token),o)});for(var e=function(e){var r=n._directives[e],i=n.instances.get(S($t(r.type)));r.queries.forEach(function(e){t._addQuery(e,i)})},n=this,r=0;r<this._directives.length;r++)e(r);Object.keys(this.referenceTokens).forEach(function(e){var n,r=t.referenceTokens[e];n=r?t.instances.get(S(r)):t.renderNode,t.view.locals.set(e,n)})},e.prototype.afterChildren=function(t){var e=this;Array.from(this._resolvedProviders.values()).forEach(function(n){var r=e.instances.get(S(n.token)),i=n.providerType===Yi.PrivateService?0:t;e.view.injectorGetMethod.addStmt(hr(e.nodeIndex,i,n,r))})},e.prototype.finish=function(){var t=this;Array.from(this._queries.values()).forEach(function(e){return e.forEach(function(e){return e.generateStatements(t.view.createMethod,t.view.updateContentQueriesMethod)})})},e.prototype.addContentNode=function(t,e){this.contentNodesByNgContentIndex[t].push(e)},e.prototype.getComponent=function(){return r(this.component)?this.instances.get(S($t(this.component.type))):null},e.prototype.getProviderTokens=function(){return Array.from(this._resolvedProviders.values()).map(function(t){return t.token})},e.prototype.getQueriesFor=function(t){for(var e,n=[],i=this,o=0;!i.isNull();)e=i._queries.get(S(t)),r(e)&&n.push.apply(n,e.filter(function(t){return t.meta.descendants||1>=o})),i._directives.length>0&&o++,i=i.parent;return e=this.view.componentView.viewQueries.get(S(t)),r(e)&&n.push.apply(n,e),n},e.prototype._addQuery=function(t,e){var n="_query_"+E(t.selectors[0])+"_"+this.nodeIndex+"_"+this._queryCount++,r=pr(n,this.view),i=new Dy(t,r,e,this.view);return lr(this._queries,i),i},e.prototype._getLocalDependency=function(t,e){var n=null;if(r(e.token)){if(!n&&S(e.token)===Qt(_p.ChangeDetectorRef))return t===Yi.Component?this.compViewExpr.prop("ref"):ir(of.prop("ref"),this.view,this.view.componentView);if(!n){var i=this._resolvedProviders.get(S(e.token));if(i&&(t===Yi.Directive||t===Yi.PublicService)&&i.providerType===Yi.PrivateService)return null;n=this.instances.get(S(e.token))}}return n},e.prototype._getDependency=function(t,e){var n=this,r=null;for(e.isValue&&(r=tn(e.value)),r||e.isSkipSelf||(r=this._getLocalDependency(t,e));!r&&!n.parent.isNull();)n=n.parent,r=n._getLocalDependency(Yi.PublicService,{token:e.token});return r||(r=or(this.view,e.token,e.isOptional)),r||(r=af),ir(r,this.view,n.view)},e}(Ky),Qy=function(){function t(t,e){var n=this;this.view=t,this.meta=e,this._purePipeProxyCount=0,this.instance=of.prop("_pipe_"+e.name+"_"+t.pipeCount++);var r=this.meta.type.diDeps.map(function(e){return S(e.token)===Qt(_p.ChangeDetectorRef)?ir(of.prop("ref"),n.view,n.view.componentView):or(t,e.token,!1)});this.view.fields.push(new mf(this.instance.name,Xe(this.meta.type))),this.view.createMethod.resetDebugInfo(null,null),this.view.createMethod.addStmt(of.prop(this.instance.name).set(Ke(this.meta.type).instantiate(r)).toStmt())}return t.call=function(e,n,r){var i,o=e.componentView,s=dr(o,n);return s.pure?(i=o.purePipes.get(n),i||(i=new t(o,s),o.purePipes.set(n,i),o.pipes.push(i))):(i=new t(e,s),e.pipes.push(i)),i._call(e,r)},Object.defineProperty(t.prototype,"pure",{get:function(){return this.meta.pure},enumerable:!0,configurable:!0}),t.prototype._call=function(t,e){if(this.meta.pure){var n=of.prop(this.instance.name+"_"+this._purePipeProxyCount++),r=ir(this.instance,t,this.view);return an(r.prop("transform").callMethod(Bh.Bind,[r]),e.length,n,{fields:t.fields,ctorStmts:t.createMethod}),Ke(Yt(_p.castByValue)).callFn([n,r.prop("transform")]).callFn(e)}return ir(this.instance,t,this.view).callMethod("transform",e)},t}(),Yy={};Yy.Node=0,Yy.ViewContainer=1,Yy.NgContent=2,Yy[Yy.Node]="Node",Yy[Yy.ViewContainer]="ViewContainer",Yy[Yy.NgContent]="NgContent";var $y=function(){function t(t,e,n){this.type=t,this.expr=e,this.ngContentIndex=n}return t}(),Zy=function(){function t(t,e,n,r,i,o,s,a,u){var c=this;this.component=t,this.genConfig=e,this.pipeMetas=n,this.styles=r,this.animations=i,this.viewIndex=o,this.declarationElement=s,this.templateVariableBindings=a,this.targetDependencies=u,this.viewChildren=[],this.nodes=[],this.rootNodes=[],this.lastRenderNode=af,this.viewContainers=[],this.methods=[],this.ctorStmts=[],this.fields=[],this.getters=[],this.disposables=[],this.purePipes=new Map,this.pipes=[],this.locals=new Map,this.literalArrayCount=0,this.literalMapCount=0,this.pipeCount=0,this.createMethod=new Ry(this),this.animationBindingsMethod=new Ry(this),this.injectorGetMethod=new Ry(this),this.updateContentQueriesMethod=new Ry(this),this.dirtyParentQueriesMethod=new Ry(this),this.updateViewQueriesMethod=new Ry(this),this.detectChangesInInputsMethod=new Ry(this),this.detectChangesRenderPropertiesMethod=new Ry(this),this.afterContentLifecycleCallbacksMethod=new Ry(this),this.afterViewLifecycleCallbacksMethod=new Ry(this),this.destroyMethod=new Ry(this),this.detachMethod=new Ry(this),this.viewType=yr(t,o),this.className=sr(t,o),this.classType=Qe(Ge(this.className)),this.classExpr=Ge(this.className),this.componentView=this.viewType===go.COMPONENT||this.viewType===go.HOST?this:this.declarationElement.view.componentView,this.componentContext=ir(of.prop("context"),this,this.componentView);var p=new Map;if(this.viewType===go.COMPONENT){var l=of.prop("context");this.component.viewQueries.forEach(function(t,e){var n="_viewQuery_"+E(t.selectors[0])+"_"+e,r=pr(n,c),i=new Dy(t,r,l,c);lr(p,i)})}this.viewQueries=p,a.forEach(function(t){c.locals.set(t[1],of.prop("context").prop(t[0]))}),this.declarationElement.isNull()||this.declarationElement.setEmbeddedView(this)}return t.prototype.callPipe=function(t,e,n){return Qy.call(this,t,[e].concat(n))},t.prototype.getLocal=function(t){if(t==Of.event.name)return Of.event;for(var e=this,n=e.locals.get(t);!n&&r(e.declarationElement.view);)e=e.declarationElement.view,n=e.locals.get(t);return r(n)?ir(n,this,e):null},t.prototype.finish=function(){var t=this;Array.from(this.viewQueries.values()).forEach(function(e){return e.forEach(function(e){return e.generateStatements(t.createMethod,t.updateViewQueriesMethod)})})},t}(),Jy=of.prop("numberOfChecks").identical(new Wh(0)),tm=(Ze(Hy.throwOnChange),function(){function t(t,e){this.query=t,this.read=t.meta.read||e}return t}()),em=function(){function t(t,e){this.view=t,this._schemaRegistry=e,this._nodeIndex=0}return t.prototype.visitBoundText=function(t){var e=this.view.nodes[this._nodeIndex++];return Pr(t,e,this.view),null},t.prototype.visitText=function(){return this._nodeIndex++,null},t.prototype.visitNgContent=function(){return null},t.prototype.visitElement=function(t){var e=this,r=this.view.nodes[this._nodeIndex++];Rr(r);var i=mr(t.outputs,t.directives,r,!0);return Ar(t.inputs,t.outputs,i,r),t.directives.forEach(function(n,i){var o=r.directiveWrapperInstance.get(n.directive.type.reference);Mr(n,o,i,r),Or(n,o,r,t.name,e._schemaRegistry)}),n(this,t.children,r),t.directives.forEach(function(t){var e=r.instances.get(t.directive.type.reference),n=r.directiveWrapperInstance.get(t.directive.type.reference);Er(t.directive,e,r),Sr(t.directive,e,r),Cr(t,n,r)}),t.providers.forEach(function(t){var e=r.instances.get(S(t.token));xr(t,e,r)}),null},t.prototype.visitEmbeddedTemplate=function(t){var e=this.view.nodes[this._nodeIndex++];return Rr(e),mr(t.outputs,t.directives,e,!1),t.directives.forEach(function(t,n){var r=e.instances.get(t.directive.type.reference),i=e.directiveWrapperInstance.get(t.directive.type.reference);Mr(t,i,n,e),Er(t.directive,r,e),Sr(t.directive,r,e),Cr(t,i,e)}),t.providers.forEach(function(t){var n=e.instances.get(S(t.token));xr(t,n,e)}),kr(e.embeddedView,t.children,this._schemaRegistry),null},t.prototype.visitAttr=function(){return null},t.prototype.visitDirective=function(){return null},t.prototype.visitEvent=function(){return null},t.prototype.visitReference=function(){return null},t.prototype.visitVariable=function(){return null},t.prototype.visitDirectiveProperty=function(){return null},t.prototype.visitElementProperty=function(){return null},t}(),nm="$implicit",rm="class",im="style",om="ng-container",sm=Ge("parentRenderNode"),am=Ge("rootSelector"),um=function(){function t(t,e){this.view=t,this.targetDependencies=e,this.nestedViewCount=0}return t.prototype._isRootNode=function(t){return t.view!==this.view},t.prototype._addRootNodeAndProject=function(t){var e=Dr(t),n=e.parent,i=e.sourceAst.ngContentIndex,o=t instanceof Xy&&t.hasViewContainer?t.viewContainer:null;this._isRootNode(n)?this.view.viewType!==go.COMPONENT&&this.view.rootNodes.push(new $y(o?Yy.ViewContainer:Yy.Node,o||t.renderNode)):r(n.component)&&r(i)&&n.addContentNode(i,new $y(o?Yy.ViewContainer:Yy.Node,o||t.renderNode))},t.prototype._getParentRenderNode=function(t){return t=jr(t),this._isRootNode(t)?this.view.viewType===go.COMPONENT?sm:af:r(t.component)&&t.component.template.encapsulation!==e.ViewEncapsulation.Native?af:t.renderNode},t.prototype.getOrCreateLastRenderNode=function(){var t=this.view;if(0===t.rootNodes.length||t.rootNodes[t.rootNodes.length-1].type!==Yy.Node){var e="_el_"+t.nodes.length;t.fields.push(new mf(e,Xe(t.genConfig.renderTypes.renderElement))),t.createMethod.addStmt(of.prop(e).set(Uy.renderer.callMethod("createTemplateAnchor",[af,af])).toStmt()),t.rootNodes.push(new $y(Yy.Node,of.prop(e)))}return t.rootNodes[t.rootNodes.length-1].expr},t.prototype.visitBoundText=function(t,e){return this._visitText(t,"",e)},t.prototype.visitText=function(t,e){return this._visitText(t,t.value,e)},t.prototype._visitText=function(t,e,n){var r="_text_"+this.view.nodes.length;this.view.fields.push(new mf(r,Xe(this.view.genConfig.renderTypes.renderText)));var i=of.prop(r),o=new Ky(n,this.view,this.view.nodes.length,i,t),s=of.prop(r).set(Uy.renderer.callMethod("createText",[this._getParentRenderNode(n),tn(e),this.view.createMethod.resetDebugInfoExpr(this.view.nodes.length,t)])).toStmt();return this.view.nodes.push(o),this.view.createMethod.addStmt(s),this._addRootNodeAndProject(o),i},t.prototype.visitNgContent=function(t,e){this.view.createMethod.resetDebugInfo(null,t);var n=this._getParentRenderNode(e);return n!==af?this.view.createMethod.addStmt(of.callMethod("projectNodes",[n,tn(t.index)]).toStmt()):this._isRootNode(e)?this.view.viewType!==go.COMPONENT&&this.view.rootNodes.push(new $y(Yy.NgContent,null,t.index)):r(e.component)&&r(t.ngContentIndex)&&e.addContentNode(t.ngContentIndex,new $y(Yy.NgContent,null,t.index)),null},t.prototype.visitElement=function(t,e){var i,o=this.view.nodes.length,s=this.view.createMethod.resetDebugInfoExpr(o,t),a=t.directives.map(function(t){return t.directive}),u=a.find(function(t){return t.isComponent});if(t.name===om)i=Uy.renderer.callMethod("createTemplateAnchor",[this._getParentRenderNode(e),s]);else{var c=Fr(t.attrs),p=sn(Vr(c,a).map(function(t){return tn(t)}));i=0===o&&this.view.viewType===go.HOST?Ke(Yt(_p.selectOrCreateRenderHostElement)).callFn([Uy.renderer,tn(t.name),p,am,s]):Ke(Yt(_p.createRenderElement)).callFn([Uy.renderer,this._getParentRenderNode(e),tn(t.name),p,s])}var l="_el_"+o;this.view.fields.push(new mf(l,Xe(this.view.genConfig.renderTypes.renderElement))),this.view.createMethod.addStmt(of.prop(l).set(i).toStmt());var h=of.prop(l),f=new Xy(e,this.view,o,h,t,u,a,t.providers,t.hasViewContainer,!1,t.references);this.view.nodes.push(f);var d=null;if(r(u)){var y={reference:null};this.targetDependencies.push(new qy(u.type,sr(u,0),y)),d=of.prop("compView_"+o),this.view.fields.push(new mf(d.name,Xe(Yt(_p.AppView),[Xe(u.type)]))),this.view.viewChildren.push(d),f.setComponentView(d),this.view.createMethod.addStmt(d.set(Ke(y).instantiate([Uy.viewUtils,of,tn(o),h])).toStmt())}return f.beforeChildren(),this._addRootNodeAndProject(f),n(this,t.children,f),f.afterChildren(this.view.nodes.length-o-1),r(d)&&this.view.createMethod.addStmt(d.callMethod("create",[f.getComponent()]).toStmt()),null},t.prototype.visitEmbeddedTemplate=function(t,e){var n=this.view.nodes.length,r="_anchor_"+n;this.view.fields.push(new mf(r,Xe(this.view.genConfig.renderTypes.renderComment))),this.view.createMethod.addStmt(of.prop(r).set(Uy.renderer.callMethod("createTemplateAnchor",[this._getParentRenderNode(e),this.view.createMethod.resetDebugInfoExpr(n,t)])).toStmt());var i=of.prop(r),o=t.variables.map(function(t){return[t.value.length>0?t.value:nm,t.name]}),s=t.directives.map(function(t){return t.directive}),a=new Xy(e,this.view,n,i,t,null,s,t.providers,t.hasViewContainer,!0,t.references);this.view.nodes.push(a),this.nestedViewCount++;var u=new Zy(this.view.component,this.view.genConfig,this.view.pipeMetas,af,this.view.animations,this.view.viewIndex+this.nestedViewCount,a,o,this.targetDependencies);return this.nestedViewCount+=Nr(u,t.children,this.targetDependencies),a.beforeChildren(),this._addRootNodeAndProject(a),a.afterChildren(0),null},t.prototype.visitAttr=function(){return null},t.prototype.visitDirective=function(){return null},t.prototype.visitEvent=function(){return null},t.prototype.visitReference=function(){return null},t.prototype.visitVariable=function(){return null},t.prototype.visitDirectiveProperty=function(){return null},t.prototype.visitElementProperty=function(){return null},t}(),cm=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},pm=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},lm=function(){function t(t,e,n){this.statements=t,this.viewClassVar=e,this.dependencies=n}return t}(),hm=function(){function t(t,e){this._genConfig=t,this._schemaRegistry=e}return t.prototype.compileComponent=function(t,e,n,r,i){var o=[],s=new Zy(t,this._genConfig,r,n,i,0,Xy.createNull(),[],o),a=[];return Nr(s,e,o),kr(s,e,this._schemaRegistry),Ir(s,a),new lm(a,s.classExpr.name,o)},t=cm([M(),pm("design:paramtypes",[kl,Mp])],t)}(),fm=function(){function t(t,e,n){this.name=t,this.statements=e,this.fnExp=n}return t}(),dm=function(){function t(){}return t.prototype.compile=function(t,e){return e.map(function(e){var n=t+"_"+e.name,r=new Mm(e.name,n);return r.build(e)})},t}(),ym=Ge("element"),mm=Ge("defaultStateStyles"),vm=Ge("view"),gm=vm.prop("animationContext"),_m=vm.prop("renderer"),bm=Ge("currentState"),wm=Ge("nextState"),Em=Ge("player"),Sm=Ge("totalTime"),Cm=Ge("startStateStyles"),xm=Ge("endStateStyles"),Tm=Ge("collectedStyles"),Pm=Ge("previousPlayers"),Am=$e([]),Om=Ye([]),Mm=function(){function t(t,e){this.animationName=t,this._fnVarName=e+"_factory",this._statesMapVarName=e+"_states",this._statesMapVar=Ge(this._statesMapVarName)}return t.prototype.visitAnimationStyles=function(t,e){var n=[];return e.isExpectingFirstStyleStep&&(n.push(Cm),e.isExpectingFirstStyleStep=!1),t.styles.forEach(function(t){var e=Object.keys(t).map(function(e){return[e,tn(t[e])]});n.push($e(e,null,!0))}),Ke(Yt(_p.AnimationStyles)).instantiate([Ke(Yt(_p.collectAndResolveStyles)).callFn([Tm,Ye(n)])])},t.prototype.visitAnimationKeyframe=function(t,e){return Ke(Yt(_p.AnimationKeyframe)).instantiate([tn(t.offset),t.styles.visit(this,e)])},t.prototype.visitAnimationStep=function(t,e){var n=this;if(e.endStateAnimateStep===t)return this._visitEndStateAnimation(t,e);var r=t.startingStyles.visit(this,e),i=t.keyframes.map(function(t){return t.visit(n,e)});return this._callAnimateMethod(t,r,Ye(i),e)},t.prototype._visitEndStateAnimation=function(t,e){var n=this,r=t.startingStyles.visit(this,e),i=t.keyframes.map(function(t){return t.visit(n,e)}),o=Ke(Yt(_p.balanceAnimationKeyframes)).callFn([Tm,xm,Ye(i)]);return this._callAnimateMethod(t,r,o,e)},t.prototype._callAnimateMethod=function(t,e,n,r){var i=Om;return r.isExpectingFirstAnimateStep&&(i=Pm,r.isExpectingFirstAnimateStep=!1),r.totalTransitionTime+=t.duration+t.delay,_m.callMethod("animate",[ym,e,n,tn(t.duration),tn(t.delay),tn(t.easing),i])},t.prototype.visitAnimationSequence=function(t,e){var n=this,r=t.steps.map(function(t){return t.visit(n,e)});return Ke(Yt(_p.AnimationSequencePlayer)).instantiate([Ye(r)])},t.prototype.visitAnimationGroup=function(t,e){var n=this,r=t.steps.map(function(t){return t.visit(n,e)});return Ke(Yt(_p.AnimationGroupPlayer)).instantiate([Ye(r)])},t.prototype.visitAnimationStateDeclaration=function(t,e){var n={};ni(t).forEach(function(t){Object.keys(t).forEach(function(e){n[e]=t[e]})}),e.stateMap.registerState(t.stateName,n)},t.prototype.visitAnimationStateTransition=function(t,e){var n=t.animation.steps,r=n[n.length-1];ei(r)&&(e.endStateAnimateStep=r),e.totalTransitionTime=0,e.isExpectingFirstStyleStep=!0,e.isExpectingFirstAnimateStep=!0;var i=[];t.stateChanges.forEach(function(t){i.push(ti(bm,t.fromState).and(ti(wm,t.toState))),t.fromState!=Do&&e.stateMap.registerState(t.fromState),t.toState!=Do&&e.stateMap.registerState(t.toState)});var o=t.animation.visit(this,e),s=i.reduce(function(t,e){return t.or(e)}),a=Em.equals(af).and(s),u=Em.set(o).toStmt(),c=Sm.set(tn(e.totalTransitionTime)).toStmt();return new bf(a,[u,c])},t.prototype.visitAnimationEntry=function(t,e){var n=this;t.stateDeclarations.forEach(function(t){return t.visit(n,e)}),e.stateMap.registerState(jo,{});var r=[];r.push(Pm.set(gm.callMethod("getAnimationPlayers",[ym,wm.equals(tn(Lo)).conditional(af,tn(this.animationName))])).toDeclStmt()),r.push(Tm.set(Am).toDeclStmt()),r.push(Em.set(af).toDeclStmt()),r.push(Sm.set(tn(0)).toDeclStmt()),r.push(mm.set(this._statesMapVar.key(tn(jo))).toDeclStmt()),r.push(Cm.set(this._statesMapVar.key(bm)).toDeclStmt()),r.push(new bf(Cm.equals(af),[Cm.set(mm).toStmt()])),r.push(xm.set(this._statesMapVar.key(wm)).toDeclStmt()),r.push(new bf(xm.equals(af),[xm.set(mm).toStmt()]));var i=Ke(Yt(_p.renderStyles));return t.stateTransitions.forEach(function(t){return r.push(t.visit(n,e))}),r.push(new bf(Em.equals(af),[Em.set(Ke(Yt(_p.NoOpAnimationPlayer)).instantiate([])).toStmt()])),r.push(Em.callMethod("onDone",[Je([],[Em.callMethod("destroy",[]).toStmt(),i.callFn([ym,_m,Ke(Yt(_p.prepareFinalAnimationStyles)).callFn([Cm,xm])]).toStmt()])]).toStmt()),r.push(Ke(Yt(_p.AnimationSequencePlayer)).instantiate([Pm]).callMethod("destroy",[]).toStmt()),r.push(i.callFn([ym,_m,Ke(Yt(_p.clearStyles)).callFn([Cm])]).toStmt()),r.push(gm.callMethod("queueAnimation",[ym,tn(this.animationName),Em]).toStmt()),r.push(new df(Ke(Yt(_p.AnimationTransition)).instantiate([Em,bm,wm,Sm]))),Je([new Yh(vm.name,Xe(Yt(_p.AppView),[Ah])),new Yh(ym.name,Ah),new Yh(bm.name,Ah),new Yh(wm.name,Ah)],r,Xe(Yt(_p.AnimationTransition)))},t.prototype.build=function(t){var e=new Rm,n=t.visit(this,e).toDeclStmt(this._fnVarName),i=Ge(this._fnVarName),o=[];Object.keys(e.stateMap.states).forEach(function(t){var n=e.stateMap.states[t],i=Am;if(r(n)){var s=[];Object.keys(n).forEach(function(t){s.push([t,tn(n[t])])}),i=$e(s,null,!0)}o.push([t,i])});var s=this._statesMapVar.set($e(o,null,!0)).toDeclStmt(),a=[s,n];return new fm(this.animationName,a,i)},t}(),Rm=function(){function t(){this.stateMap=new km,this.endStateAnimateStep=null,this.isExpectingFirstStyleStep=!1,this.isExpectingFirstAnimateStep=!1,this.totalTransitionTime=0}return t}(),km=function(){function t(){this._states={}}return Object.defineProperty(t.prototype,"states",{get:function(){return this._states},enumerable:!0,configurable:!0}),t.prototype.registerState=function(t,e){void 0===e&&(e=null);var n=this._states[t];n||(this._states[t]=e)},t}(),Nm=function(){function t(t,e,n){this.srcFileUrl=t,this.genFileUrl=e,this.source=n}return t}(),Im=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Dm=/(\.ts|\.d\.ts|\.js|\.jsx|\.tsx)$/,jm=function(t){function e(e){t.call(this),this.host=e,this.symbols=[],this.indexBySymbol=new Map,this.processedSummaryBySymbol=new Map,this.processedSummaries=[]}return Im(e,t),e.prototype.addOrMergeSummary=function(t){var e=t.metadata;e&&"class"===e.__symbolic&&(e={__symbolic:"class",statics:e.statics});var n=this.processedSummaryBySymbol.get(t.symbol);n||(n=this.processValue({symbol:t.symbol}),this.processedSummaries.push(n),this.processedSummaryBySymbol.set(t.symbol,n)),null==n.metadata&&null!=e&&(n.metadata=this.processValue(e)),null==n.type&&null!=t.type&&(n.type=this.processValue(t.type))},e.prototype.serialize=function(){var t=this;return JSON.stringify({summaries:this.processedSummaries,symbols:this.symbols.map(function(e,n){return{__symbol:n,name:e.name,filePath:t.host.getOutputFileName(e.filePath)}})})},e.prototype.processValue=function(t){return g(t,this,null)},e.prototype.visitOther=function(t){if(t instanceof Ji){var e=this.indexBySymbol.get(t);return null==e&&(e=this.indexBySymbol.size,this.indexBySymbol.set(t,e),this.symbols.push(t)),{__symbol:e}}},e}(as),Lm=function(t){function e(e){t.call(this),this.symbolCache=e}return Im(e,t),e.prototype.deserialize=function(t){var e=this,n=JSON.parse(t);return this.symbols=n.symbols.map(function(t){return e.symbolCache.get(t.filePath,t.name)}),g(n.summaries,this,null)},e.prototype.visitStringMap=function(e,n){return"__symbol"in e?this.symbols[e.__symbol]:t.prototype.visitStringMap.call(this,e,n)},e}(as),Vm=function(){function t(t,e,n,r,i,o,s,a,u,c,p,l,h){this._host=t,this._metadataResolver=e,this._templateParser=n,this._styleCompiler=r,this._viewCompiler=i,this._dirWrapperCompiler=o,this._ngModuleCompiler=s,this._outputEmitter=a,this._summaryResolver=u,this._localeId=c,this._translationFormat=p,this._animationParser=l,this._symbolResolver=h,this._animationCompiler=new dm}return t.prototype.clearCache=function(){this._metadataResolver.clearCache()},t.prototype.compileAll=function(t){var e=this,n=mi(this._symbolResolver,t,this._host),r=di(n,this._host,this._metadataResolver),i=r.ngModuleByPipeOrDirective,o=r.files,s=r.ngModules;return Promise.all(s.map(function(t){return e._metadataResolver.loadNgModuleDirectiveAndPipeMetadata(t.type.reference,!1)})).then(function(){var t=o.map(function(t){return e._compileSrcFile(t.srcUrl,i,t.directives,t.pipes,t.ngModules,t.injectables)});return io.flatten(t)})},t.prototype._compileSrcFile=function(t,e,n,r,i,o){var s=this,a=hi(t)[1],u=[],c=[],p=[];if(p.push(this._createSummary(t,n,r,i,o)),c.push.apply(c,i.map(function(t){return s._compileModule(t,u)})),c.push.apply(c,n.map(function(t){return s._compileDirectiveWrapper(t,u)})),n.forEach(function(n){var r=s._metadataResolver.getDirectiveMetadata(n);if(!r.isComponent)return Promise.resolve(null);var i=e.get(n);if(!i)throw new Error("Internal Error: cannot determine the module for component "+b(r.type)+"!");li(r);var o=s._styleCompiler.compileComponent(r);o.externalStylesheets.forEach(function(e){p.push(s._codgenStyles(t,e,a))}),c.push(s._compileComponentFactory(r,i,a,u),s._compileComponent(r,i,i.transitiveModule.directives,o.componentStylesheet,a,u))}),u.length>0){var l=this._codegenSourceModule(t,ui(t),u,c);p.unshift(l)}return p},t.prototype._createSummary=function(t,e,n,r,i){var o=this,s=this._symbolResolver.getSymbolsOf(t).map(function(t){return o._symbolResolver.resolveSymbol(t)}),a=r.map(function(t){return o._metadataResolver.getNgModuleSummary(t)}).concat(e.map(function(t){return o._metadataResolver.getDirectiveSummary(t);
+
+}),n.map(function(t){return o._metadataResolver.getPipeSummary(t)}),i.map(function(t){return o._metadataResolver.getInjectableSummary(t)})),u=ri(this._host,this._summaryResolver,this._symbolResolver,s,a);return new Nm(t,oi(t),u)},t.prototype._compileModule=function(t,e){var n=this,r=this._metadataResolver.getNgModuleMetadata(t),i=[];this._localeId&&i.push({token:Zt(_p.LOCALE_ID),useValue:this._localeId}),this._translationFormat&&i.push({token:Zt(_p.TRANSLATIONS_FORMAT),useValue:this._translationFormat});var o=this._ngModuleCompiler.compile(r,i);return o.dependencies.forEach(function(t){t.placeholder.reference=n._symbolResolver.getStaticSymbol(ui(w(t.comp)),ci(t.comp))}),e.push.apply(e,o.statements),o.ngModuleFactoryVar},t.prototype._compileDirectiveWrapper=function(t,e){var n=this._metadataResolver.getDirectiveMetadata(t),r=this._dirWrapperCompiler.compile(n);return e.push.apply(e,r.statements),r.dirWrapperClassVar},t.prototype._compileComponentFactory=function(t,e,n,r){var i=C(this._symbolResolver.getStaticSymbol(w(t.type),b(t.type)+"_Host"),t),o=this._compileComponent(i,e,[t.type],null,n,r),s=ci(t.type);return r.push(Ge(s).set(Ke(Yt(_p.ComponentFactory),[Xe(t.type)]).instantiate([tn(t.selector),Ge(o),Ke(t.type)],Xe(Yt(_p.ComponentFactory),[Xe(t.type)],[wh.Const]))).toDeclStmt(null,[cf.Final])),s},t.prototype._compileComponent=function(t,e,n,r,i,o){var s=this,a=this._animationParser.parseComponent(t),u=n.map(function(t){return s._metadataResolver.getDirectiveSummary(t.reference)}),c=e.transitiveModule.pipes.map(function(t){return s._metadataResolver.getPipeSummary(t.reference)}),p=this._templateParser.parse(t,t.template.template,u,c,e.schemas,b(t.type)),l=r?Ge(r.stylesVar):Ye([]),h=this._animationCompiler.compile(b(t.type),a),f=this._viewCompiler.compileComponent(t,p,l,c,h);return r&&o.push.apply(o,ai(this._symbolResolver,r,i)),h.forEach(function(t){return o.push.apply(o,t.statements)}),o.push.apply(o,si(this._symbolResolver,f)),f.viewClassVar},t.prototype._codgenStyles=function(t,e,n){return ai(this._symbolResolver,e,n),this._codegenSourceModule(t,pi(e.meta.moduleUrl,e.isShimmed,n),e.statements,[e.stylesVar])},t.prototype._codegenSourceModule=function(t,e,n,r){return new Nm(t,e,this._outputEmitter.emitStatements(e,n,r))},t}(),Fm=function(){function t(t){this.staticDelegate=t,this.dynamicDelegate=new Oo}return t.install=function(e){Po.updateCapabilities(new t(e))},t.prototype.isReflectionEnabled=function(){return!0},t.prototype.factory=function(t){return this.dynamicDelegate.factory(t)},t.prototype.hasLifecycleHook=function(t,e){return gi(t)?this.staticDelegate.hasLifecycleHook(t,e):this.dynamicDelegate.hasLifecycleHook(t,e)},t.prototype.parameters=function(t){return gi(t)?this.staticDelegate.parameters(t):this.dynamicDelegate.parameters(t)},t.prototype.annotations=function(t){return gi(t)?this.staticDelegate.annotations(t):this.dynamicDelegate.annotations(t)},t.prototype.propMetadata=function(t){return gi(t)?this.staticDelegate.propMetadata(t):this.dynamicDelegate.propMetadata(t)},t.prototype.getter=function(t){return this.dynamicDelegate.getter(t)},t.prototype.setter=function(t){return this.dynamicDelegate.setter(t)},t.prototype.method=function(t){return this.dynamicDelegate.method(t)},t.prototype.importUri=function(t){return this.staticDelegate.importUri(t)},t.prototype.resolveIdentifier=function(t,e){return this.staticDelegate.resolveIdentifier(t,e)},t.prototype.resolveEnum=function(t,e){return gi(t)?this.staticDelegate.resolveEnum(t,e):null},t}(),Um=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Bm={coreDecorators:"@angular/core/src/metadata",diDecorators:"@angular/core/src/di/metadata",diMetadata:"@angular/core/src/di/metadata",diOpaqueToken:"@angular/core/src/di/opaque_token",animationMetadata:"@angular/core/src/animation/metadata",provider:"@angular/core/src/di/provider"},Hm=/^\$.*\$$/,qm=function(){function t(t,e,n,r){var i=this;void 0===e&&(e=[]),void 0===n&&(n=[]),this.symbolResolver=t,this.errorRecorder=r,this.annotationCache=new Map,this.propertyCache=new Map,this.parameterCache=new Map,this.methodCache=new Map,this.conversionMap=new Map,this.initializeConversionMap(),e.forEach(function(t){return i._registerDecoratorOrConstructor(i.getStaticSymbol(t.filePath,t.name),t.ctor)}),n.forEach(function(t){return i._registerFunction(i.getStaticSymbol(t.filePath,t.name),t.fn)})}return t.prototype.importUri=function(t){var e=this.findSymbolDeclaration(t);return e?e.filePath:null},t.prototype.resolveIdentifier=function(t,e){return this.findDeclaration(e,t)},t.prototype.findDeclaration=function(t,e,n){return this.findSymbolDeclaration(this.symbolResolver.getSymbolByModule(t,e,n))},t.prototype.findSymbolDeclaration=function(t){var e=this.symbolResolver.resolveSymbol(t);return e&&e.metadata instanceof Ji?this.findSymbolDeclaration(e.metadata):t},t.prototype.resolveEnum=function(t,e){var n=t;return this.getStaticSymbol(n.filePath,n.name,[e])},t.prototype.annotations=function(t){var e=this.annotationCache.get(t);if(!e){e=[];var n=this.getTypeMetadata(t);if(n["extends"]){var r=this.annotations(this.simplify(t,n["extends"]));e.push.apply(e,r)}if(n.decorators){var i=this.simplify(t,n.decorators);e.push.apply(e,i)}this.annotationCache.set(t,e.filter(function(t){return!!t}))}return e},t.prototype.propMetadata=function(t){var e=this,n=this.propertyCache.get(t);if(!n){var r=this.getTypeMetadata(t);if(n={},r["extends"]){var i=this.propMetadata(this.simplify(t,r["extends"]));Object.keys(i).forEach(function(t){n[t]=i[t]})}var o=r.members||{};Object.keys(o).forEach(function(r){var i=o[r],s=i.find(function(t){return"property"==t.__symbolic||"method"==t.__symbolic}),a=[];n[r]&&a.push.apply(a,n[r]),n[r]=a,s&&s.decorators&&a.push.apply(a,e.simplify(t,s.decorators))}),this.propertyCache.set(t,n)}return n},t.prototype.parameters=function(t){if(!(t instanceof Ji))return this.reportError(new Error("parameters received "+JSON.stringify(t)+" which is not a StaticSymbol"),t),[];try{var e=this.parameterCache.get(t);if(!e){var n=this.getTypeMetadata(t),r=n?n.members:null,i=r?r.__ctor__:null;if(i){var o=i.find(function(t){return"constructor"==t.__symbolic}),s=this.simplify(t,o.parameters||[]),a=this.simplify(t,o.parameterDecorators||[]);e=[],s.forEach(function(t,n){var r=[];t&&r.push(t);var i=a?a[n]:null;i&&r.push.apply(r,i),e.push(r)})}else n["extends"]&&(e=this.parameters(this.simplify(t,n["extends"])));e||(e=[]),this.parameterCache.set(t,e)}return e}catch(u){throw console.error("Failed on type "+JSON.stringify(t)+" with error "+u),u}},t.prototype._methodNames=function(t){var e=this.methodCache.get(t);if(!e){var n=this.getTypeMetadata(t);if(e={},n["extends"]){var r=this._methodNames(this.simplify(t,n["extends"]));Object.keys(r).forEach(function(t){e[t]=r[t]})}var i=n.members||{};Object.keys(i).forEach(function(t){var n=i[t],r=n.some(function(t){return"method"==t.__symbolic});e[t]=e[t]||r}),this.methodCache.set(t,e)}return e},t.prototype.hasLifecycleHook=function(t,e){t instanceof Ji||this.reportError(new Error("hasLifecycleHook received "+JSON.stringify(t)+" which is not a StaticSymbol"),t);try{return!!this._methodNames(t)[e]}catch(n){throw console.error("Failed on type "+JSON.stringify(t)+" with error "+n),n}},t.prototype._registerDecoratorOrConstructor=function(t,e){this.conversionMap.set(t,function(t,n){return new(e.bind.apply(e,[void 0].concat(n)))})},t.prototype._registerFunction=function(t,e){this.conversionMap.set(t,function(t,n){return e.apply(void 0,n)})},t.prototype.initializeConversionMap=function(){{var t=Bm.coreDecorators,n=Bm.diDecorators,r=Bm.diMetadata,i=Bm.diOpaqueToken,o=Bm.animationMetadata;Bm.provider}this.opaqueToken=this.findDeclaration(i,"OpaqueToken"),this._registerDecoratorOrConstructor(this.findDeclaration(n,"Host"),e.Host),this._registerDecoratorOrConstructor(this.findDeclaration(n,"Injectable"),e.Injectable),this._registerDecoratorOrConstructor(this.findDeclaration(n,"Self"),e.Self),this._registerDecoratorOrConstructor(this.findDeclaration(n,"SkipSelf"),e.SkipSelf),this._registerDecoratorOrConstructor(this.findDeclaration(n,"Inject"),e.Inject),this._registerDecoratorOrConstructor(this.findDeclaration(n,"Optional"),e.Optional),this._registerDecoratorOrConstructor(this.findDeclaration(t,"Attribute"),e.Attribute),this._registerDecoratorOrConstructor(this.findDeclaration(t,"ContentChild"),e.ContentChild),this._registerDecoratorOrConstructor(this.findDeclaration(t,"ContentChildren"),e.ContentChildren),this._registerDecoratorOrConstructor(this.findDeclaration(t,"ViewChild"),e.ViewChild),this._registerDecoratorOrConstructor(this.findDeclaration(t,"ViewChildren"),e.ViewChildren),this._registerDecoratorOrConstructor(this.findDeclaration(t,"Input"),e.Input),this._registerDecoratorOrConstructor(this.findDeclaration(t,"Output"),e.Output),this._registerDecoratorOrConstructor(this.findDeclaration(t,"Pipe"),e.Pipe),this._registerDecoratorOrConstructor(this.findDeclaration(t,"HostBinding"),e.HostBinding),this._registerDecoratorOrConstructor(this.findDeclaration(t,"HostListener"),e.HostListener),this._registerDecoratorOrConstructor(this.findDeclaration(t,"Directive"),e.Directive),this._registerDecoratorOrConstructor(this.findDeclaration(t,"Component"),e.Component),this._registerDecoratorOrConstructor(this.findDeclaration(t,"NgModule"),e.NgModule),this._registerDecoratorOrConstructor(this.findDeclaration(r,"Host"),e.Host),this._registerDecoratorOrConstructor(this.findDeclaration(r,"Self"),e.Self),this._registerDecoratorOrConstructor(this.findDeclaration(r,"SkipSelf"),e.SkipSelf),this._registerDecoratorOrConstructor(this.findDeclaration(r,"Optional"),e.Optional),this._registerFunction(this.findDeclaration(o,"trigger"),e.trigger),this._registerFunction(this.findDeclaration(o,"state"),e.state),this._registerFunction(this.findDeclaration(o,"transition"),e.transition),this._registerFunction(this.findDeclaration(o,"style"),e.style),this._registerFunction(this.findDeclaration(o,"animate"),e.animate),this._registerFunction(this.findDeclaration(o,"keyframes"),e.keyframes),this._registerFunction(this.findDeclaration(o,"sequence"),e.sequence),this._registerFunction(this.findDeclaration(o,"group"),e.group)},t.prototype.getStaticSymbol=function(t,e,n){return this.symbolResolver.getStaticSymbol(t,e,n)},t.prototype.reportError=function(t,e,n){if(!this.errorRecorder)throw t;this.errorRecorder(t,e&&e.filePath||n)},t.prototype.simplify=function(t,e){function n(t,e,r){function a(t){var e=i.symbolResolver.resolveSymbol(t);return e?e.metadata:null}function u(e,i,a){if(i&&"function"==i.__symbolic){if(s.get(e))throw new Error("Recursion not supported");s.set(e,!0);try{var u=i.value;if(u&&(0!=r||"error"!=u.__symbolic)){var p=i.parameters,l=i.defaults;a=a.map(function(e){return n(t,e,r+1)}),l&&l.length>a.length&&a.push.apply(a,l.slice(a.length).map(function(t){return c(t)}));for(var h=zm.build(),f=0;f<p.length;f++)h.define(p[f],a[f]);var d,y=o;try{o=h.done(),d=n(e,u,r+1)}finally{o=y}return d}}finally{s["delete"](e)}}return 0===r?{__symbolic:"ignore"}:c({__symbolic:"error",message:"Function call not supported",context:e})}function c(e){if(Ei(e))return e;if(e instanceof Array){for(var s=[],p=0,l=e;p<l.length;p++){var h=l[p];if(h&&"spread"===h.__symbolic){var f=c(h.expression);if(Array.isArray(f)){for(var d=0,y=f;d<y.length;d++){var m=y[d];s.push(m)}continue}}var v=c(h);Si(v)||s.push(v)}return s}if(e instanceof Ji){if(e===i.opaqueToken||i.conversionMap.has(e))return e;var g=e,_=a(g);return _?n(g,_,r+1):g}if(e){if(e.__symbolic){var g=void 0;switch(e.__symbolic){case"binop":var b=c(e.left);if(Si(b))return b;var w=c(e.right);if(Si(w))return w;switch(e.operator){case"&&":return b&&w;case"||":return b||w;case"|":return b|w;case"^":return b^w;case"&":return b&w;case"==":return b==w;case"!=":return b!=w;case"===":return b===w;case"!==":return b!==w;case"<":return w>b;case">":return b>w;case"<=":return w>=b;case">=":return b>=w;case"<<":return b<<w;case">>":return b>>w;case"+":return b+w;case"-":return b-w;case"*":return b*w;case"/":return b/w;case"%":return b%w}return null;case"if":var E=c(e.condition);return c(E?e.thenExpression:e.elseExpression);case"pre":var S=c(e.operand);if(Si(S))return S;switch(e.operator){case"+":return S;case"-":return-S;case"!":return!S;case"~":return~S}return null;case"index":var C=c(e.expression),x=c(e.index);return C&&Ei(x)?C[x]:null;case"select":var T=e.member,P=t,A=c(e.expression);if(A instanceof Ji){var O=A.members.concat(T);P=i.getStaticSymbol(A.filePath,A.name,O);var _=a(P);return _?n(P,_,r+1):P}return A&&Ei(T)?n(P,A[T],r+1):null;case"reference":var M=e.name,R=o.resolve(M);if(R!=zm.missing)return R;break;case"class":return t;case"function":return t;case"new":case"call":if(g=n(t,e.expression,r+1),g instanceof Ji){if(g===i.opaqueToken)return t;var k=e.arguments||[],N=i.conversionMap.get(g);if(N){var I=k.map(function(e){return n(t,e,r+1)});return N(t,I)}var D=a(g);return u(g,D,k)}break;case"error":var j=bi(e);if(e.line)throw j=j+" (position "+(e.line+1)+":"+(e.character+1)+" in the original .ts file)",Ci(j,t.filePath,e.line,e.character);throw new Error(j)}return null}return wi(e,function(t){return c(t)})}return null}try{return c(e)}catch(p){var l=t.members.length?"."+t.members.join("."):"",h=p.message+", resolving symbol "+t.name+l+" in "+t.filePath;if(p.fileName)throw Ci(h,p.fileName,p.line,p.column);throw new cs(h)}}var r=this,i=this,o=zm.empty,s=new Map,a=function(t,e,i){try{return n(t,e,i)}catch(o){r.reportError(o,t)}},u=this.errorRecorder?a(t,e,0):n(t,e,0);return Si(u)?void 0:u},t.prototype.getTypeMetadata=function(t){var e=this.symbolResolver.resolveSymbol(t);return e&&e.metadata?e.metadata:{__symbolic:"class"}},t}(),zm=function(){function t(){}return t.prototype.resolve=function(){},t.build=function(){var e=new Map;return{define:function(t,n){return e.set(t,n),this},done:function(){return e.size>0?new Wm(e):t.empty}}},t.missing={},t.empty={resolve:function(){return t.missing}},t}(),Wm=function(t){function e(e){t.call(this),this.bindings=e}return Um(e,t),e.prototype.resolve=function(t){return this.bindings.has(t)?this.bindings.get(t):zm.missing},e}(zm),Gm=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Km=function(){function t(t,e){this.symbol=t,this.metadata=e}return t}(),Xm=3,Qm=function(){function t(t,e,n,r){this.host=t,this.staticSymbolCache=e,this.summaryResolver=n,this.errorRecorder=r,this.metadataCache=new Map,this.resolvedSymbols=new Map,this.resolvedFilePaths=new Set}return t.prototype.resolveSymbol=function(t){if(t.members.length>0)return this._resolveSymbolMembers(t);var e=this._resolveSymbolFromSummary(t);return e||(this._createSymbolsOf(t.filePath),e=this.resolvedSymbols.get(t)),e},t.prototype._resolveSymbolMembers=function(t){var e=t.members,n=this.resolveSymbol(this.getStaticSymbol(t.filePath,t.name));if(!n)return null;var r=n.metadata;if(r instanceof Ji)return new Km(t,this.getStaticSymbol(r.filePath,r.name,e));if(!r||"class"!==r.__symbolic){for(var i=r,o=0;o<e.length&&i;o++)i=i[e[o]];return new Km(t,i)}return r.statics&&1===e.length?new Km(t,r.statics[e[0]]):null},t.prototype._resolveSymbolFromSummary=function(t){var e=this.summaryResolver.resolveSummary(t);return e?new Km(t,e.metadata):null},t.prototype.getStaticSymbol=function(t,e,n){return this.staticSymbolCache.get(t,e,n)},t.prototype.getSymbolsOf=function(t){var e=new Set(this.summaryResolver.getSymbolsOf(t));return this._createSymbolsOf(t),this.resolvedSymbols.forEach(function(n){n.symbol.filePath===t&&e.add(n.symbol)}),Array.from(e)},t.prototype._createSymbolsOf=function(t){var e=this;if(!this.resolvedFilePaths.has(t)){this.resolvedFilePaths.add(t);var n=[],r=this.getModuleMetadata(t);if(r.metadata&&Object.keys(r.metadata).forEach(function(i){var o=r.metadata[i];n.push(e.createResolvedSymbol(e.getStaticSymbol(t,i),o))}),r.exports)for(var i=function(r){if(r["export"])r["export"].forEach(function(i){var o;o="string"==typeof i?i:i.as;var s=o;"string"!=typeof i&&(s=i.name);var a=e.resolveModule(r.from,t);if(a){var u=e.getStaticSymbol(a,s),c=e.getStaticSymbol(t,o);n.push(new Km(c,u))}});else{var i=o.resolveModule(r.from,t);if(i){var s=o.getSymbolsOf(i);s.forEach(function(r){var i=e.getStaticSymbol(t,r.name);n.push(new Km(i,r))})}}},o=this,s=0,a=r.exports;s<a.length;s++){var u=a[s];i(u)}n.forEach(function(t){return e.resolvedSymbols.set(t.symbol,t)})}},t.prototype.createResolvedSymbol=function(t,e){var n=this,r=function(e){function r(){e.apply(this,arguments)}return Gm(r,e),r.prototype.visitStringMap=function(r,i){var o=r.__symbolic;if("function"===o){var s=i.length;i.push.apply(i,r.parameters||[]);var a=e.prototype.visitStringMap.call(this,r,i);return i.length=s,a}if("reference"===o){var u=r.module,c=r.name;if(!c)return null;var p=void 0;if(u){if(p=n.resolveModule(u,t.filePath),!p)return{__symbolic:"error",message:"Could not resolve "+u+" relative to "+t.filePath+"."}}else{var l=i.indexOf(c)>=0;l||(p=t.filePath)}return p?n.getStaticSymbol(p,c):{__symbolic:"reference",name:c}}return e.prototype.visitStringMap.call(this,r,i)},r}(as),i=g(e,new r,[]);return new Km(t,i)},t.prototype.reportError=function(t,e,n){if(!this.errorRecorder)throw t;this.errorRecorder(t,e&&e.filePath||n)},t.prototype.getModuleMetadata=function(t){var e=this.metadataCache.get(t);if(!e){var n=this.host.getMetadataFor(t);if(n){var r=-1;n.forEach(function(t){t.version>r&&(r=t.version,e=t)})}if(e||(e={__symbolic:"module",version:Xm,module:t,metadata:{}}),e.version!=Xm){var i=2==e.version?"Unsupported metadata version "+e.version+" for module "+t+". This module should be compiled with a newer version of ngc":"Metadata version mismatch for module "+t+", found version "+e.version+", expected "+Xm;this.reportError(new Error(i),null)}this.metadataCache.set(t,e)}return e},t.prototype.getSymbolByModule=function(t,e,n){var r=this.resolveModule(t,n);return r?this.getStaticSymbol(r,e):(this.reportError(new Error("Could not resolve module "+t+(n?" relative to $ {\n            containingFile\n          } ":"")),null),this.getStaticSymbol("ERROR:"+t,e))},t.prototype.resolveModule=function(t,e){try{return this.host.moduleNameToFileName(t,e)}catch(n){console.error("Could not resolve module '"+t+"' relative to file "+e),this.reportError(new n,null,e)}},t}(),Ym=function(){function t(t,e){this.host=t,this.staticSymbolCache=e,this.summaryCache=new Map,this.loadedFilePaths=new Set}return t.prototype._assertNoMembers=function(t){if(t.members.length)throw new Error("Internal state: StaticSymbols in summaries can't have members! "+JSON.stringify(t))},t.prototype.resolveSummary=function(t){this._assertNoMembers(t);var e=this.summaryCache.get(t);return e||(this._loadSummaryFile(t.filePath),e=this.summaryCache.get(t)),e},t.prototype.getSymbolsOf=function(t){return this._loadSummaryFile(t),Array.from(this.summaryCache.keys()).filter(function(e){return e.filePath===t})},t.prototype._loadSummaryFile=function(t){var e=this;if(!this.loadedFilePaths.has(t)&&(this.loadedFilePaths.add(t),!this.host.isSourceFile(t))){var n=oi(t),r=void 0;try{r=this.host.loadSummary(n)}catch(i){throw console.error("Error loading summary file "+n),i}if(r){var o=ii(this.staticSymbolCache,r);o.forEach(function(t){e.summaryCache.set(t.symbol,t)})}}},t}(),$m=function(){function t(t,e,n,r){this.parent=t,this.instance=e,this.className=n,this.vars=r}return t.prototype.createChildWihtLocalVars=function(){return new t(this,this.instance,this.className,new Map)},t}(),Zm=function(){function t(t){this.value=t}return t}(),Jm=function(){function t(){}return t.prototype.debugAst=function(t){return Yn(t)},t.prototype.visitDeclareVarStmt=function(t,e){return e.vars.set(t.name,t.value.visitExpression(this,e)),null},t.prototype.visitWriteVarExpr=function(t,e){for(var n=t.value.visitExpression(this,e),r=e;null!=r;){if(r.vars.has(t.name))return r.vars.set(t.name,n),n;r=r.parent}throw new Error("Not declared variable "+t.name)},t.prototype.visitReadVarExpr=function(t,e){var n=t.name;if(r(t.builtin))switch(t.builtin){case jh.Super:return e.instance.__proto__;case jh.This:return e.instance;case jh.CatchError:n=tv;break;case jh.CatchStack:n=ev;break;default:throw new Error("Unknown builtin variable "+t.builtin)}for(var i=e;null!=i;){if(i.vars.has(n))return i.vars.get(n);i=i.parent}throw new Error("Not declared variable "+n)},t.prototype.visitWriteKeyExpr=function(t,e){var n=t.receiver.visitExpression(this,e),r=t.index.visitExpression(this,e),i=t.value.visitExpression(this,e);return n[r]=i,i},t.prototype.visitWritePropExpr=function(t,e){var n=t.receiver.visitExpression(this,e),r=t.value.visitExpression(this,e);return n[t.name]=r,r},t.prototype.visitInvokeMethodExpr=function(t,e){var n,i=t.receiver.visitExpression(this,e),o=this.visitAllExpressions(t.args,e);if(r(t.builtin))switch(t.builtin){case Bh.ConcatArray:n=i.concat.apply(i,o);break;case Bh.SubscribeObservable:n=i.subscribe({next:o[0]});break;case Bh.Bind:n=i.bind.apply(i,o);break;default:throw new Error("Unknown builtin method "+t.builtin)}else n=i[t.name].apply(i,o);return n},t.prototype.visitInvokeFunctionExpr=function(t,e){var n=this.visitAllExpressions(t.args,e),r=t.fn;if(r instanceof Lh&&r.builtin===jh.Super)return e.instance.constructor.prototype.constructor.apply(e.instance,n),null;var i=t.fn.visitExpression(this,e);return i.apply(null,n)},t.prototype.visitReturnStmt=function(t,e){return new Zm(t.value.visitExpression(this,e))},t.prototype.visitDeclareClassStmt=function(t,e){var n=Ai(t,e,this);return e.vars.set(t.name,n),null},t.prototype.visitExpressionStmt=function(t,e){return t.expr.visitExpression(this,e)},t.prototype.visitIfStmt=function(t,e){var n=t.condition.visitExpression(this,e);return n?this.visitAllStatements(t.trueCase,e):r(t.falseCase)?this.visitAllStatements(t.falseCase,e):null},t.prototype.visitTryCatchStmt=function(t,e){try{return this.visitAllStatements(t.bodyStmts,e)}catch(n){var r=e.createChildWihtLocalVars();return r.vars.set(tv,n),r.vars.set(ev,n.stack),this.visitAllStatements(t.catchStmts,r)}},t.prototype.visitThrowStmt=function(t,e){throw t.error.visitExpression(this,e)},t.prototype.visitCommentStmt=function(){return null},t.prototype.visitInstantiateExpr=function(t,e){var n=this.visitAllExpressions(t.args,e),r=t.classExpr.visitExpression(this,e);return new(r.bind.apply(r,[void 0].concat(n)))},t.prototype.visitLiteralExpr=function(t){return t.value},t.prototype.visitExternalExpr=function(t){return t.value.reference},t.prototype.visitConditionalExpr=function(t,e){return t.condition.visitExpression(this,e)?t.trueCase.visitExpression(this,e):r(t.falseCase)?t.falseCase.visitExpression(this,e):null},t.prototype.visitNotExpr=function(t,e){return!t.condition.visitExpression(this,e)},t.prototype.visitCastExpr=function(t,e){return t.value.visitExpression(this,e)},t.prototype.visitFunctionExpr=function(t,e){var n=t.params.map(function(t){return t.name});return Oi(n,t.statements,e,this)},t.prototype.visitDeclareFunctionStmt=function(t,e){var n=t.params.map(function(t){return t.name});return e.vars.set(t.name,Oi(n,t.statements,e,this)),null},t.prototype.visitBinaryOperatorExpr=function(t,e){var n=this,r=function(){return t.lhs.visitExpression(n,e)},i=function(){return t.rhs.visitExpression(n,e)};switch(t.operator){case Ih.Equals:return r()==i();case Ih.Identical:return r()===i();case Ih.NotEquals:return r()!=i();case Ih.NotIdentical:return r()!==i();case Ih.And:return r()&&i();case Ih.Or:return r()||i();case Ih.Plus:return r()+i();case Ih.Minus:return r()-i();case Ih.Divide:return r()/i();case Ih.Multiply:return r()*i();case Ih.Modulo:return r()%i();case Ih.Lower:return r()<i();case Ih.LowerEquals:return r()<=i();case Ih.Bigger:return r()>i();case Ih.BiggerEquals:return r()>=i();default:throw new Error("Unknown operator "+t.operator)}},t.prototype.visitReadPropExpr=function(t,e){var n,r=t.receiver.visitExpression(this,e);return n=r[t.name]},t.prototype.visitReadKeyExpr=function(t,e){var n=t.receiver.visitExpression(this,e),r=t.index.visitExpression(this,e);return n[r]},t.prototype.visitLiteralArrayExpr=function(t,e){return this.visitAllExpressions(t.entries,e)},t.prototype.visitLiteralMapExpr=function(t,e){var n=this,r={};return t.entries.forEach(function(t){return r[t.key]=t.value.visitExpression(n,e)}),r},t.prototype.visitAllExpressions=function(t,e){var n=this;return t.map(function(t){return t.visitExpression(n,e)})},t.prototype.visitAllStatements=function(t,e){for(var n=0;n<t.length;n++){var r=t[n],i=r.visitStatement(this,e);if(i instanceof Zm)return i}return null},t}(),tv="error",ev="stack",nv=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},rv=function(t){function e(){t.call(this,!1)}return nv(e,t),e.prototype.visitDeclareClassStmt=function(t,e){var n=this;return e.pushClass(t),this._visitClassConstructor(t,e),r(t.parent)&&(e.print(t.name+".prototype = Object.create("),t.parent.visitExpression(this,e),e.println(".prototype);")),t.getters.forEach(function(r){return n._visitClassGetter(t,r,e)}),t.methods.forEach(function(r){return n._visitClassMethod(t,r,e)}),e.popClass(),null},e.prototype._visitClassConstructor=function(t,e){e.print("function "+t.name+"("),r(t.constructorMethod)&&this._visitParams(t.constructorMethod.params,e),e.println(") {"),e.incIndent(),r(t.constructorMethod)&&t.constructorMethod.body.length>0&&(e.println("var self = this;"),this.visitAllStatements(t.constructorMethod.body,e)),e.decIndent(),e.println("}")},e.prototype._visitClassGetter=function(t,e,n){n.println("Object.defineProperty("+t.name+".prototype, '"+e.name+"', { get: function() {"),n.incIndent(),e.body.length>0&&(n.println("var self = this;"),this.visitAllStatements(e.body,n)),n.decIndent(),n.println("}});")},e.prototype._visitClassMethod=function(t,e,n){n.print(t.name+".prototype."+e.name+" = function("),this._visitParams(e.params,n),n.println(") {"),n.incIndent(),e.body.length>0&&(n.println("var self = this;"),this.visitAllStatements(e.body,n)),n.decIndent(),n.println("};")},e.prototype.visitReadVarExpr=function(e,n){if(e.builtin===jh.This)n.print("self");else{if(e.builtin===jh.Super)throw new Error("'super' needs to be handled at a parent ast node, not at the variable level!");t.prototype.visitReadVarExpr.call(this,e,n)}return null},e.prototype.visitDeclareVarStmt=function(t,e){return e.print("var "+t.name+" = "),t.value.visitExpression(this,e),e.println(";"),null},e.prototype.visitCastExpr=function(t,e){return t.value.visitExpression(this,e),null},e.prototype.visitInvokeFunctionExpr=function(e,n){var r=e.fn;return r instanceof Lh&&r.builtin===jh.Super?(n.currentClass.parent.visitExpression(this,n),n.print(".call(this"),e.args.length>0&&(n.print(", "),this.visitAllExpressions(e.args,n,",")),n.print(")")):t.prototype.visitInvokeFunctionExpr.call(this,e,n),null},e.prototype.visitFunctionExpr=function(t,e){return e.print("function("),this._visitParams(t.params,e),e.println(") {"),e.incIndent(),this.visitAllStatements(t.statements,e),e.decIndent(),e.print("}"),null},e.prototype.visitDeclareFunctionStmt=function(t,e){return e.print("function "+t.name+"("),this._visitParams(t.params,e),e.println(") {"),e.incIndent(),this.visitAllStatements(t.statements,e),e.decIndent(),e.println("}"),null},e.prototype.visitTryCatchStmt=function(t,e){e.println("try {"),e.incIndent(),this.visitAllStatements(t.bodyStmts,e),e.decIndent(),e.println("} catch ("+Pd.name+") {"),e.incIndent();var n=[Ad.set(Pd.prop("stack")).toDeclStmt(null,[cf.Final])].concat(t.catchStmts);return this.visitAllStatements(n,e),e.decIndent(),e.println("}"),null},e.prototype._visitParams=function(t,e){this.visitAllObjects(function(t){return e.print(t.name)},t,e,",")},e.prototype.getBuiltinMethodName=function(t){var e;switch(t){case Bh.ConcatArray:e="concat";break;case Bh.SubscribeObservable:e="subscribe";break;case Bh.Bind:e="bind";break;default:throw new Error("Unknown builtin method: "+t)}return e},e}(Rd),iv=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},ov=function(t){function e(){t.apply(this,arguments),this._evalArgNames=[],this._evalArgValues=[]}return iv(e,t),e.prototype.getArgs=function(){for(var t={},e=0;e<this._evalArgNames.length;e++)t[this._evalArgNames[e]]=this._evalArgValues[e];return t},e.prototype.visitExternalExpr=function(t,e){var n=t.value.reference,r=this._evalArgValues.indexOf(n);if(-1===r){r=this._evalArgValues.length,this._evalArgValues.push(n);var i=b(t.value)||"val";this._evalArgNames.push("jit_"+i+r)}return e.print(this._evalArgNames[r]),null},e}(rv),sv=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},av=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},uv=function(){function t(t,e,n,r,i,o,s,a,u){this._injector=t,this._metadataResolver=e,this._templateParser=n,this._styleCompiler=r,this._viewCompiler=i,this._ngModuleCompiler=o,this._directiveWrapperCompiler=s,this._compilerConfig=a,this._animationParser=u,this._compiledTemplateCache=new Map,this._compiledHostTemplateCache=new Map,this._compiledDirectiveWrapperCache=new Map,this._compiledNgModuleCache=new Map,this._animationCompiler=new dm}return Object.defineProperty(t.prototype,"injector",{get:function(){return this._injector},enumerable:!0,configurable:!0}),t.prototype.compileModuleSync=function(t){return this._compileModuleAndComponents(t,!0).syncResult},t.prototype.compileModuleAsync=function(t){return this._compileModuleAndComponents(t,!1).asyncResult},t.prototype.compileModuleAndAllComponentsSync=function(t){return this._compileModuleAndAllComponents(t,!0).syncResult},t.prototype.compileModuleAndAllComponentsAsync=function(t){return this._compileModuleAndAllComponents(t,!1).asyncResult},t.prototype.getNgContentSelectors=function(t){var e=this._compiledTemplateCache.get(t);if(!e)throw new Error("The component "+s(t)+" is not yet compiled!");return e.compMeta.template.ngContentSelectors},t.prototype._compileModuleAndComponents=function(t,e){var n=this,r=this._loadModules(t,e),i=function(){return n._compileComponents(t,null),n._compileModule(t)};return e?new us(i()):new us(null,r.then(i))},t.prototype._compileModuleAndAllComponents=function(t,n){var r=this,i=this._loadModules(t,n),o=function(){var n=[];return r._compileComponents(t,n),new e.ModuleWithComponentFactories(r._compileModule(t),n)};return n?new us(o()):new us(null,i.then(o))},t.prototype._loadModules=function(t,e){var n=this,r=[],i=this._metadataResolver.getNgModuleMetadata(t);return i.transitiveModule.modules.forEach(function(t){r.push(n._metadataResolver.loadNgModuleDirectiveAndPipeMetadata(t.reference,e))}),Promise.all(r)},t.prototype._compileModule=function(t){var n=this,r=this._compiledNgModuleCache.get(t);if(!r){var i=this._metadataResolver.getNgModuleMetadata(t),o=[this._metadataResolver.getProviderMetadata(new Rs(e.Compiler,{useFactory:function(){return new pv(n,i.type.reference)}}))],s=this._ngModuleCompiler.compile(i,o);s.dependencies.forEach(function(t){t.placeholder.reference=n._assertComponentKnown(t.comp.reference,!0).proxyComponentFactory}),r=this._compilerConfig.useJit?Ri("/"+b(i.type)+"/module.ngfactory.js",s.statements,s.ngModuleFactoryVar):Ti(s.statements,s.ngModuleFactoryVar),this._compiledNgModuleCache.set(i.type.reference,r)}return r},t.prototype._compileComponents=function(t,e){
+var n=this,r=this._metadataResolver.getNgModuleMetadata(t),i=new Map,o=new Set;r.transitiveModule.modules.forEach(function(t){var r=n._metadataResolver.getNgModuleMetadata(t.reference);r.declaredDirectives.forEach(function(t){i.set(t.reference,r);var s=n._metadataResolver.getDirectiveMetadata(t.reference);if(n._compileDirectiveWrapper(s,r),s.isComponent&&(o.add(n._createCompiledTemplate(s,r)),e)){var a=n._createCompiledHostTemplate(s.type.reference,r);o.add(a),e.push(a.proxyComponentFactory)}})}),r.transitiveModule.modules.forEach(function(t){var e=n._metadataResolver.getNgModuleMetadata(t.reference);e.declaredDirectives.forEach(function(t){var e=n._metadataResolver.getDirectiveMetadata(t.reference);e.isComponent&&e.entryComponents.forEach(function(t){var e=i.get(t.reference);o.add(n._createCompiledHostTemplate(t.reference,e))})}),e.entryComponents.forEach(function(t){var e=i.get(t.reference);o.add(n._createCompiledHostTemplate(t.reference,e))})}),o.forEach(function(t){return n._compileTemplate(t)})},t.prototype.clearCacheFor=function(t){this._compiledNgModuleCache["delete"](t),this._metadataResolver.clearCacheFor(t),this._compiledHostTemplateCache["delete"](t);var e=this._compiledTemplateCache.get(t);e&&this._compiledTemplateCache["delete"](t)},t.prototype.clearCache=function(){this._metadataResolver.clearCache(),this._compiledTemplateCache.clear(),this._compiledHostTemplateCache.clear(),this._compiledNgModuleCache.clear()},t.prototype._createCompiledHostTemplate=function(t,e){if(!e)throw new Error("Component "+s(t)+" is not part of any NgModule or the module has not been imported into your module.");var n=this._compiledHostTemplateCache.get(t);if(!n){var r=this._metadataResolver.getDirectiveMetadata(t);ki(r);var i=function(){};i.overriddenName=b(r.type)+"_Host";var o=C(i,r);n=new cv(!0,r.selector,r.type,o,e,[r.type]),this._compiledHostTemplateCache.set(t,n)}return n},t.prototype._createCompiledTemplate=function(t,e){var n=this._compiledTemplateCache.get(t.type.reference);return n||(ki(t),n=new cv(!1,t.selector,t.type,t,e,e.transitiveModule.directives),this._compiledTemplateCache.set(t.type.reference,n)),n},t.prototype._assertComponentKnown=function(t,e){var n=e?this._compiledHostTemplateCache.get(t):this._compiledTemplateCache.get(t);if(!n)throw new Error("Illegal state: Compiled view for component "+s(t)+" (host: "+e+") does not exist!");return n},t.prototype._assertDirectiveWrapper=function(t){var e=this._compiledDirectiveWrapperCache.get(t);if(!e)throw new Error("Illegal state: Directive wrapper for "+s(t)+" has not been compiled!");return e},t.prototype._compileDirectiveWrapper=function(t,e){var n,r=this._directiveWrapperCompiler.compile(t),i=r.statements;n=this._compilerConfig.useJit?Ri("/"+b(e.type)+"/"+b(t.type)+"/wrapper.ngfactory.js",i,r.dirWrapperClassVar):Ti(i,r.dirWrapperClassVar),this._compiledDirectiveWrapperCache.set(t.type.reference,n)},t.prototype._compileTemplate=function(t){var e=this;if(!t.isCompiled){var n=t.compMeta,r=new Map,i=this._styleCompiler.compileComponent(n);i.externalStylesheets.forEach(function(t){r.set(t.meta.moduleUrl,t)}),this._resolveStylesCompileResult(i.componentStylesheet,r);var o=this._animationParser.parseComponent(n),s=t.directives.map(function(t){return e._metadataResolver.getDirectiveSummary(t.reference)}),a=t.ngModule.transitiveModule.pipes.map(function(t){return e._metadataResolver.getPipeSummary(t.reference)}),u=this._templateParser.parse(n,n.template.template,s,a,t.ngModule.schemas,b(n.type)),c=this._animationCompiler.compile(b(n.type),o),p=this._viewCompiler.compileComponent(n,u,Ge(i.componentStylesheet.stylesVar),a,c);p.dependencies.forEach(function(t){var n;if(t instanceof qy){var r=t;n=e._assertComponentKnown(r.comp.reference,!1),r.placeholder.reference=n.proxyViewClass}else if(t instanceof zy){var i=t;n=e._assertComponentKnown(i.comp.reference,!0),i.placeholder.reference=n.proxyComponentFactory}else if(t instanceof Wy){var o=t;o.placeholder.reference=e._assertDirectiveWrapper(o.dir.reference)}});var l,h=(f=i.componentStylesheet.statements).concat.apply(f,c.map(function(t){return t.statements})).concat(p.statements);l=this._compilerConfig.useJit?Ri("/"+b(t.ngModule.type)+"/"+b(t.compType)+"/"+(t.isHost?"host":"component")+".ngfactory.js",h,p.viewClassVar):Ti(h,p.viewClassVar),t.compiled(l);var f}},t.prototype._resolveStylesCompileResult=function(t,e){var n=this;t.dependencies.forEach(function(t){var r=e.get(t.moduleUrl),i=n._resolveAndEvalStylesCompileResult(r,e);t.valuePlaceholder.reference=i})},t.prototype._resolveAndEvalStylesCompileResult=function(t,e){return this._resolveStylesCompileResult(t,e),this._compilerConfig.useJit?Ri("/"+t.meta.moduleUrl+".ngstyle.js",t.statements,t.stylesVar):Ti(t.statements,t.stylesVar)},t=sv([M(),av("design:paramtypes",[e.Injector,fd,xl,Ay,hm,wd,Yf,kl,ih])],t)}(),cv=function(){function t(t,n,r,i,o,a){this.isHost=t,this.compType=r,this.compMeta=i,this.ngModule=o,this.directives=a,this._viewClass=null,this.isCompiled=!1;var u=this;this.proxyViewClass=function(){if(!u._viewClass)throw new Error("Illegal state: CompiledTemplate for "+s(u.compType)+" is not compiled yet!");return u._viewClass.apply(this,arguments)},this.proxyComponentFactory=t?new e.ComponentFactory(n,this.proxyViewClass,r.reference):null}return t.prototype.compiled=function(t){this._viewClass=t,this.proxyViewClass.prototype=t.prototype,this.isCompiled=!0},t}(),pv=function(){function t(t,e){this._delegate=t,this._ngModule=e}return Object.defineProperty(t.prototype,"_injector",{get:function(){return this._delegate.injector},enumerable:!0,configurable:!0}),t.prototype.compileModuleSync=function(t){return this._delegate.compileModuleSync(t)},t.prototype.compileModuleAsync=function(t){return this._delegate.compileModuleAsync(t)},t.prototype.compileModuleAndAllComponentsSync=function(t){return this._delegate.compileModuleAndAllComponentsSync(t)},t.prototype.compileModuleAndAllComponentsAsync=function(t){return this._delegate.compileModuleAndAllComponentsAsync(t)},t.prototype.getNgContentSelectors=function(t){return this._delegate.getNgContentSelectors(t)},t.prototype.clearCache=function(){this._delegate.clearCache()},t.prototype.clearCacheFor=function(t){this._delegate.clearCacheFor(t)},t}(),lv=function(){function t(t,e,n){this._htmlParser=t,this._implicitTags=e,this._implicitAttrs=n,this._messages=[]}return t.prototype.updateFromTemplate=function(t,e,n){var r=this._htmlParser.parse(t,e,!0,n);if(r.errors.length)return r.errors;var i=lt(r.rootNodes,n,this._implicitTags,this._implicitAttrs);if(i.errors.length)return i.errors;(o=this._messages).push.apply(o,i.messages);var o},t.prototype.getMessages=function(){return this._messages},t.prototype.write=function(t){return t.write(this._messages)},t}(),hv=function(){function t(t,e,n,r){this.host=t,this.staticSymbolResolver=e,this.messageBundle=n,this.metadataResolver=r}return t.prototype.extract=function(t){var e=this,n=mi(this.staticSymbolResolver,t,this.host),r=di(n,this.host,this.metadataResolver),i=r.files,o=r.ngModules;return Promise.all(o.map(function(t){return e.metadataResolver.loadNgModuleDirectiveAndPipeMetadata(t.type.reference,!1)})).then(function(){var t=[];if(i.forEach(function(n){var r=[];n.directives.forEach(function(t){var n=e.metadataResolver.getDirectiveMetadata(t);n&&n.isComponent&&r.push(n)}),r.forEach(function(r){var i=r.template.template,o=Ia.fromArray(r.template.interpolation);t.push.apply(t,e.messageBundle.updateFromTemplate(i,n.srcUrl,o))})}),t.length)throw new Error(t.map(function(t){return t.toString()}).join("\n"));return e.messageBundle})},t.create=function(n){var r=new dp(new lp),i=je(),o=new to,s=new Ym(n,o),a=new Qm(n,o,s),u=new qm(a);Fm.install(u);var c=new kl({genDebugInfo:!1,defaultEncapsulation:e.ViewEncapsulation.Emulated,logBindingUpdate:!1,useJit:!1}),p=new yh({get:function(t){return n.loadResource(t)}},i,r,c),l=new Gd,h=new fd(new nd(u),new _h(u),new od(u),s,l,p,u),f=new lv(r,[],{}),d=new t(n,a,f,h);return{extractor:d,staticReflector:u}},t}(),fv=this&&this.__decorate||function(t,e,n,r){var i,o=arguments.length,s=3>o?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,n,r);else for(var a=t.length-1;a>=0;a--)(i=t[a])&&(s=(3>o?i(s):o>3?i(e,n,s):i(e,n))||s);return o>3&&s&&Object.defineProperty(e,n,s),s},dv=this&&this.__metadata||function(t,e){return"object"==typeof Reflect&&"function"==typeof Reflect.metadata?Reflect.metadata(t,e):void 0},yv={get:function(t){throw new Error("No ResourceLoader implementation has been provided. Can't read the url \""+t+'"')}},mv=new e.OpaqueToken("HtmlParser"),vv=[{provide:Ao,useValue:Po},{provide:co,useExisting:Ao},{provide:sh,useValue:yv},ud,To,fu,wu,{provide:mv,useClass:lp},{provide:dp,useFactory:function(t,e,n){return new dp(t,e,n)},deps:[mv,[new e.Optional,new e.Inject(e.TRANSLATIONS)],[new e.Optional,new e.Inject(e.TRANSLATIONS_FORMAT)]]},{provide:lp,useExisting:dp},xl,yh,fd,ch,Ay,hm,wd,Yf,{provide:kl,useValue:new kl},uv,{provide:e.Compiler,useExisting:uv},Gd,{provide:Mp,useExisting:Gd},ph,_h,od,nd,ih],gv=function(){function t(t){this._defaultOptions=[{useDebug:e.isDevMode(),useJit:!0,defaultEncapsulation:e.ViewEncapsulation.Emulated}].concat(t)}return t.prototype.createCompiler=function(t){void 0===t&&(t=[]);var n=Ii(this._defaultOptions.concat(t)),r=e.ReflectiveInjector.resolveAndCreate([vv,{provide:kl,useFactory:function(){return new kl({genDebugInfo:n.useDebug,useJit:n.useJit,defaultEncapsulation:n.defaultEncapsulation,logBindingUpdate:n.useDebug})},deps:[]},n.providers]);return r.get(e.Compiler)},t.ctorParameters=function(){return[{type:Array,decorators:[{type:e.Inject,args:[e.COMPILER_OPTIONS]}]}]},t=fv([M(),dv("design:paramtypes",[Array])],t)}(),_v=e.createPlatformFactory(e.platformCore,"coreDynamic",[{provide:e.COMPILER_OPTIONS,useValue:{},multi:!0},{provide:e.CompilerFactory,useClass:gv},{provide:e.PLATFORM_INITIALIZER,useValue:Ni,multi:!0}]),bv=function(){function t(){}return t.prototype.fileNameToModuleName=function(){},t}();t.VERSION=Li,t.TextAst=Vi,t.BoundTextAst=Fi,t.AttrAst=Ui,t.BoundElementPropertyAst=Bi,t.BoundEventAst=Hi,t.ReferenceAst=qi,t.VariableAst=zi,t.ElementAst=Wi,t.EmbeddedTemplateAst=Gi,t.BoundDirectivePropertyAst=Ki,t.DirectiveAst=Xi,t.ProviderAst=Qi,t.ProviderAstType=Yi,t.NgContentAst=$i,t.PropertyBindingType=Zi,t.templateVisitAll=n,t.TEMPLATE_TRANSFORMS=El,t.CompilerConfig=kl,t.RenderTypes=Nl,t.CompileAnimationEntryMetadata=hs,t.CompileAnimationStateMetadata=fs,t.CompileAnimationStateDeclarationMetadata=ds,t.CompileAnimationStateTransitionMetadata=ys,t.CompileAnimationMetadata=ms,t.CompileAnimationKeyframesSequenceMetadata=vs,t.CompileAnimationStyleMetadata=gs,t.CompileAnimationAnimateMetadata=_s,t.CompileAnimationWithStepsMetadata=bs,t.CompileAnimationSequenceMetadata=ws,t.CompileAnimationGroupMetadata=Es,t.identifierName=b,t.identifierModuleUrl=w,t.CompileSummaryKind=Cs,t.tokenName=E,t.tokenReference=S,t.CompileStylesheetMetadata=xs,t.CompileTemplateMetadata=Ts,t.CompileDirectiveMetadata=Ps,t.createHostComponentMeta=C,t.CompilePipeMetadata=As,t.CompileNgModuleMetadata=Os,t.TransitiveCompileNgModuleMetadata=Ms,t.ProviderMeta=Rs,t.createAotCompiler=xi,t.AotCompiler=Vm,t.analyzeNgModules=fi,t.analyzeAndValidateNgModules=di,t.extractProgramSymbols=mi,t.StaticReflector=qm,t.StaticAndDynamicReflectionCapabilities=Fm,t.StaticSymbol=Ji,t.StaticSymbolCache=to,t.ResolvedStaticSymbol=Km,t.StaticSymbolResolver=Qm,t.AotSummaryResolver=Ym,t.SummaryResolver=ud,t.JitCompiler=uv,t.COMPILER_PROVIDERS=vv,t.JitCompilerFactory=gv,t.platformCoreDynamic=_v,t.createUrlResolverWithoutPackagePrefix=De,t.createOfflineCompileUrlResolver=je,t.DEFAULT_PACKAGE_URL_PROVIDER=ch,t.UrlResolver=ph,t.getUrlScheme=Le,t.ResourceLoader=sh,t.DirectiveResolver=_h,t.PipeResolver=od,t.NgModuleResolver=nd,t.DEFAULT_INTERPOLATION_CONFIG=Da,t.InterpolationConfig=Ia,t.ElementSchemaRegistry=Mp,t.Extractor=hv,t.I18NHtmlParser=dp,t.MessageBundle=lv,t.Serializer=Sc,t.Xliff=Bc,t.Xmb=$c,t.Xtb=op,t.DirectiveNormalizer=yh,t.TokenType=lu,t.Lexer=fu,t.Token=du,t.EOF=yu,t.isIdentifier=B,t.isQuote=W,t.SplitInterpolation=_u,t.TemplateBindingParseResult=bu,t.Parser=wu,t._ParseAST=Eu,t.ERROR_COLLECTOR_TOKEN=hd,t.CompileMetadataResolver=fd,t.componentModuleUrl=zn,t.ParseTreeResult=Wu,t.TreeError=zu,t.HtmlParser=lp,t.NgModuleCompiler=wd,t.DirectiveWrapperCompiler=Yf,t.ImportResolver=bv,t.debugOutputAstAsTypeScript=Yn,t.TypeScriptEmitter=Id,t.ParseLocation=Cu,t.ParseSourceFile=xu,t.ParseSourceSpan=Tu,t.ParseErrorLevel=Pu,t.ParseError=Au,t.DomElementSchemaRegistry=Gd,t.CssSelector=Zo,t.SelectorMatcher=Jo,t.SelectorListContext=ts,t.SelectorContext=es,t.StylesCompileDependency=xy,t.StylesCompileResult=Ty,t.CompiledStylesheet=Py,t.StyleCompiler=Ay,t.TemplateParseError=Sl,t.TemplateParseResult=Cl,t.TemplateParser=xl,t.splitClasses=me,t.createElementCssSelector=ve,t.removeSummaryDuplicates=_e,t.ViewCompiler=hm,t.AnimationParser=ih,t.SyntaxError=cs})},{"@angular/core":7}],7:[function(e,n,r){(function(i){!function(i,o){"object"==typeof r&&"undefined"!=typeof n?o(r,e("rxjs/symbol/observable"),e("rxjs/Subject"),e("rxjs/Observable")):"function"==typeof t&&t.amd?t(["exports","rxjs/symbol/observable","rxjs/Subject","rxjs/Observable"],o):o((i.ng=i.ng||{},i.ng.core=i.ng.core||{}),i.rxjs_symbol_observable,i.Rx,i.Rx)}(this,function(t,e,n){"use strict";function r(t){Zone.current.scheduleMicroTask("scheduleMicrotask",t)}function o(t){return t.name||typeof t}function s(t){return null!=t}function a(t){return null==t}function u(t){if("string"==typeof t)return t;if(null==t)return""+t;if(t.overriddenName)return""+t.overriddenName;if(t.name)return""+t.name;var e=t.toString(),n=e.indexOf("\n");return-1===n?e:e.substring(0,n)}function c(t,e){return t===e||"number"==typeof t&&"number"==typeof e&&isNaN(t)&&isNaN(e)}function p(t){return null!==t&&("function"==typeof t||"object"==typeof t)}function l(t){console.log(t)}function h(t){console.warn(t)}function f(){if(!fe)if(le.Symbol&&Symbol.iterator)fe=Symbol.iterator;else for(var t=Object.getOwnPropertyNames(Map.prototype),e=0;e<t.length;++e){var n=t[e];"entries"!==n&&"size"!==n&&Map.prototype[n]===Map.prototype.entries&&(fe=n)}return fe}function d(t){return!p(t)}function y(t){return"function"==typeof t&&t.hasOwnProperty("annotation")&&(t=t.annotation),t}function m(t,e){if(t===Object||t===String||t===Function||t===Number||t===Array)throw new Error("Can not use native "+u(t)+" as constructor");if("function"==typeof t)return t;if(Array.isArray(t)){var n=t,r=n.length-1,i=t[r];if("function"!=typeof i)throw new Error("Last position of Class method array must be Function in key "+e+" was '"+u(i)+"'");if(r!=i.length)throw new Error("Number of annotations ("+r+") does not match number of arguments ("+i.length+") in the function: "+u(i));for(var o=[],s=0,a=n.length-1;a>s;s++){var c=[];o.push(c);var p=n[s];if(Array.isArray(p))for(var l=0;l<p.length;l++)c.push(y(p[l]));else c.push("function"==typeof p?y(p):p)}return ye.defineMetadata("parameters",o,i),i}throw new Error("Only Function or Array is supported in Class definition for key '"+e+"' is '"+u(t)+"'")}function v(t){var e=m(t.hasOwnProperty("constructor")?t.constructor:void 0,"constructor"),n=e.prototype;if(t.hasOwnProperty("extends")){if("function"!=typeof t["extends"])throw new Error("Class definition 'extends' property must be a constructor function was: "+u(t["extends"]));e.prototype=n=Object.create(t["extends"].prototype)}for(var r in t)"extends"!==r&&"prototype"!==r&&t.hasOwnProperty(r)&&(n[r]=m(t[r],r));this&&this.annotations instanceof Array&&ye.defineMetadata("annotations",this.annotations,e);var i=e.name;return i&&"constructor"!==i||(e.overriddenName="class"+de++),e}function g(t,e,n,r){function i(t){if(!ye||!ye.getOwnMetadata)throw"reflect-metadata shim is required when using class decorators";if(this instanceof i)return o.call(this,t),this;var e=new i(t),n="function"==typeof this&&Array.isArray(this.annotations)?this.annotations:[];n.push(e);var s=function(t){var n=ye.getOwnMetadata("annotations",t)||[];return n.push(e),ye.defineMetadata("annotations",n,t),t};return s.annotations=n,s.Class=v,r&&r(s),s}void 0===r&&(r=null);var o=_([e]);return n&&(i.prototype=Object.create(n.prototype)),i.prototype.toString=function(){return"@"+t},i.annotationCls=i,i}function _(t){return function(){for(var e=this,n=[],r=0;r<arguments.length;r++)n[r-0]=arguments[r];t.forEach(function(t,r){var i=n[r];if(Array.isArray(t))e[t[0]]=void 0===i?t[1]:i;else for(var o in t)e[o]=i&&i.hasOwnProperty(o)?i[o]:t[o]})}}function b(t,e,n){function r(){function t(t,e,n){for(var r=ye.getOwnMetadata("parameters",t)||[];r.length<=n;)r.push(null);return r[n]=r[n]||[],r[n].push(o),ye.defineMetadata("parameters",r,t),t}for(var e=[],n=0;n<arguments.length;n++)e[n-0]=arguments[n];if(this instanceof r)return i.apply(this,e),this;var o=new((s=r).bind.apply(s,[void 0].concat(e)));return t.annotation=o,t;var s}var i=_(e);return n&&(r.prototype=Object.create(n.prototype)),r.prototype.toString=function(){return"@"+t},r.annotationCls=r,r}function w(t,e,n){function r(){for(var t=[],e=0;e<arguments.length;e++)t[e-0]=arguments[e];if(this instanceof r)return i.apply(this,t),this;var n=new((o=r).bind.apply(o,[void 0].concat(t)));return function(t,e){var r=ye.getOwnMetadata("propMetadata",t.constructor)||{};r[e]=r.hasOwnProperty(e)&&r[e]||[],r[e].unshift(n),ye.defineMetadata("propMetadata",r,t.constructor)};var o}var i=_(e);return n&&(r.prototype=Object.create(n.prototype)),r.prototype.toString=function(){return"@"+t},r.annotationCls=r,r}function E(t){return a(t)||t===Me.Default}function S(t){return t.__forward_ref__=S,t.toString=function(){return u(this())},t}function C(t){return"function"==typeof t&&t.hasOwnProperty("__forward_ref__")&&t.__forward_ref__===S?t():t}function x(t){for(var e=[],n=0;n<t.length;++n){if(e.indexOf(t[n])>-1)return e.push(t[n]),e;e.push(t[n])}return e}function T(t){if(t.length>1){var e=x(t.slice().reverse()),n=e.map(function(t){return u(t.token)});return" ("+n.join(" -> ")+")"}return""}function P(t){return"function"==typeof t}function A(t){return t?t.map(function(t){var e=t.type,n=e.annotationCls,r=t.args?t.args:[];return new(n.bind.apply(n,[void 0].concat(r)))}):[]}function O(t){var e=Object.getPrototypeOf(t.prototype),n=e?e.constructor:null;return n||Object}function M(t){var e,n;if(t.useClass){var r=C(t.useClass);e=An.factory(r),n=j(r)}else t.useExisting?(e=function(t){return t},n=[On.fromKey(_n.get(t.useExisting))]):t.useFactory?(e=t.useFactory,n=D(t.useFactory,t.deps)):(e=function(){return t.useValue},n=Mn);return new kn(e,n)}function R(t){return new Rn(_n.get(t.provide),[M(t)],t.multi)}function k(t){var e=I(t,[]),n=e.map(R),r=N(n,new Map);return Array.from(r.values())}function N(t,e){for(var n=0;n<t.length;n++){var r=t[n],i=e.get(r.key.id);if(i){if(r.multiProvider!==i.multiProvider)throw new gn(i,r);if(r.multiProvider)for(var o=0;o<r.resolvedFactories.length;o++)i.resolvedFactories.push(r.resolvedFactories[o]);else e.set(r.key.id,r)}else{var s=void 0;s=r.multiProvider?new Rn(r.key,r.resolvedFactories.slice(),r.multiProvider):r,e.set(r.key.id,s)}}return e}function I(t,e){return t.forEach(function(t){if(t instanceof En)e.push({provide:t,useClass:t});else if(t&&"object"==typeof t&&void 0!==t.provide)e.push(t);else{if(!(t instanceof Array))throw new yn(t);I(t,e)}}),e}function D(t,e){if(e){var n=e.map(function(t){return[t]});return e.map(function(e){return L(t,e,n)})}return j(t)}function j(t){var e=An.parameters(t);if(!e)return[];if(e.some(function(t){return null==t}))throw new mn(t,e);return e.map(function(n){return L(t,n,e)})}function L(t,e,n){var r=null,i=!1;if(!Array.isArray(e))return e instanceof me?V(e.token,i,null):V(e,i,null);for(var o=null,s=0;s<e.length;++s){var a=e[s];a instanceof En?r=a:a instanceof me?r=a.token:a instanceof ve?i=!0:(a instanceof _e||a instanceof be)&&(o=a)}if(r=C(r),null!=r)return V(r,i,o);throw new mn(t,n)}function V(t,e,n){return new On(_n.get(t),e,n)}function F(t,e){for(var n=new Array(t._providers.length),r=0;r<t._providers.length;++r)n[r]=e(t.getProviderAtIndex(r));return n}function U(t){return p(t)?Array.isArray(t)||!(t instanceof Map)&&f()in t:!1}function B(t,e,n){for(var r=t[f()](),i=e[f()]();;){var o=r.next(),s=i.next();if(o.done&&s.done)return!0;if(o.done||s.done)return!1;if(!n(o.value,s.value))return!1}}function H(t,e){if(Array.isArray(t))for(var n=0;n<t.length;n++)e(t[n]);else for(var r=t[f()](),i=void 0;!(i=r.next()).done;)e(i.value)}function q(t){return!!t&&"function"==typeof t.then}function z(t){return!(!t||!t[e.$$observable])}function W(){return""+G()+G()+G()}function G(){return String.fromCharCode(97+Math.floor(25*Math.random()))}function K(){throw new Error("Runtime compiler is not loaded")}function X(t,e,n){var r=t.previousIndex;if(null===r)return r;var i=0;return n&&r<n.length&&(i=n[r]),r+e+i}function Q(t,e){return U(t)&&U(e)?B(t,e,Q):U(t)||d(t)||U(e)||d(e)?c(t,e):!0}function Y(t,e,n,r,i){return new xr(""+Fr++,t,e,n,r,i)}function $(t,e){e.push(t)}function Z(t,e){for(var n="",r=0;2*t>r;r+=2)n=n+e[r]+tt(e[r+1]);return n+e[2*t]}function J(t,e,n,r,i,o,s,a,u,c,p,l,h,f,d,y,m,v,g,_){switch(t){case 1:return e+tt(n)+r;case 2:return e+tt(n)+r+tt(i)+o;case 3:return e+tt(n)+r+tt(i)+o+tt(s)+a;case 4:return e+tt(n)+r+tt(i)+o+tt(s)+a+tt(u)+c;case 5:return e+tt(n)+r+tt(i)+o+tt(s)+a+tt(u)+c+tt(p)+l;case 6:return e+tt(n)+r+tt(i)+o+tt(s)+a+tt(u)+c+tt(p)+l+tt(h)+f;case 7:return e+tt(n)+r+tt(i)+o+tt(s)+a+tt(u)+c+tt(p)+l+tt(h)+f+tt(d)+y;case 8:return e+tt(n)+r+tt(i)+o+tt(s)+a+tt(u)+c+tt(p)+l+tt(h)+f+tt(d)+y+tt(m)+v;case 9:return e+tt(n)+r+tt(i)+o+tt(s)+a+tt(u)+c+tt(p)+l+tt(h)+f+tt(d)+y+tt(m)+v+tt(g)+_;default:throw new Error("Does not support more than 9 expressions")}}function tt(t){return null!=t?t.toString():""}function et(t,e,n){if(t){if(!Q(e,n))throw new Dr(e,n);return!1}return!c(e,n)}function nt(t){return t}function rt(t){var e,n=mr;return function(r){return c(n,r)||(n=r,e=t(r)),e}}function it(t){var e,n=mr,r=mr;return function(i,o){return c(n,i)&&c(r,o)||(n=i,r=o,e=t(i,o)),e}}function ot(t){var e,n=mr,r=mr,i=mr;return function(o,s,a){return c(n,o)&&c(r,s)&&c(i,a)||(n=o,r=s,i=a,e=t(o,s,a)),e}}function st(t){var e,n,r,i,o;return n=r=i=o=mr,function(s,a,u,p){return c(n,s)&&c(r,a)&&c(i,u)&&c(o,p)||(n=s,r=a,i=u,o=p,e=t(s,a,u,p)),e}}function at(t){var e,n,r,i,o,s;return n=r=i=o=s=mr,function(a,u,p,l,h){return c(n,a)&&c(r,u)&&c(i,p)&&c(o,l)&&c(s,h)||(n=a,r=u,i=p,o=l,s=h,e=t(a,u,p,l,h)),e}}function ut(t){var e,n,r,i,o,s,a;return n=r=i=o=s=a=mr,function(u,p,l,h,f,d){return c(n,u)&&c(r,p)&&c(i,l)&&c(o,h)&&c(s,f)&&c(a,d)||(n=u,r=p,i=l,o=h,s=f,a=d,e=t(u,p,l,h,f,d)),e}}function ct(t){var e,n,r,i,o,s,a,u;return n=r=i=o=s=a=u=mr,function(p,l,h,f,d,y,m){return c(n,p)&&c(r,l)&&c(i,h)&&c(o,f)&&c(s,d)&&c(a,y)&&c(u,m)||(n=p,r=l,i=h,o=f,s=d,a=y,u=m,e=t(p,l,h,f,d,y,m)),e}}function pt(t){var e,n,r,i,o,s,a,u,p;return n=r=i=o=s=a=u=p=mr,function(l,h,f,d,y,m,v,g){return c(n,l)&&c(r,h)&&c(i,f)&&c(o,d)&&c(s,y)&&c(a,m)&&c(u,v)&&c(p,g)||(n=l,r=h,i=f,o=d,s=y,a=m,u=v,p=g,e=t(l,h,f,d,y,m,v,g)),e}}function lt(t){var e,n,r,i,o,s,a,u,p,l;return n=r=i=o=s=a=u=p=l=mr,function(h,f,d,y,m,v,g,_,b){return c(n,h)&&c(r,f)&&c(i,d)&&c(o,y)&&c(s,m)&&c(a,v)&&c(u,g)&&c(p,_)&&c(l,b)||(n=h,r=f,i=d,o=y,s=m,a=v,u=g,p=_,l=b,e=t(h,f,d,y,m,v,g,_,b)),e}}function ht(t){var e,n,r,i,o,s,a,u,p,l,h;return n=r=i=o=s=a=u=p=l=h=mr,function(f,d,y,m,v,g,_,b,w,E){return c(n,f)&&c(r,d)&&c(i,y)&&c(o,m)&&c(s,v)&&c(a,g)&&c(u,_)&&c(p,b)&&c(l,w)&&c(h,E)||(n=f,r=d,i=y,o=m,s=v,a=g,u=_,p=b,l=w,h=E,e=t(f,d,y,m,v,g,_,b,w,E)),e}}function ft(t,e,n){Object.keys(n).forEach(function(r){dt(t,e,r,n[r].currentValue)})}function dt(t,e,n,r){try{t.setBindingDebugInfo(e,"ng-reflect-"+yt(n),r?r.toString():null)}catch(i){t.setBindingDebugInfo(e,"ng-reflect-"+yt(n),"[ERROR] Exception while trying to serialize the value")}}function yt(t){return t.replace(Hr,function(){for(var t=[],e=0;e<arguments.length;e++)t[e-0]=arguments[e];return"-"+t[1].toLowerCase()})}function mt(t,e,n,r,i){for(var o=t.createElement(e,n,i),s=0;s<r.length;s+=2)t.setElementAttribute(o,r.get(s),r.get(s+1));return o}function vt(t,e,n,r,i){var o;if(s(r)){o=t.selectRootElement(r,i);for(var a=0;a<n.length;a+=2)t.setElementAttribute(o,n.get(a),n.get(a+1));t.setElementAttribute(o,"ng-version",en.full)}else o=mt(t,null,e,n,i);return o}function gt(t,e,n,r){for(var i=wt(n.length/2),o=0;o<n.length;o+=2){var s=n.get(o),a=n.get(o+1),u=void 0;u=a?t.renderer.listenGlobal(a,s,r.bind(t,a+":"+s)):t.renderer.listen(e,s,r.bind(t,s)),i.set(o/2,u)}return _t.bind(null,i)}function _t(t){for(var e=0;e<t.length;e++)t.get(e)()}function bt(){}function wt(t){var e;return new(e=2>=t?zr:4>=t?Wr:8>=t?Gr:16>=t?Kr:Xr)(t)}function Et(){var t=he.wtf;return t&&(Mr=t.trace)?(Rr=Mr.events,!0):!1}function St(t,e){return void 0===e&&(e=null),Rr.createScope(t,e)}function Ct(t,e){return Mr.leaveScope(t,e),e}function xt(t,e){return Mr.beginTimeRange(t,e)}function Tt(t){Mr.endTimeRange(t)}function Pt(){return null}function At(t){di=t}function Ot(){if(vi)throw new Error("Cannot enable prod mode after platform setup.");mi=!1}function Mt(){return vi=!0,mi}function Rt(t){if(kr&&!kr.destroyed)throw new Error("There can be only one platform. Destroy the previous one to create a new one.");kr=t.get(_i);var e=t.get(zn,null);return e&&e.forEach(function(t){return t()}),kr}function kt(t,e,n){void 0===n&&(n=[]);var r=new Ee("Platform: "+e);return function(e){return void 0===e&&(e=[]),Dt()||(t?t(n.concat(e).concat({provide:r,useValue:!0})):Rt(In.resolveAndCreate(n.concat(e).concat({provide:r,useValue:!0})))),Nt(r)}}function Nt(t){var e=Dt();if(!e)throw new Error("No platform exists!");if(!e.injector.get(t,null))throw new Error("A platform with a different configuration has been created. Please destroy it first.");return e}function It(){kr&&!kr.destroyed&&kr.destroy()}function Dt(){return kr&&!kr.destroyed?kr:null}function jt(t,e){try{var n=e();return q(n)?n["catch"](function(e){throw t.handleError(e),e}):n}catch(r){throw t.handleError(r),r}}function Lt(t,e){var n=Oi.get(t);if(n)throw new Error("Duplicate module registered for "+t+" - "+n.moduleType.name+" vs "+e.moduleType.name);Oi.set(t,e)}function Vt(t){var e=Oi.get(t);if(!e)throw new Error("No module with ID "+t+" loaded");return e}function Ft(t,e,n){if(!t)throw new Error("Cannot find '"+n+"' in '"+e+"'");return t}function Ut(t){return t.map(function(t){return t.nativeElement})}function Bt(t,e,n){t.childNodes.forEach(function(t){t instanceof Xi&&(e(t)&&n.push(t),Bt(t,e,n))})}function Ht(t,e,n){t instanceof Xi&&t.childNodes.forEach(function(t){e(t)&&n.push(t),t instanceof Xi&&Ht(t,e,n)})}function qt(t){return Qi.get(t)}function zt(t){Qi.set(t.nativeNode,t)}function Wt(t){Qi["delete"](t.nativeNode)}function Gt(){return An}function Kt(){return Sr}function Xt(){return Cr}function Qt(t){return t||"en-US"}function Yt(t,e){void 0===e&&(e=null);var n=e;if(!s(n)){var r={};n=new bo([r],1)}return new wo(t,n)}function $t(t){return new Co(t)}function Zt(t){return new So(t)}function Jt(t){var e,n=null;return"string"==typeof t?e=[t]:(e=Array.isArray(t)?t:[t],e.forEach(function(t){var e=t.offset;s(e)&&(n=null==n?parseFloat(e):n)})),new bo(e,n)}function te(t,e){return new mo(t,e)}function ee(t){return new _o(t)}function ne(t,e){var n=Array.isArray(e)?new So(e):e;return new vo(t,n)}function re(t,e){return new fo(t,e)}function ie(t,e,n){void 0===n&&(n=null);var r={};return Object.keys(e).forEach(function(t){var i=e[t];r[t]=i==ho?n:i.toString()}),Object.keys(t).forEach(function(t){s(r[t])||(r[t]=n)}),r}function oe(t,e,n){var r=n.length-1,i=n[0],o=ce(i.styles.styles),a={},u=!1;Object.keys(t).forEach(function(e){var n=t[e];o[e]||(o[e]=n,a[e]=n,u=!0)});var c=Vn.merge({},o),p=n[r];p.styles.styles.unshift(e);var l=ce(p.styles.styles),h={},f=!1;return Object.keys(c).forEach(function(t){s(l[t])||(h[t]=ho,f=!0)}),f&&p.styles.styles.push(h),Object.keys(l).forEach(function(t){s(o[t])||(a[t]=ho,u=!0)}),u&&i.styles.styles.push(a),ae(t,[e]),n}function se(t){var e={};return Object.keys(t).forEach(function(t){e[t]=null}),e}function ae(t,e){return e.map(function(e){var n={};return Object.keys(e).forEach(function(r){var i=e[r];i==no&&(i=t[r],s(i)||(i=ho)),t[r]=i,n[r]=i}),n})}function ue(t,e,n){Object.keys(n).forEach(function(r){e.setElementStyle(t,r,n[r])})}function ce(t){var e={};return t.forEach(function(t){Object.keys(t).forEach(function(n){e[n]=t[n]})}),e}function pe(t,e){t instanceof so||t instanceof po?t.players.forEach(function(t){return pe(t,e)}):e.push(t)}var le;le="undefined"==typeof window?"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:i:window;var he=le;he.assert=function(){};var fe=null,de=0,ye=he.Reflect,me=b("Inject",[["token",void 0]]),ve=b("Optional",[]),ge=g("Injectable",[]),_e=b("Self",[]),be=b("SkipSelf",[]),we=b("Host",[]),Ee=function(){function t(t){this._desc=t}return t.prototype.toString=function(){return"Token "+this._desc},t.decorators=[{type:ge}],t.ctorParameters=function(){return[null]},t}(),Se=new Ee("AnalyzeForEntryComponents"),Ce=b("Attribute",[["attributeName",void 0]]),xe=function(){function t(){}return t}(),Te=w("ContentChildren",[["selector",void 0],{first:!1,isViewQuery:!1,descendants:!1,read:void 0}],xe),Pe=w("ContentChild",[["selector",void 0],{first:!0,isViewQuery:!1,descendants:!0,read:void 0}],xe),Ae=w("ViewChildren",[["selector",void 0],{first:!1,isViewQuery:!0,descendants:!0,read:void 0}],xe),Oe=w("ViewChild",[["selector",void 0],{first:!0,isViewQuery:!0,descendants:!0,read:void 0}],xe),Me={};Me.OnPush=0,Me.Default=1,Me[Me.OnPush]="OnPush",Me[Me.Default]="Default";var Re={};Re.CheckOnce=0,Re.Checked=1,Re.CheckAlways=2,Re.Detached=3,Re.Errored=4,Re.Destroyed=5,Re[Re.CheckOnce]="CheckOnce",Re[Re.Checked]="Checked",Re[Re.CheckAlways]="CheckAlways",Re[Re.Detached]="Detached",Re[Re.Errored]="Errored",Re[Re.Destroyed]="Destroyed";var ke=g("Directive",{selector:void 0,inputs:void 0,outputs:void 0,host:void 0,providers:void 0,exportAs:void 0,queries:void 0}),Ne=g("Component",{selector:void 0,inputs:void 0,outputs:void 0,host:void 0,exportAs:void 0,moduleId:void 0,providers:void 0,viewProviders:void 0,changeDetection:Me.Default,queries:void 0,templateUrl:void 0,template:void 0,styleUrls:void 0,styles:void 0,animations:void 0,encapsulation:void 0,interpolation:void 0,entryComponents:void 0},ke),Ie=g("Pipe",{name:void 0,pure:!0}),De=w("Input",[["bindingPropertyName",void 0]]),je=w("Output",[["bindingPropertyName",void 0]]),Le=w("HostBinding",[["hostPropertyName",void 0]]),Ve=w("HostListener",[["eventName",void 0],["args",[]]]),Fe={};Fe.OnInit=0,Fe.OnDestroy=1,Fe.DoCheck=2,Fe.OnChanges=3,Fe.AfterContentInit=4,Fe.AfterContentChecked=5,Fe.AfterViewInit=6,Fe.AfterViewChecked=7,Fe[Fe.OnInit]="OnInit",Fe[Fe.OnDestroy]="OnDestroy",Fe[Fe.DoCheck]="DoCheck",Fe[Fe.OnChanges]="OnChanges",Fe[Fe.AfterContentInit]="AfterContentInit",Fe[Fe.AfterContentChecked]="AfterContentChecked",Fe[Fe.AfterViewInit]="AfterViewInit",Fe[Fe.AfterViewChecked]="AfterViewChecked";var Ue=[Fe.OnInit,Fe.OnDestroy,Fe.DoCheck,Fe.OnChanges,Fe.AfterContentInit,Fe.AfterContentChecked,Fe.AfterViewInit,Fe.AfterViewChecked],Be=function(){function t(){}return t.prototype.ngOnChanges=function(){},t}(),He=function(){function t(){}return t.prototype.ngOnInit=function(){},t}(),qe=function(){function t(){}return t.prototype.ngDoCheck=function(){},t}(),ze=function(){function t(){}return t.prototype.ngOnDestroy=function(){},t}(),We=function(){function t(){}return t.prototype.ngAfterContentInit=function(){},t}(),Ge=function(){function t(){}return t.prototype.ngAfterContentChecked=function(){},t}(),Ke=function(){function t(){}return t.prototype.ngAfterViewInit=function(){},t}(),Xe=function(){function t(){}return t.prototype.ngAfterViewChecked=function(){},t}(),Qe={name:"custom-elements"},Ye={name:"no-errors-schema"},$e=g("NgModule",{providers:void 0,declarations:void 0,imports:void 0,exports:void 0,entryComponents:void 0,bootstrap:void 0,schemas:void 0,
+id:void 0}),Ze={};Ze.Emulated=0,Ze.Native=1,Ze.None=2,Ze[Ze.Emulated]="Emulated",Ze[Ze.Native]="Native",Ze[Ze.None]="None";var Je=function(){function t(t){var e=void 0===t?{}:t,n=e.templateUrl,r=e.template,i=e.encapsulation,o=e.styles,s=e.styleUrls,a=e.animations,u=e.interpolation;this.templateUrl=n,this.template=r,this.styleUrls=s,this.styles=o,this.encapsulation=i,this.animations=a,this.interpolation=u}return t}(),tn=function(){function t(t){this.full=t}return Object.defineProperty(t.prototype,"major",{get:function(){return this.full.split(".")[0]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"minor",{get:function(){return this.full.split(".")[1]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"patch",{get:function(){return this.full.split(".").slice(2).join(".")},enumerable:!0,configurable:!0}),t}(),en=new tn("2.4.9"),nn=new Object,rn=nn,on=function(){function t(){}return t.prototype.get=function(t,e){if(void 0===e&&(e=nn),e===nn)throw new Error("No provider for "+u(t)+"!");return e},t}(),sn=function(){function t(){}return t.prototype.get=function(){},t.THROW_IF_NOT_FOUND=nn,t.NULL=new on,t}(),an=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},un=function(t){function e(e){t.call(this,e);var n=new Error(e);this._nativeError=n}return an(e,t),Object.defineProperty(e.prototype,"message",{get:function(){return this._nativeError.message},set:function(t){this._nativeError.message=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"name",{get:function(){return this._nativeError.name},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"stack",{get:function(){return this._nativeError.stack},set:function(t){this._nativeError.stack=t},enumerable:!0,configurable:!0}),e.prototype.toString=function(){return this._nativeError.toString()},e}(Error),cn=function(t){function e(e,n){t.call(this,e+" caused by: "+(n instanceof Error?n.message:n)),this.originalError=n}return an(e,t),Object.defineProperty(e.prototype,"stack",{get:function(){return(this.originalError instanceof Error?this.originalError:this._nativeError).stack},enumerable:!0,configurable:!0}),e}(un),pn=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},ln=function(t){function e(e,n,r){t.call(this,"DI Error"),this.keys=[n],this.injectors=[e],this.constructResolvingMessage=r,this.message=this.constructResolvingMessage(this.keys)}return pn(e,t),e.prototype.addKey=function(t,e){this.injectors.push(t),this.keys.push(e),this.message=this.constructResolvingMessage(this.keys)},e}(un),hn=function(t){function e(e,n){t.call(this,e,n,function(t){var e=u(t[0].token);return"No provider for "+e+"!"+T(t)})}return pn(e,t),e}(ln),fn=function(t){function e(e,n){t.call(this,e,n,function(t){return"Cannot instantiate cyclic dependency!"+T(t)})}return pn(e,t),e}(ln),dn=function(t){function e(e,n,r,i){t.call(this,"DI Error",n),this.keys=[i],this.injectors=[e]}return pn(e,t),e.prototype.addKey=function(t,e){this.injectors.push(t),this.keys.push(e)},Object.defineProperty(e.prototype,"message",{get:function(){var t=u(this.keys[0].token);return this.originalError.message+": Error during instantiation of "+t+"!"+T(this.keys)+"."},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"causeKey",{get:function(){return this.keys[0]},enumerable:!0,configurable:!0}),e}(cn),yn=function(t){function e(e){t.call(this,"Invalid provider - only instances of Provider and Type are allowed, got: "+e)}return pn(e,t),e}(un),mn=function(t){function e(n,r){t.call(this,e._genMessage(n,r))}return pn(e,t),e._genMessage=function(t,e){for(var n=[],r=0,i=e.length;i>r;r++){var o=e[r];n.push(o&&0!=o.length?o.map(u).join(" "):"?")}return"Cannot resolve all parameters for '"+u(t)+"'("+n.join(", ")+"). Make sure that all the parameters are decorated with Inject or have valid type annotations and that '"+u(t)+"' is decorated with Injectable."},e}(un),vn=function(t){function e(e){t.call(this,"Index "+e+" is out-of-bounds.")}return pn(e,t),e}(un),gn=function(t){function e(e,n){t.call(this,"Cannot mix multi providers and regular providers, got: "+e.toString()+" "+n.toString())}return pn(e,t),e}(un),_n=function(){function t(t,e){if(this.token=t,this.id=e,!t)throw new Error("Token must be defined!")}return Object.defineProperty(t.prototype,"displayName",{get:function(){return u(this.token)},enumerable:!0,configurable:!0}),t.get=function(t){return wn.get(C(t))},Object.defineProperty(t,"numberOfKeys",{get:function(){return wn.numberOfKeys},enumerable:!0,configurable:!0}),t}(),bn=function(){function t(){this._allKeys=new Map}return t.prototype.get=function(t){if(t instanceof _n)return t;if(this._allKeys.has(t))return this._allKeys.get(t);var e=new _n(t,_n.numberOfKeys);return this._allKeys.set(t,e),e},Object.defineProperty(t.prototype,"numberOfKeys",{get:function(){return this._allKeys.size},enumerable:!0,configurable:!0}),t}(),wn=new bn,En=Function,Sn=/^function\s+\S+\(\)\s*{\s*("use strict";)?\s*(return\s+)?\S+\.apply\(this,\s*arguments\)/,Cn=function(){function t(t){this._reflect=t||he.Reflect}return t.prototype.isReflectionEnabled=function(){return!0},t.prototype.factory=function(t){return function(){for(var e=[],n=0;n<arguments.length;n++)e[n-0]=arguments[n];return new(t.bind.apply(t,[void 0].concat(e)))}},t.prototype._zipTypesAndAnnotations=function(t,e){var n;n=new Array("undefined"==typeof t?e.length:t.length);for(var r=0;r<n.length;r++)n[r]="undefined"==typeof t?[]:t[r]!=Object?[t[r]]:[],e&&s(e[r])&&(n[r]=n[r].concat(e[r]));return n},t.prototype._ownParameters=function(t,e){if(Sn.exec(t.toString()))return null;if(t.parameters&&t.parameters!==e.parameters)return t.parameters;var n=t.ctorParameters;if(n&&n!==e.ctorParameters){var r="function"==typeof n?n():n,i=r.map(function(t){return t&&t.type}),o=r.map(function(t){return t&&A(t.decorators)});return this._zipTypesAndAnnotations(i,o)}if(s(this._reflect)&&s(this._reflect.getOwnMetadata)){var o=this._reflect.getOwnMetadata("parameters",t),i=this._reflect.getOwnMetadata("design:paramtypes",t);if(i||o)return this._zipTypesAndAnnotations(i,o)}return new Array(t.length).fill(void 0)},t.prototype.parameters=function(t){if(!P(t))return[];var e=O(t),n=this._ownParameters(t,e);return n||e===Object||(n=this.parameters(e)),n||[]},t.prototype._ownAnnotations=function(t,e){if(t.annotations&&t.annotations!==e.annotations){var n=t.annotations;return"function"==typeof n&&n.annotations&&(n=n.annotations),n}return t.decorators&&t.decorators!==e.decorators?A(t.decorators):this._reflect&&this._reflect.getOwnMetadata?this._reflect.getOwnMetadata("annotations",t):void 0},t.prototype.annotations=function(t){if(!P(t))return[];var e=O(t),n=this._ownAnnotations(t,e)||[],r=e!==Object?this.annotations(e):[];return r.concat(n)},t.prototype._ownPropMetadata=function(t,e){if(t.propMetadata&&t.propMetadata!==e.propMetadata){var n=t.propMetadata;return"function"==typeof n&&n.propMetadata&&(n=n.propMetadata),n}if(t.propDecorators&&t.propDecorators!==e.propDecorators){var r=t.propDecorators,i={};return Object.keys(r).forEach(function(t){i[t]=A(r[t])}),i}return this._reflect&&this._reflect.getOwnMetadata?this._reflect.getOwnMetadata("propMetadata",t):void 0},t.prototype.propMetadata=function(t){if(!P(t))return{};var e=O(t),n={};if(e!==Object){var r=this.propMetadata(e);Object.keys(r).forEach(function(t){n[t]=r[t]})}var i=this._ownPropMetadata(t,e);return i&&Object.keys(i).forEach(function(t){var e=[];n.hasOwnProperty(t)&&e.push.apply(e,n[t]),e.push.apply(e,i[t]),n[t]=e}),n},t.prototype.hasLifecycleHook=function(t,e){return t instanceof En&&e in t.prototype},t.prototype.getter=function(t){return new Function("o","return o."+t+";")},t.prototype.setter=function(t){return new Function("o","v","return o."+t+" = v;")},t.prototype.method=function(t){var e="if (!o."+t+") throw new Error('\""+t+"\" is undefined');\n        return o."+t+".apply(o, args);";return new Function("o","args",e)},t.prototype.importUri=function(t){return"object"==typeof t&&t.filePath?t.filePath:"./"+u(t)},t.prototype.resolveIdentifier=function(t,e,n){return n},t.prototype.resolveEnum=function(t,e){return t[e]},t}(),xn=function(){function t(){}return t.prototype.parameters=function(){},t.prototype.annotations=function(){},t.prototype.propMetadata=function(){},t.prototype.importUri=function(){},t.prototype.resolveIdentifier=function(){},t.prototype.resolveEnum=function(){},t}(),Tn=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Pn=function(t){function e(e){t.call(this),this.reflectionCapabilities=e}return Tn(e,t),e.prototype.updateCapabilities=function(t){this.reflectionCapabilities=t},e.prototype.factory=function(t){return this.reflectionCapabilities.factory(t)},e.prototype.parameters=function(t){return this.reflectionCapabilities.parameters(t)},e.prototype.annotations=function(t){return this.reflectionCapabilities.annotations(t)},e.prototype.propMetadata=function(t){return this.reflectionCapabilities.propMetadata(t)},e.prototype.hasLifecycleHook=function(t,e){return this.reflectionCapabilities.hasLifecycleHook(t,e)},e.prototype.getter=function(t){return this.reflectionCapabilities.getter(t)},e.prototype.setter=function(t){return this.reflectionCapabilities.setter(t)},e.prototype.method=function(t){return this.reflectionCapabilities.method(t)},e.prototype.importUri=function(t){return this.reflectionCapabilities.importUri(t)},e.prototype.resolveIdentifier=function(t,e,n){return this.reflectionCapabilities.resolveIdentifier(t,e,n)},e.prototype.resolveEnum=function(t,e){return this.reflectionCapabilities.resolveEnum(t,e)},e}(xn),An=new Pn(new Cn),On=function(){function t(t,e,n){this.key=t,this.optional=e,this.visibility=n}return t.fromKey=function(e){return new t(e,!1,null)},t}(),Mn=[],Rn=function(){function t(t,e,n){this.key=t,this.resolvedFactories=e,this.multiProvider=n}return Object.defineProperty(t.prototype,"resolvedFactory",{get:function(){return this.resolvedFactories[0]},enumerable:!0,configurable:!0}),t}(),kn=function(){function t(t,e){this.factory=t,this.dependencies=e}return t}(),Nn=new Object,In=function(){function t(){}return t.resolve=function(t){return k(t)},t.resolveAndCreate=function(e,n){void 0===n&&(n=null);var r=t.resolve(e);return t.fromResolvedProviders(r,n)},t.fromResolvedProviders=function(t,e){return void 0===e&&(e=null),new Dn(t,e)},t.prototype.parent=function(){},t.prototype.resolveAndCreateChild=function(){},t.prototype.createChildFromResolved=function(){},t.prototype.resolveAndInstantiate=function(){},t.prototype.instantiateResolved=function(){},t.prototype.get=function(){},t}(),Dn=function(){function t(t,e){void 0===e&&(e=null),this._constructionCounter=0,this._providers=t,this._parent=e;var n=t.length;this.keyIds=new Array(n),this.objs=new Array(n);for(var r=0;n>r;r++)this.keyIds[r]=t[r].key.id,this.objs[r]=Nn}return t.prototype.get=function(t,e){return void 0===e&&(e=rn),this._getByKey(_n.get(t),null,e)},Object.defineProperty(t.prototype,"parent",{get:function(){return this._parent},enumerable:!0,configurable:!0}),t.prototype.resolveAndCreateChild=function(t){var e=In.resolve(t);return this.createChildFromResolved(e)},t.prototype.createChildFromResolved=function(e){var n=new t(e);return n._parent=this,n},t.prototype.resolveAndInstantiate=function(t){return this.instantiateResolved(In.resolve([t])[0])},t.prototype.instantiateResolved=function(t){return this._instantiateProvider(t)},t.prototype.getProviderAtIndex=function(t){if(0>t||t>=this._providers.length)throw new vn(t);return this._providers[t]},t.prototype._new=function(t){if(this._constructionCounter++>this._getMaxNumberOfObjects())throw new fn(this,t.key);return this._instantiateProvider(t)},t.prototype._getMaxNumberOfObjects=function(){return this.objs.length},t.prototype._instantiateProvider=function(t){if(t.multiProvider){for(var e=new Array(t.resolvedFactories.length),n=0;n<t.resolvedFactories.length;++n)e[n]=this._instantiate(t,t.resolvedFactories[n]);return e}return this._instantiate(t,t.resolvedFactories[0])},t.prototype._instantiate=function(t,e){var n,r=this,i=e.factory;try{n=e.dependencies.map(function(t){return r._getByReflectiveDependency(t)})}catch(o){throw(o instanceof ln||o instanceof dn)&&o.addKey(this,t.key),o}var s;try{s=i.apply(void 0,n)}catch(o){throw new dn(this,o,o.stack,t.key)}return s},t.prototype._getByReflectiveDependency=function(t){return this._getByKey(t.key,t.visibility,t.optional?null:rn)},t.prototype._getByKey=function(t,e,n){return t===jn?this:e instanceof _e?this._getByKeySelf(t,n):this._getByKeyDefault(t,n,e)},t.prototype._getObjByKeyId=function(t){for(var e=0;e<this.keyIds.length;e++)if(this.keyIds[e]===t)return this.objs[e]===Nn&&(this.objs[e]=this._new(this._providers[e])),this.objs[e];return Nn},t.prototype._throwOrNull=function(t,e){if(e!==rn)return e;throw new hn(this,t)},t.prototype._getByKeySelf=function(t,e){var n=this._getObjByKeyId(t.id);return n!==Nn?n:this._throwOrNull(t,e)},t.prototype._getByKeyDefault=function(e,n,r){var i;for(i=r instanceof be?this._parent:this;i instanceof t;){var o=i,s=o._getObjByKeyId(e.id);if(s!==Nn)return s;i=o._parent}return null!==i?i.get(e.token,n):this._throwOrNull(e,n)},Object.defineProperty(t.prototype,"displayName",{get:function(){var t=F(this,function(t){return' "'+t.key.displayName+'" '}).join(", ");return"ReflectiveInjector(providers: ["+t+"])"},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return this.displayName},t}(),jn=_n.get(sn),Ln=function(){function t(t){void 0===t&&(t=!0),this._console=console,this.rethrowError=t}return t.prototype.handleError=function(t){var e=this._findOriginalError(t),n=this._findOriginalStack(t),r=this._findContext(t);if(this._console.error("EXCEPTION: "+this._extractMessage(t)),e&&this._console.error("ORIGINAL EXCEPTION: "+this._extractMessage(e)),n&&(this._console.error("ORIGINAL STACKTRACE:"),this._console.error(n)),r&&(this._console.error("ERROR CONTEXT:"),this._console.error(r)),this.rethrowError)throw t},t.prototype._extractMessage=function(t){return t instanceof Error?t.message:t.toString()},t.prototype._findContext=function(t){return t?t.context?t.context:this._findContext(t.originalError):null},t.prototype._findOriginalError=function(t){for(var e=t.originalError;e&&e.originalError;)e=e.originalError;return e},t.prototype._findOriginalStack=function(t){if(!(t instanceof Error))return null;for(var e=t,n=e.stack;e instanceof Error&&e.originalError;)e=e.originalError,e instanceof Error&&e.stack&&(n=e.stack);return n},t}(),Vn=function(){function t(){}return t.merge=function(t,e){for(var n={},r=0,i=Object.keys(t);r<i.length;r++){var o=i[r];n[o]=t[o]}for(var s=0,a=Object.keys(e);s<a.length;s++){var o=a[s];n[o]=e[o]}return n},t.equals=function(t,e){var n=Object.keys(t),r=Object.keys(e);if(n.length!=r.length)return!1;for(var i=0;i<n.length;i++){var o=n[i];if(t[o]!==e[o])return!1}return!0},t}(),Fn=function(){function t(){}return t.findLast=function(t,e){for(var n=t.length-1;n>=0;n--)if(e(t[n]))return t[n];return null},t.removeAll=function(t,e){for(var n=0;n<e.length;++n){var r=t.indexOf(e[n]);r>-1&&t.splice(r,1)}},t.remove=function(t,e){var n=t.indexOf(e);return n>-1?(t.splice(n,1),!0):!1},t.equals=function(t,e){if(t.length!=e.length)return!1;for(var n=0;n<t.length;++n)if(t[n]!==e[n])return!1;return!0},t.flatten=function(e){return e.reduce(function(e,n){var r=Array.isArray(n)?t.flatten(n):n;return e.concat(r)},[])},t}(),Un=new Ee("Application Initializer"),Bn=function(){function t(t){var e=this;this._done=!1;var n=[];if(t)for(var r=0;r<t.length;r++){var i=t[r]();q(i)&&n.push(i)}this._donePromise=Promise.all(n).then(function(){e._done=!0}),0===n.length&&(this._done=!0)}return Object.defineProperty(t.prototype,"done",{get:function(){return this._done},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"donePromise",{get:function(){return this._donePromise},enumerable:!0,configurable:!0}),t.decorators=[{type:ge}],t.ctorParameters=function(){return[{type:Array,decorators:[{type:me,args:[Un]},{type:ve}]}]},t}(),Hn=new Ee("AppId"),qn={provide:Hn,useFactory:W,deps:[]},zn=new Ee("Platform Initializer"),Wn=new Ee("appBootstrapListener"),Gn=new Ee("Application Packages Root URL"),Kn=function(){function t(){}return t.prototype.log=function(t){l(t)},t.prototype.warn=function(t){h(t)},t.decorators=[{type:ge}],t.ctorParameters=function(){return[]},t}(),Xn=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Qn=function(t){function e(e){t.call(this,"Can't compile synchronously as "+u(e)+" is still being loaded!"),this.compType=e}return Xn(e,t),e}(un),Yn=function(){function t(t,e){this.ngModuleFactory=t,this.componentFactories=e}return t}(),$n=function(){function t(){}return t.prototype.compileModuleSync=function(){throw K()},t.prototype.compileModuleAsync=function(){throw K()},t.prototype.compileModuleAndAllComponentsSync=function(){throw K()},t.prototype.compileModuleAndAllComponentsAsync=function(){throw K()},t.prototype.getNgContentSelectors=function(){throw K()},t.prototype.clearCache=function(){},t.prototype.clearCacheFor=function(){},t.decorators=[{type:ge}],t.ctorParameters=function(){return[]},t}(),Zn=new Ee("compilerOptions"),Jn=function(){function t(){}return t.prototype.createCompiler=function(){},t}(),tr=function(){function t(t){this.nativeElement=t}return t}(),er=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},nr=function(t){function e(e){void 0===e&&(e=!1),t.call(this),this.__isAsync=e}return er(e,t),e.prototype.emit=function(e){t.prototype.next.call(this,e)},e.prototype.subscribe=function(e,n,r){var i,o=function(){return null},s=function(){return null};return e&&"object"==typeof e?(i=this.__isAsync?function(t){setTimeout(function(){return e.next(t)})}:function(t){e.next(t)},e.error&&(o=this.__isAsync?function(t){setTimeout(function(){return e.error(t)})}:function(t){e.error(t)}),e.complete&&(s=this.__isAsync?function(){setTimeout(function(){return e.complete()})}:function(){e.complete()})):(i=this.__isAsync?function(t){setTimeout(function(){return e(t)})}:function(t){e(t)},n&&(o=this.__isAsync?function(t){setTimeout(function(){return n(t)})}:function(t){n(t)}),r&&(s=this.__isAsync?function(){setTimeout(function(){return r()})}:function(){r()})),t.prototype.subscribe.call(this,i,o,s)},e}(n.Subject),rr=function(){function t(t){var e=t.enableLongStackTrace,n=void 0===e?!1:e;if(this._hasPendingMicrotasks=!1,this._hasPendingMacrotasks=!1,this._isStable=!0,this._nesting=0,this._onUnstable=new nr(!1),this._onMicrotaskEmpty=new nr(!1),this._onStable=new nr(!1),this._onErrorEvents=new nr(!1),"undefined"==typeof Zone)throw new Error("Angular requires Zone.js prolyfill.");Zone.assertZonePatched(),this.outer=this.inner=Zone.current,Zone.wtfZoneSpec&&(this.inner=this.inner.fork(Zone.wtfZoneSpec)),n&&Zone.longStackTraceZoneSpec&&(this.inner=this.inner.fork(Zone.longStackTraceZoneSpec)),this.forkInnerZoneWithAngularBehavior()}return t.isInAngularZone=function(){return Zone.current.get("isAngularZone")===!0},t.assertInAngularZone=function(){if(!t.isInAngularZone())throw new Error("Expected to be in Angular Zone, but it is not!")},t.assertNotInAngularZone=function(){if(t.isInAngularZone())throw new Error("Expected to not be in Angular Zone, but it is!")},t.prototype.run=function(t){return this.inner.run(t)},t.prototype.runGuarded=function(t){return this.inner.runGuarded(t)},t.prototype.runOutsideAngular=function(t){return this.outer.run(t)},Object.defineProperty(t.prototype,"onUnstable",{get:function(){return this._onUnstable},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"onMicrotaskEmpty",{get:function(){return this._onMicrotaskEmpty},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"onStable",{get:function(){return this._onStable},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"onError",{get:function(){return this._onErrorEvents},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isStable",{get:function(){return this._isStable},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hasPendingMicrotasks",{get:function(){return this._hasPendingMicrotasks},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"hasPendingMacrotasks",{get:function(){return this._hasPendingMacrotasks},enumerable:!0,configurable:!0}),t.prototype.checkStable=function(){var t=this;if(0==this._nesting&&!this._hasPendingMicrotasks&&!this._isStable)try{this._nesting++,this._onMicrotaskEmpty.emit(null)}finally{if(this._nesting--,!this._hasPendingMicrotasks)try{this.runOutsideAngular(function(){return t._onStable.emit(null)})}finally{this._isStable=!0}}},t.prototype.forkInnerZoneWithAngularBehavior=function(){var t=this;this.inner=this.inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:function(e,n,r,i,o,s){try{return t.onEnter(),e.invokeTask(r,i,o,s)}finally{t.onLeave()}},onInvoke:function(e,n,r,i,o,s,a){try{return t.onEnter(),e.invoke(r,i,o,s,a)}finally{t.onLeave()}},onHasTask:function(e,n,r,i){e.hasTask(r,i),n===r&&("microTask"==i.change?t.setHasMicrotask(i.microTask):"macroTask"==i.change&&t.setHasMacrotask(i.macroTask))},onHandleError:function(e,n,r,i){return e.handleError(r,i),t.triggerError(i),!1}})},t.prototype.onEnter=function(){this._nesting++,this._isStable&&(this._isStable=!1,this._onUnstable.emit(null))},t.prototype.onLeave=function(){this._nesting--,this.checkStable()},t.prototype.setHasMicrotask=function(t){this._hasPendingMicrotasks=t,this.checkStable()},t.prototype.setHasMacrotask=function(t){this._hasPendingMacrotasks=t},t.prototype.triggerError=function(t){this._onErrorEvents.emit(t)},t}(),ir=function(){function t(t){this._zone=t,this.entries=[]}return t.prototype.enqueue=function(t){this.entries.push(t)},t.prototype.flush=function(){var t=this;this.entries.length&&this._zone.runOutsideAngular(function(){Promise.resolve(null).then(function(){return t._triggerAnimations()})})},t.prototype._triggerAnimations=function(){for(rr.assertNotInAngularZone();this.entries.length;){var t=this.entries.shift();t.hasStarted()||t.play()}},t.decorators=[{type:ge}],t.ctorParameters=function(){return[{type:rr}]},t}(),or=function(){function t(){}return t.prototype.supports=function(t){return U(t)},t.prototype.create=function(t,e){return new ar(e)},t}(),sr=function(t,e){return e},ar=function(){function t(t){this._trackByFn=t,this._length=null,this._collection=null,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=this._trackByFn||sr}return Object.defineProperty(t.prototype,"collection",{get:function(){return this._collection},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"length",{get:function(){return this._length},enumerable:!0,configurable:!0}),t.prototype.forEachItem=function(t){var e;for(e=this._itHead;null!==e;e=e._next)t(e)},t.prototype.forEachOperation=function(t){for(var e=this._itHead,n=this._removalsHead,r=0,i=null;e||n;){var o=!n||e&&e.currentIndex<X(n,r,i)?e:n,s=X(o,r,i),a=o.currentIndex;if(o===n)r--,n=n._nextRemoved;else if(e=e._next,null==o.previousIndex)r++;else{i||(i=[]);var u=s-r,c=a-r;if(u!=c){for(var p=0;u>p;p++){var l=p<i.length?i[p]:i[p]=0,h=l+p;h>=c&&u>h&&(i[p]=l+1)}var f=o.previousIndex;i[f]=c-u}}s!==a&&t(o,s,a)}},t.prototype.forEachPreviousItem=function(t){var e;for(e=this._previousItHead;null!==e;e=e._nextPrevious)t(e)},t.prototype.forEachAddedItem=function(t){var e;for(e=this._additionsHead;null!==e;e=e._nextAdded)t(e)},t.prototype.forEachMovedItem=function(t){var e;for(e=this._movesHead;null!==e;e=e._nextMoved)t(e)},t.prototype.forEachRemovedItem=function(t){var e;for(e=this._removalsHead;null!==e;e=e._nextRemoved)t(e)},t.prototype.forEachIdentityChange=function(t){var e;for(e=this._identityChangesHead;null!==e;e=e._nextIdentityChange)t(e)},t.prototype.diff=function(t){if(a(t)&&(t=[]),!U(t))throw new Error("Error trying to diff '"+t+"'");return this.check(t)?this:null},t.prototype.onDestroy=function(){},t.prototype.check=function(t){var e=this;this._reset();var n,r,i,o=this._itHead,s=!1;if(Array.isArray(t)){var a=t;this._length=t.length;for(var u=0;u<this._length;u++)r=a[u],i=this._trackByFn(u,r),null!==o&&c(o.trackById,i)?(s&&(o=this._verifyReinsertion(o,r,i,u)),c(o.item,r)||this._addIdentityChange(o,r)):(o=this._mismatch(o,r,i,u),s=!0),o=o._next}else n=0,H(t,function(t){i=e._trackByFn(n,t),null!==o&&c(o.trackById,i)?(s&&(o=e._verifyReinsertion(o,t,i,n)),c(o.item,t)||e._addIdentityChange(o,t)):(o=e._mismatch(o,t,i,n),s=!0),o=o._next,n++}),this._length=n;return this._truncate(o),this._collection=t,this.isDirty},Object.defineProperty(t.prototype,"isDirty",{get:function(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead},enumerable:!0,configurable:!0}),t.prototype._reset=function(){if(this.isDirty){var t=void 0,e=void 0;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=e)t.previousIndex=t.currentIndex,e=t._nextMoved;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}},t.prototype._mismatch=function(t,e,n,r){var i;return null===t?i=this._itTail:(i=t._prev,this._remove(t)),t=null===this._linkedRecords?null:this._linkedRecords.get(n,r),null!==t?(c(t.item,e)||this._addIdentityChange(t,e),this._moveAfter(t,i,r)):(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n),null!==t?(c(t.item,e)||this._addIdentityChange(t,e),this._reinsertAfter(t,i,r)):t=this._addAfter(new ur(e,n),i,r)),t},t.prototype._verifyReinsertion=function(t,e,n,r){var i=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n);return null!==i?t=this._reinsertAfter(i,t._prev,r):t.currentIndex!=r&&(t.currentIndex=r,this._addToMoves(t,r)),t},t.prototype._truncate=function(t){for(;null!==t;){var e=t._next;this._addToRemovals(this._unlink(t)),t=e}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)},t.prototype._reinsertAfter=function(t,e,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);var r=t._prevRemoved,i=t._nextRemoved;return null===r?this._removalsHead=i:r._nextRemoved=i,null===i?this._removalsTail=r:i._prevRemoved=r,this._insertAfter(t,e,n),this._addToMoves(t,n),t},t.prototype._moveAfter=function(t,e,n){return this._unlink(t),this._insertAfter(t,e,n),this._addToMoves(t,n),t},t.prototype._addAfter=function(t,e,n){return this._insertAfter(t,e,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t},t.prototype._insertAfter=function(t,e,n){var r=null===e?this._itHead:e._next;return t._next=r,t._prev=e,null===r?this._itTail=t:r._prev=t,null===e?this._itHead=t:e._next=t,null===this._linkedRecords&&(this._linkedRecords=new pr),this._linkedRecords.put(t),t.currentIndex=n,t},t.prototype._remove=function(t){return this._addToRemovals(this._unlink(t))},t.prototype._unlink=function(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);var e=t._prev,n=t._next;return null===e?this._itHead=n:e._next=n,null===n?this._itTail=e:n._prev=e,t},t.prototype._addToMoves=function(t,e){return t.previousIndex===e?t:(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t,t)},t.prototype._addToRemovals=function(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new pr),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t},t.prototype._addIdentityChange=function(t,e){return t.item=e,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t},t.prototype.toString=function(){var t=[];this.forEachItem(function(e){return t.push(e)});var e=[];this.forEachPreviousItem(function(t){return e.push(t)});var n=[];this.forEachAddedItem(function(t){return n.push(t)});var r=[];this.forEachMovedItem(function(t){return r.push(t)});var i=[];this.forEachRemovedItem(function(t){return i.push(t)});var o=[];return this.forEachIdentityChange(function(t){return o.push(t)}),"collection: "+t.join(", ")+"\nprevious: "+e.join(", ")+"\nadditions: "+n.join(", ")+"\nmoves: "+r.join(", ")+"\nremovals: "+i.join(", ")+"\nidentityChanges: "+o.join(", ")+"\n"},t}(),ur=function(){function t(t,e){this.item=t,this.trackById=e,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}return t.prototype.toString=function(){return this.previousIndex===this.currentIndex?u(this.item):u(this.item)+"["+u(this.previousIndex)+"->"+u(this.currentIndex)+"]"},t}(),cr=function(){function t(){this._head=null,this._tail=null}return t.prototype.add=function(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)},t.prototype.get=function(t,e){var n;for(n=this._head;null!==n;n=n._nextDup)if((null===e||e<n.currentIndex)&&c(n.trackById,t))return n;return null},t.prototype.remove=function(t){var e=t._prevDup,n=t._nextDup;return null===e?this._head=n:e._nextDup=n,null===n?this._tail=e:n._prevDup=e,null===this._head},t}(),pr=function(){function t(){this.map=new Map}return t.prototype.put=function(t){var e=t.trackById,n=this.map.get(e);n||(n=new cr,this.map.set(e,n)),n.add(t)},t.prototype.get=function(t,e){void 0===e&&(e=null);var n=t,r=this.map.get(n);return r?r.get(t,e):null},t.prototype.remove=function(t){var e=t.trackById,n=this.map.get(e);return n.remove(t)&&this.map["delete"](e),t},Object.defineProperty(t.prototype,"isEmpty",{get:function(){return 0===this.map.size},enumerable:!0,configurable:!0}),t.prototype.clear=function(){this.map.clear()},t.prototype.toString=function(){return"_DuplicateMap("+u(this.map)+")"},t}(),lr=function(){function t(){}return t.prototype.supports=function(t){return t instanceof Map||p(t)},t.prototype.create=function(){return new hr},t}(),hr=function(){function t(){this._records=new Map,this._mapHead=null,this._previousMapHead=null,this._changesHead=null,this._changesTail=null,this._additionsHead=null,this._additionsTail=null,this._removalsHead=null,this._removalsTail=null}return Object.defineProperty(t.prototype,"isDirty",{get:function(){return null!==this._additionsHead||null!==this._changesHead||null!==this._removalsHead},enumerable:!0,configurable:!0}),t.prototype.forEachItem=function(t){
+var e;for(e=this._mapHead;null!==e;e=e._next)t(e)},t.prototype.forEachPreviousItem=function(t){var e;for(e=this._previousMapHead;null!==e;e=e._nextPrevious)t(e)},t.prototype.forEachChangedItem=function(t){var e;for(e=this._changesHead;null!==e;e=e._nextChanged)t(e)},t.prototype.forEachAddedItem=function(t){var e;for(e=this._additionsHead;null!==e;e=e._nextAdded)t(e)},t.prototype.forEachRemovedItem=function(t){var e;for(e=this._removalsHead;null!==e;e=e._nextRemoved)t(e)},t.prototype.diff=function(t){if(t){if(!(t instanceof Map||p(t)))throw new Error("Error trying to diff '"+t+"'")}else t=new Map;return this.check(t)?this:null},t.prototype.onDestroy=function(){},t.prototype.check=function(t){var e=this;this._reset();var n=this._records,r=this._mapHead,i=null,o=null,s=!1;return this._forEach(t,function(t,a){var u;r&&a===r.key?(u=r,e._maybeAddToChanges(u,t)):(s=!0,null!==r&&(e._removeFromSeq(i,r),e._addToRemovals(r)),n.has(a)?(u=n.get(a),e._maybeAddToChanges(u,t)):(u=new fr(a),n.set(a,u),u.currentValue=t,e._addToAdditions(u))),s&&(e._isInRemovals(u)&&e._removeFromRemovals(u),null==o?e._mapHead=u:o._next=u),i=r,o=u,r=r&&r._next}),this._truncate(i,r),this.isDirty},t.prototype._reset=function(){if(this.isDirty){var t=void 0;for(t=this._previousMapHead=this._mapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=this._removalsTail=null}},t.prototype._truncate=function(t,e){for(;null!==e;){null===t?this._mapHead=null:t._next=null;var n=e._next;this._addToRemovals(e),t=e,e=n}for(var r=this._removalsHead;null!==r;r=r._nextRemoved)r.previousValue=r.currentValue,r.currentValue=null,this._records["delete"](r.key)},t.prototype._maybeAddToChanges=function(t,e){c(e,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=e,this._addToChanges(t))},t.prototype._isInRemovals=function(t){return t===this._removalsHead||null!==t._nextRemoved||null!==t._prevRemoved},t.prototype._addToRemovals=function(t){null===this._removalsHead?this._removalsHead=this._removalsTail=t:(this._removalsTail._nextRemoved=t,t._prevRemoved=this._removalsTail,this._removalsTail=t)},t.prototype._removeFromSeq=function(t,e){var n=e._next;null===t?this._mapHead=n:t._next=n,e._next=null},t.prototype._removeFromRemovals=function(t){var e=t._prevRemoved,n=t._nextRemoved;null===e?this._removalsHead=n:e._nextRemoved=n,null===n?this._removalsTail=e:n._prevRemoved=e,t._prevRemoved=t._nextRemoved=null},t.prototype._addToAdditions=function(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)},t.prototype._addToChanges=function(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)},t.prototype.toString=function(){var t,e=[],n=[],r=[],i=[],o=[];for(t=this._mapHead;null!==t;t=t._next)e.push(u(t));for(t=this._previousMapHead;null!==t;t=t._nextPrevious)n.push(u(t));for(t=this._changesHead;null!==t;t=t._nextChanged)r.push(u(t));for(t=this._additionsHead;null!==t;t=t._nextAdded)i.push(u(t));for(t=this._removalsHead;null!==t;t=t._nextRemoved)o.push(u(t));return"map: "+e.join(", ")+"\nprevious: "+n.join(", ")+"\nadditions: "+i.join(", ")+"\nchanges: "+r.join(", ")+"\nremovals: "+o.join(", ")+"\n"},t.prototype._forEach=function(t,e){t instanceof Map?t.forEach(e):Object.keys(t).forEach(function(n){return e(t[n],n)})},t}(),fr=function(){function t(t){this.key=t,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._nextAdded=null,this._nextRemoved=null,this._prevRemoved=null,this._nextChanged=null}return t.prototype.toString=function(){return c(this.previousValue,this.currentValue)?u(this.key):u(this.key)+"["+u(this.previousValue)+"->"+u(this.currentValue)+"]"},t}(),dr=function(){function t(t){this.factories=t}return t.create=function(e,n){if(s(n)){var r=n.factories.slice();return e=e.concat(r),new t(e)}return new t(e)},t.extend=function(e){return{provide:t,useFactory:function(n){if(!n)throw new Error("Cannot extend IterableDiffers without a parent injector");return t.create(e,n)},deps:[[t,new be,new ve]]}},t.prototype.find=function(t){var e=this.factories.find(function(e){return e.supports(t)});if(s(e))return e;throw new Error("Cannot find a differ supporting object '"+t+"' of type '"+o(t)+"'")},t}(),yr=function(){function t(t){this.factories=t}return t.create=function(e,n){if(s(n)){var r=n.factories.slice();return e=e.concat(r),new t(e)}return new t(e)},t.extend=function(e){return{provide:t,useFactory:function(n){if(!n)throw new Error("Cannot extend KeyValueDiffers without a parent injector");return t.create(e,n)},deps:[[t,new be,new ve]]}},t.prototype.find=function(t){var e=this.factories.find(function(e){return e.supports(t)});if(s(e))return e;throw new Error("Cannot find a differ supporting object '"+t+"'")},t}(),mr={toString:function(){return"CD_INIT_VALUE"}},vr=function(){function t(t){this.wrapped=t}return t.wrap=function(e){return new t(e)},t}(),gr=function(){function t(){this.hasWrappedValue=!1}return t.prototype.unwrap=function(t){return t instanceof vr?(this.hasWrappedValue=!0,t.wrapped):t},t.prototype.reset=function(){this.hasWrappedValue=!1},t}(),_r=function(){function t(t,e){this.previousValue=t,this.currentValue=e}return t.prototype.isFirstChange=function(){return this.previousValue===mr},t}(),br=function(){function t(){}return t.prototype.markForCheck=function(){},t.prototype.detach=function(){},t.prototype.detectChanges=function(){},t.prototype.checkNoChanges=function(){},t.prototype.reattach=function(){},t}(),wr=[new lr],Er=[new or],Sr=new dr(Er),Cr=new yr(wr),xr=function(){function t(t,e,n,r,i,o){this.id=t,this.templateUrl=e,this.slotCount=n,this.encapsulation=r,this.styles=i,this.animations=o}return t}(),Tr=function(){function t(){}return t.prototype.injector=function(){},t.prototype.component=function(){},t.prototype.providerTokens=function(){},t.prototype.references=function(){},t.prototype.context=function(){},t.prototype.source=function(){},t}(),Pr=function(){function t(){}return t.prototype.selectRootElement=function(){},t.prototype.createElement=function(){},t.prototype.createViewRoot=function(){},t.prototype.createTemplateAnchor=function(){},t.prototype.createText=function(){},t.prototype.projectNodes=function(){},t.prototype.attachViewAfter=function(){},t.prototype.detachView=function(){},t.prototype.destroyView=function(){},t.prototype.listen=function(){},t.prototype.listenGlobal=function(){},t.prototype.setElementProperty=function(){},t.prototype.setElementAttribute=function(){},t.prototype.setBindingDebugInfo=function(){},t.prototype.setElementClass=function(){},t.prototype.setElementStyle=function(){},t.prototype.invokeElementMethod=function(){},t.prototype.setText=function(){},t.prototype.animate=function(){},t}(),Ar=function(){function t(){}return t.prototype.renderComponent=function(){},t}(),Or={};Or.NONE=0,Or.HTML=1,Or.STYLE=2,Or.SCRIPT=3,Or.URL=4,Or.RESOURCE_URL=5,Or[Or.NONE]="NONE",Or[Or.HTML]="HTML",Or[Or.STYLE]="STYLE",Or[Or.SCRIPT]="SCRIPT",Or[Or.URL]="URL",Or[Or.RESOURCE_URL]="RESOURCE_URL";var Mr,Rr,kr,Nr=function(){function t(){}return t.prototype.sanitize=function(){},t}(),Ir=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Dr=function(t){function e(e,n){var r="Expression has changed after it was checked. Previous value: '"+e+"'. Current value: '"+n+"'.";e===mr&&(r+=" It seems like the view has been created after its parent and its children have been dirty checked. Has it been created in a change detection hook ?"),t.call(this,r)}return Ir(e,t),e}(un),jr=function(t){function e(e,n){t.call(this,"Error in "+n.source,e),this.context=n}return Ir(e,t),e}(cn),Lr=function(t){function e(e){t.call(this,"Attempt to use a destroyed view: "+e)}return Ir(e,t),e}(un),Vr=function(){function t(t,e,n){this._renderer=t,this.animationQueue=n,this.sanitizer=e}return t.prototype.renderComponent=function(t){return this._renderer.renderComponent(t)},t.decorators=[{type:ge}],t.ctorParameters=function(){return[{type:Ar},{type:Nr},{type:ir}]},t}(),Fr=0,Ur=[],Br={},Hr=/([A-Z])/g,qr=function(){function t(){this.length=0}return t.prototype.get=function(){return void 0},t.prototype.set=function(){},t}(),zr=function(){function t(t,e,n){this.length=t,this._v0=e,this._v1=n}return t.prototype.get=function(t){switch(t){case 0:return this._v0;case 1:return this._v1;default:return void 0}},t.prototype.set=function(t,e){switch(t){case 0:this._v0=e;break;case 1:this._v1=e}},t}(),Wr=function(){function t(t,e,n,r,i){this.length=t,this._v0=e,this._v1=n,this._v2=r,this._v3=i}return t.prototype.get=function(t){switch(t){case 0:return this._v0;case 1:return this._v1;case 2:return this._v2;case 3:return this._v3;default:return void 0}},t.prototype.set=function(t,e){switch(t){case 0:this._v0=e;break;case 1:this._v1=e;break;case 2:this._v2=e;break;case 3:this._v3=e}},t}(),Gr=function(){function t(t,e,n,r,i,o,s,a,u){this.length=t,this._v0=e,this._v1=n,this._v2=r,this._v3=i,this._v4=o,this._v5=s,this._v6=a,this._v7=u}return t.prototype.get=function(t){switch(t){case 0:return this._v0;case 1:return this._v1;case 2:return this._v2;case 3:return this._v3;case 4:return this._v4;case 5:return this._v5;case 6:return this._v6;case 7:return this._v7;default:return void 0}},t.prototype.set=function(t,e){switch(t){case 0:this._v0=e;break;case 1:this._v1=e;break;case 2:this._v2=e;break;case 3:this._v3=e;break;case 4:this._v4=e;break;case 5:this._v5=e;break;case 6:this._v6=e;break;case 7:this._v7=e}},t}(),Kr=function(){function t(t,e,n,r,i,o,s,a,u,c,p,l,h,f,d,y,m){this.length=t,this._v0=e,this._v1=n,this._v2=r,this._v3=i,this._v4=o,this._v5=s,this._v6=a,this._v7=u,this._v8=c,this._v9=p,this._v10=l,this._v11=h,this._v12=f,this._v13=d,this._v14=y,this._v15=m}return t.prototype.get=function(t){switch(t){case 0:return this._v0;case 1:return this._v1;case 2:return this._v2;case 3:return this._v3;case 4:return this._v4;case 5:return this._v5;case 6:return this._v6;case 7:return this._v7;case 8:return this._v8;case 9:return this._v9;case 10:return this._v10;case 11:return this._v11;case 12:return this._v12;case 13:return this._v13;case 14:return this._v14;case 15:return this._v15;default:return void 0}},t.prototype.set=function(t,e){switch(t){case 0:this._v0=e;break;case 1:this._v1=e;break;case 2:this._v2=e;break;case 3:this._v3=e;break;case 4:this._v4=e;break;case 5:this._v5=e;break;case 6:this._v6=e;break;case 7:this._v7=e;break;case 8:this._v8=e;break;case 9:this._v9=e;break;case 10:this._v10=e;break;case 11:this._v11=e;break;case 12:this._v12=e;break;case 13:this._v13=e;break;case 14:this._v14=e;break;case 15:this._v15=e}},t}(),Xr=function(){function t(t){for(var e=[],n=1;n<arguments.length;n++)e[n-1]=arguments[n];this.length=t,this._values=e}return t.prototype.get=function(t){return this._values[t]},t.prototype.set=function(t,e){this._values[t]=e},t}(),Qr=new qr,Yr=Object.freeze({ViewUtils:Vr,createRenderComponentType:Y,addToArray:$,interpolate:Z,inlineInterpolate:J,checkBinding:et,castByValue:nt,EMPTY_ARRAY:Ur,EMPTY_MAP:Br,pureProxy1:rt,pureProxy2:it,pureProxy3:ot,pureProxy4:st,pureProxy5:at,pureProxy6:ut,pureProxy7:ct,pureProxy8:pt,pureProxy9:lt,pureProxy10:ht,setBindingDebugInfoForChanges:ft,setBindingDebugInfo:dt,createRenderElement:mt,selectOrCreateRenderHostElement:vt,subscribeToRenderElement:gt,noop:bt,InlineArray2:zr,InlineArray4:Wr,InlineArray8:Gr,InlineArray16:Kr,InlineArrayDynamic:Xr,EMPTY_INLINE_ARRAY:Qr}),$r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Zr=function(){function t(){}return t.prototype.location=function(){},t.prototype.injector=function(){},t.prototype.instance=function(){},t.prototype.hostView=function(){},t.prototype.changeDetectorRef=function(){},t.prototype.componentType=function(){},t.prototype.destroy=function(){},t.prototype.onDestroy=function(){},t}(),Jr=function(t){function e(e,n,r,i){t.call(this),this._index=e,this._parentView=n,this._nativeElement=r,this._component=i}return $r(e,t),Object.defineProperty(e.prototype,"location",{get:function(){return new tr(this._nativeElement)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"injector",{get:function(){return this._parentView.injector(this._index)},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"instance",{get:function(){return this._component},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hostView",{get:function(){return this._parentView.ref},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"changeDetectorRef",{get:function(){return this._parentView.ref},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"componentType",{get:function(){return this._component.constructor},enumerable:!0,configurable:!0}),e.prototype.destroy=function(){this._parentView.detachAndDestroy()},e.prototype.onDestroy=function(t){this.hostView.onDestroy(t)},e}(Zr),ti=function(){function t(t,e,n){this.selector=t,this._viewClass=e,this._componentType=n}return Object.defineProperty(t.prototype,"componentType",{get:function(){return this._componentType},enumerable:!0,configurable:!0}),t.prototype.create=function(t,e,n){void 0===e&&(e=null),void 0===n&&(n=null);var r=t.get(Vr);e||(e=[]);var i=new this._viewClass(r,null,null,null);return i.createHostView(n,t,e)},t}(),ei=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},ni=function(t){function e(e){t.call(this,"No component factory found for "+u(e)+". Did you add it to @NgModule.entryComponents?"),this.component=e}return ei(e,t),e}(un),ri=function(){function t(){}return t.prototype.resolveComponentFactory=function(t){throw new ni(t)},t}(),ii=function(){function t(){}return t.prototype.resolveComponentFactory=function(){},t.NULL=new ri,t}(),oi=function(){function t(t,e){this._parent=e,this._factories=new Map;for(var n=0;n<t.length;n++){var r=t[n];this._factories.set(r.componentType,r)}}return t.prototype.resolveComponentFactory=function(t){var e=this._factories.get(t);return e||(e=this._parent.resolveComponentFactory(t)),e},t}(),si=Et(),ai=si?St:function(){return Pt},ui=si?Ct:function(t,e){return e},ci=si?xt:function(){return null},pi=si?Tt:function(){return null},li=function(){function t(t){this._ngZone=t,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this._watchAngularEvents()}return t.prototype._watchAngularEvents=function(){var t=this;this._ngZone.onUnstable.subscribe({next:function(){t._didWork=!0,t._isZoneStable=!1}}),this._ngZone.runOutsideAngular(function(){t._ngZone.onStable.subscribe({next:function(){rr.assertNotInAngularZone(),r(function(){t._isZoneStable=!0,t._runCallbacksIfReady()})}})})},t.prototype.increasePendingRequestCount=function(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount},t.prototype.decreasePendingRequestCount=function(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount},t.prototype.isStable=function(){return this._isZoneStable&&0==this._pendingCount&&!this._ngZone.hasPendingMacrotasks},t.prototype._runCallbacksIfReady=function(){var t=this;this.isStable()?r(function(){for(;0!==t._callbacks.length;)t._callbacks.pop()(t._didWork);t._didWork=!1}):this._didWork=!0},t.prototype.whenStable=function(t){this._callbacks.push(t),this._runCallbacksIfReady()},t.prototype.getPendingRequestCount=function(){return this._pendingCount},t.prototype.findBindings=function(){return[]},t.prototype.findProviders=function(){return[]},t.decorators=[{type:ge}],t.ctorParameters=function(){return[{type:rr}]},t}(),hi=function(){function t(){this._applications=new Map,di.addToWindow(this)}return t.prototype.registerApplication=function(t,e){this._applications.set(t,e)},t.prototype.getTestability=function(t){return this._applications.get(t)},t.prototype.getAllTestabilities=function(){return Array.from(this._applications.values())},t.prototype.getAllRootElements=function(){return Array.from(this._applications.keys())},t.prototype.findTestabilityInTree=function(t,e){return void 0===e&&(e=!0),di.findTestabilityInTree(this,t,e)},t.decorators=[{type:ge}],t.ctorParameters=function(){return[]},t}(),fi=function(){function t(){}return t.prototype.addToWindow=function(){},t.prototype.findTestabilityInTree=function(){return null},t}(),di=new fi,yi=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},mi=!0,vi=!1,gi=function(){function t(t,e){this.name=t,this.token=e}return t}(),_i=function(){function t(){}return t.prototype.bootstrapModuleFactory=function(){},t.prototype.bootstrapModule=function(){},t.prototype.onDestroy=function(){},t.prototype.injector=function(){},t.prototype.destroy=function(){},t.prototype.destroyed=function(){},t}(),bi=function(t){function e(e){t.call(this),this._injector=e,this._modules=[],this._destroyListeners=[],this._destroyed=!1}return yi(e,t),e.prototype.onDestroy=function(t){this._destroyListeners.push(t)},Object.defineProperty(e.prototype,"injector",{get:function(){return this._injector},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"destroyed",{get:function(){return this._destroyed},enumerable:!0,configurable:!0}),e.prototype.destroy=function(){if(this._destroyed)throw new Error("The platform has already been destroyed!");this._modules.slice().forEach(function(t){return t.destroy()}),this._destroyListeners.forEach(function(t){return t()}),this._destroyed=!0},e.prototype.bootstrapModuleFactory=function(t){return this._bootstrapModuleFactoryWithZone(t,null)},e.prototype._bootstrapModuleFactoryWithZone=function(t,e){var n=this;return e||(e=new rr({enableLongStackTrace:Mt()})),e.run(function(){var r=In.resolveAndCreate([{provide:rr,useValue:e}],n.injector),i=t.create(r),o=i.injector.get(Ln,null);if(!o)throw new Error("No ErrorHandler. Is platform module (BrowserModule) included?");return i.onDestroy(function(){return Fn.remove(n._modules,i)}),e.onError.subscribe({next:function(t){o.handleError(t)}}),jt(o,function(){var t=i.injector.get(Bn);return t.donePromise.then(function(){return n._moduleDoBootstrap(i),i})})})},e.prototype.bootstrapModule=function(t,e){return void 0===e&&(e=[]),this._bootstrapModuleWithZone(t,e,null)},e.prototype._bootstrapModuleWithZone=function(t,e,n,r){var i=this;void 0===e&&(e=[]);var o=this.injector.get(Jn),s=o.createCompiler(Array.isArray(e)?e:[e]);return r?s.compileModuleAndAllComponentsAsync(t).then(function(t){var e=t.ngModuleFactory,o=t.componentFactories;return r(o),i._bootstrapModuleFactoryWithZone(e,n)}):s.compileModuleAsync(t).then(function(t){return i._bootstrapModuleFactoryWithZone(t,n)})},e.prototype._moduleDoBootstrap=function(t){var e=t.injector.get(wi);if(t.bootstrapFactories.length>0)t.bootstrapFactories.forEach(function(t){return e.bootstrap(t)});else{if(!t.instance.ngDoBootstrap)throw new Error("The module "+u(t.instance.constructor)+' was bootstrapped, but it does not declare "@NgModule.bootstrap" components nor a "ngDoBootstrap" method. Please define one of these.');t.instance.ngDoBootstrap(e)}this._modules.push(t)},e.decorators=[{type:ge}],e.ctorParameters=function(){return[{type:sn}]},e}(_i),wi=function(){function t(){}return t.prototype.bootstrap=function(){},t.prototype.tick=function(){},t.prototype.componentTypes=function(){},t.prototype.components=function(){},t.prototype.attachView=function(){},t.prototype.detachView=function(){},t.prototype.viewCount=function(){},t}(),Ei=function(t){function e(e,n,r,i,o,s,a,u){var c=this;t.call(this),this._zone=e,this._console=n,this._injector=r,this._exceptionHandler=i,this._componentFactoryResolver=o,this._initStatus=s,this._testabilityRegistry=a,this._testability=u,this._bootstrapListeners=[],this._rootComponents=[],this._rootComponentTypes=[],this._views=[],this._runningTick=!1,this._enforceNoNewChanges=!1,this._enforceNoNewChanges=Mt(),this._zone.onMicrotaskEmpty.subscribe({next:function(){c._zone.run(function(){c.tick()})}})}return yi(e,t),e.prototype.attachView=function(t){var e=t.internalView;this._views.push(e),e.attachToAppRef(this)},e.prototype.detachView=function(t){var e=t.internalView;Fn.remove(this._views,e),e.detach()},e.prototype.bootstrap=function(t){var e=this;if(!this._initStatus.done)throw new Error("Cannot bootstrap as there are still asynchronous initializers running. Bootstrap components in the `ngDoBootstrap` method of the root module.");var n;n=t instanceof ti?t:this._componentFactoryResolver.resolveComponentFactory(t),this._rootComponentTypes.push(n.componentType);var r=n.create(this._injector,[],n.selector);r.onDestroy(function(){e._unloadComponent(r)});var i=r.injector.get(li,null);return i&&r.injector.get(hi).registerApplication(r.location.nativeElement,i),this._loadComponent(r),Mt()&&this._console.log("Angular is running in the development mode. Call enableProdMode() to enable the production mode."),r},e.prototype._loadComponent=function(t){this.attachView(t.hostView),this.tick(),this._rootComponents.push(t);var e=this._injector.get(Wn,[]).concat(this._bootstrapListeners);e.forEach(function(e){return e(t)})},e.prototype._unloadComponent=function(t){this.detachView(t.hostView),Fn.remove(this._rootComponents,t)},e.prototype.tick=function(){if(this._runningTick)throw new Error("ApplicationRef.tick is called recursively");var t=e._tickScope();try{this._runningTick=!0,this._views.forEach(function(t){return t.ref.detectChanges()}),this._enforceNoNewChanges&&this._views.forEach(function(t){return t.ref.checkNoChanges()})}finally{this._runningTick=!1,ui(t)}},e.prototype.ngOnDestroy=function(){this._views.slice().forEach(function(t){return t.destroy()})},Object.defineProperty(e.prototype,"viewCount",{get:function(){return this._views.length},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"componentTypes",{get:function(){return this._rootComponentTypes},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"components",{get:function(){return this._rootComponents},enumerable:!0,configurable:!0}),e._tickScope=ai("ApplicationRef#tick()"),e.decorators=[{type:ge}],e.ctorParameters=function(){return[{type:rr},{type:Kn},{type:sn},{type:Ln},{type:ii},{type:Bn},{type:hi,decorators:[{type:ve}]},{type:li,decorators:[{type:ve}]}]},e}(wi),Si=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Ci=function(){function t(){}return t.prototype.injector=function(){},t.prototype.componentFactoryResolver=function(){},t.prototype.instance=function(){},t.prototype.destroy=function(){},t.prototype.onDestroy=function(){},t}(),xi=function(){function t(t,e){this._injectorClass=t,this._moduleType=e}return Object.defineProperty(t.prototype,"moduleType",{get:function(){return this._moduleType},enumerable:!0,configurable:!0}),t.prototype.create=function(t){t||(t=sn.NULL);var e=new this._injectorClass(t);return e.create(),e},t}(),Ti=new Object,Pi=function(t){function e(e,n,r){t.call(this,n,e.get(ii,ii.NULL)),this.parent=e,this.bootstrapFactories=r,this._destroyListeners=[],this._destroyed=!1}return Si(e,t),e.prototype.create=function(){this.instance=this.createInternal()},e.prototype.createInternal=function(){},e.prototype.get=function(t,e){if(void 0===e&&(e=rn),t===sn||t===ii)return this;var n=this.getInternal(t,Ti);return n===Ti?this.parent.get(t,e):n},e.prototype.getInternal=function(){},Object.defineProperty(e.prototype,"injector",{get:function(){return this},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"componentFactoryResolver",{get:function(){return this},enumerable:!0,configurable:!0}),e.prototype.destroy=function(){if(this._destroyed)throw new Error("The ng module "+u(this.instance.constructor)+" has already been destroyed.");this._destroyed=!0,this.destroyInternal(),this._destroyListeners.forEach(function(t){return t()})},e.prototype.onDestroy=function(t){this._destroyListeners.push(t)},e.prototype.destroyInternal=function(){},e}(oi),Ai=function(){function t(){}return t.prototype.load=function(){},t}(),Oi=new Map,Mi=function(){function t(){this._dirty=!0,this._results=[],this._emitter=new nr}return Object.defineProperty(t.prototype,"changes",{get:function(){return this._emitter},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"length",{get:function(){return this._results.length},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"first",{get:function(){return this._results[0]},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"last",{get:function(){return this._results[this.length-1]},enumerable:!0,configurable:!0}),t.prototype.map=function(t){return this._results.map(t)},t.prototype.filter=function(t){return this._results.filter(t)},t.prototype.find=function(t){return this._results.find(t)},t.prototype.reduce=function(t,e){return this._results.reduce(t,e)},t.prototype.forEach=function(t){this._results.forEach(t)},t.prototype.some=function(t){return this._results.some(t)},t.prototype.toArray=function(){return this._results.slice()},t.prototype[f()]=function(){return this._results[f()]()},t.prototype.toString=function(){return this._results.toString()},t.prototype.reset=function(t){this._results=Fn.flatten(t),this._dirty=!1},t.prototype.notifyOnChanges=function(){this._emitter.emit(this)},t.prototype.setDirty=function(){this._dirty=!0},Object.defineProperty(t.prototype,"dirty",{get:function(){return this._dirty},enumerable:!0,configurable:!0}),t}(),Ri="#",ki="NgFactory",Ni=function(){function t(){}return t}(),Ii={factoryPathPrefix:"",factoryPathSuffix:".ngfactory"},Di=function(){function t(t,e){this._compiler=t,this._config=e||Ii}return t.prototype.load=function(t){var e=this._compiler instanceof $n;return e?this.loadFactory(t):this.loadAndCompile(t)},t.prototype.loadAndCompile=function(t){var e=this,n=t.split(Ri),r=n[0],i=n[1];return void 0===i&&(i="default"),System["import"](r).then(function(t){return t[i]}).then(function(t){return Ft(t,r,i)}).then(function(t){return e._compiler.compileModuleAsync(t)})},t.prototype.loadFactory=function(t){var e=t.split(Ri),n=e[0],r=e[1],i=ki;return void 0===r&&(r="default",i=""),System["import"](this._config.factoryPathPrefix+n+this._config.factoryPathSuffix).then(function(t){return t[r+i]}).then(function(t){return Ft(t,n,r)})},t.decorators=[{type:ge}],t.ctorParameters=function(){return[{type:$n},{type:Ni,decorators:[{type:ve}]}]},t}(),ji=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Li=function(){function t(){}return t.prototype.elementRef=function(){},t.prototype.createEmbeddedView=function(){},t}(),Vi=function(t){function e(e,n,r){t.call(this),this._parentView=e,this._nodeIndex=n,this._nativeElement=r}return ji(e,t),e.prototype.createEmbeddedView=function(t){var e=this._parentView.createEmbeddedViewInternal(this._nodeIndex);return e.create(t||{}),e.ref},Object.defineProperty(e.prototype,"elementRef",{get:function(){return new tr(this._nativeElement)},enumerable:!0,configurable:!0}),e}(Li),Fi=function(){function t(){}return t.prototype.element=function(){},t.prototype.injector=function(){},t.prototype.parentInjector=function(){},t.prototype.clear=function(){},t.prototype.get=function(){},t.prototype.length=function(){},t.prototype.createEmbeddedView=function(){},t.prototype.createComponent=function(){},t.prototype.insert=function(){},t.prototype.move=function(){},t.prototype.indexOf=function(){},t.prototype.remove=function(){},t.prototype.detach=function(){},t}(),Ui=function(){function t(t){this._element=t,this._createComponentInContainerScope=ai("ViewContainerRef#createComponent()"),this._insertScope=ai("ViewContainerRef#insert()"),this._removeScope=ai("ViewContainerRef#remove()"),this._detachScope=ai("ViewContainerRef#detach()")}return t.prototype.get=function(t){return this._element.nestedViews[t].ref},Object.defineProperty(t.prototype,"length",{get:function(){var t=this._element.nestedViews;return s(t)?t.length:0},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"element",{get:function(){return this._element.elementRef},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"injector",{get:function(){return this._element.injector},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"parentInjector",{get:function(){return this._element.parentInjector},enumerable:!0,configurable:!0}),t.prototype.createEmbeddedView=function(t,e,n){void 0===e&&(e=null),void 0===n&&(n=-1);var r=t.createEmbeddedView(e);return this.insert(r,n),r},t.prototype.createComponent=function(t,e,n,r){void 0===e&&(e=-1),void 0===n&&(n=null),void 0===r&&(r=null);var i=this._createComponentInContainerScope(),o=n||this._element.parentInjector,s=t.create(o,r);return this.insert(s.hostView,e),ui(i,s)},t.prototype.insert=function(t,e){void 0===e&&(e=-1);var n=this._insertScope();-1==e&&(e=this.length);var r=t;return this._element.attachView(r.internalView,e),ui(n,r)},t.prototype.move=function(t,e){var n=this._insertScope();if(-1!=e){var r=t;return this._element.moveView(r.internalView,e),ui(n,r)}},t.prototype.indexOf=function(t){return this.length?this._element.nestedViews.indexOf(t.internalView):-1},t.prototype.remove=function(t){void 0===t&&(t=-1);var e=this._removeScope();-1==t&&(t=this.length-1);var n=this._element.detachView(t);n.destroy(),ui(e)},t.prototype.detach=function(t){void 0===t&&(t=-1);var e=this._detachScope();-1==t&&(t=this.length-1);var n=this._element.detachView(t);return ui(e,n.ref)},t.prototype.clear=function(){for(var t=this.length-1;t>=0;t--)this.remove(t)},t}(),Bi=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Hi=function(t){function e(){t.apply(this,arguments)}return Bi(e,t),e.prototype.destroy=function(){},e.prototype.destroyed=function(){},e.prototype.onDestroy=function(){},e}(br),qi=function(t){function e(){t.apply(this,arguments)}return Bi(e,t),e.prototype.context=function(){},e.prototype.rootNodes=function(){},e}(Hi),zi=function(){function t(t,e){this._view=t,this.animationQueue=e,this._view=t,this._originalMode=this._view.cdMode}return Object.defineProperty(t.prototype,"internalView",{get:function(){return this._view},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"rootNodes",{get:function(){return this._view.flatRootNodes},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"context",{get:function(){return this._view.context},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"destroyed",{get:function(){return this._view.destroyed},enumerable:!0,configurable:!0}),t.prototype.markForCheck=function(){this._view.markPathToRootAsCheckOnce()},t.prototype.detach=function(){this._view.cdMode=Re.Detached},t.prototype.detectChanges=function(){this._view.detectChanges(!1),this.animationQueue.flush()},t.prototype.checkNoChanges=function(){this._view.detectChanges(!0)},t.prototype.reattach=function(){this._view.cdMode=this._originalMode,this.markForCheck()},t.prototype.onDestroy=function(t){this._view.disposables||(this._view.disposables=[]),
+this._view.disposables.push(t)},t.prototype.destroy=function(){this._view.detachAndDestroy()},t}(),Wi=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Gi=function(){function t(t,e){this.name=t,this.callback=e}return t}(),Ki=function(){function t(t,e,n){this._debugInfo=n,this.nativeNode=t,e&&e instanceof Xi?e.addChild(this):this.parent=null,this.listeners=[]}return Object.defineProperty(t.prototype,"injector",{get:function(){return this._debugInfo?this._debugInfo.injector:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"componentInstance",{get:function(){return this._debugInfo?this._debugInfo.component:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"context",{get:function(){return this._debugInfo?this._debugInfo.context:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"references",{get:function(){return this._debugInfo?this._debugInfo.references:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"providerTokens",{get:function(){return this._debugInfo?this._debugInfo.providerTokens:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"source",{get:function(){return this._debugInfo?this._debugInfo.source:null},enumerable:!0,configurable:!0}),t}(),Xi=function(t){function e(e,n,r){t.call(this,e,n,r),this.properties={},this.attributes={},this.classes={},this.styles={},this.childNodes=[],this.nativeElement=e}return Wi(e,t),e.prototype.addChild=function(t){t&&(this.childNodes.push(t),t.parent=this)},e.prototype.removeChild=function(t){var e=this.childNodes.indexOf(t);-1!==e&&(t.parent=null,this.childNodes.splice(e,1))},e.prototype.insertChildrenAfter=function(t,e){var n=this.childNodes.indexOf(t);if(-1!==n){var r=this.childNodes.slice(0,n+1),i=this.childNodes.slice(n+1);this.childNodes=r.concat(e,i);for(var o=0;o<e.length;++o){var s=e[o];s.parent&&s.parent.removeChild(s),s.parent=this}}},e.prototype.query=function(t){var e=this.queryAll(t);return e[0]||null},e.prototype.queryAll=function(t){var e=[];return Bt(this,t,e),e},e.prototype.queryAllNodes=function(t){var e=[];return Ht(this,t,e),e},Object.defineProperty(e.prototype,"children",{get:function(){return this.childNodes.filter(function(t){return t instanceof e})},enumerable:!0,configurable:!0}),e.prototype.triggerEventHandler=function(t,e){this.listeners.forEach(function(n){n.name==t&&n.callback(e)})},e}(Ki),Qi=new Map,Yi=[bi,{provide:_i,useExisting:bi},{provide:Pn,useFactory:Gt,deps:[]},{provide:xn,useExisting:Pn},hi,Kn],$i=kt(null,"core",Yi),Zi=new Ee("LocaleId"),Ji=new Ee("Translations"),to=new Ee("TranslationsFormat"),eo=function(){function t(){}return t.decorators=[{type:$e,args:[{providers:[Ei,{provide:wi,useExisting:Ei},Bn,$n,qn,Vr,ir,{provide:dr,useFactory:Kt},{provide:yr,useFactory:Xt},{provide:Zi,useFactory:Qt,deps:[[new me(Zi),new ve,new be]]}]}]}],t.ctorParameters=function(){return[]},t}(),no="true",ro="*",io="*",oo="void",so=function(){function t(t){var e=this;this._players=t,this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this.parentPlayer=null;var n=0,i=this._players.length;0==i?r(function(){return e._onFinish()}):this._players.forEach(function(t){t.parentPlayer=e,t.onDone(function(){++n>=i&&e._onFinish()})})}return t.prototype._onFinish=function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(t){return t()}),this._onDoneFns=[])},t.prototype.init=function(){this._players.forEach(function(t){return t.init()})},t.prototype.onStart=function(t){this._onStartFns.push(t)},t.prototype.onDone=function(t){this._onDoneFns.push(t)},t.prototype.hasStarted=function(){return this._started},t.prototype.play=function(){s(this.parentPlayer)||this.init(),this.hasStarted()||(this._onStartFns.forEach(function(t){return t()}),this._onStartFns=[],this._started=!0),this._players.forEach(function(t){return t.play()})},t.prototype.pause=function(){this._players.forEach(function(t){return t.pause()})},t.prototype.restart=function(){this._players.forEach(function(t){return t.restart()})},t.prototype.finish=function(){this._onFinish(),this._players.forEach(function(t){return t.finish()})},t.prototype.destroy=function(){this._destroyed||(this._onFinish(),this._players.forEach(function(t){return t.destroy()}),this._destroyed=!0)},t.prototype.reset=function(){this._players.forEach(function(t){return t.reset()}),this._destroyed=!1,this._finished=!1,this._started=!1},t.prototype.setPosition=function(t){this._players.forEach(function(e){e.setPosition(t)})},t.prototype.getPosition=function(){var t=0;return this._players.forEach(function(e){var n=e.getPosition();t=Math.min(n,t)}),t},Object.defineProperty(t.prototype,"players",{get:function(){return this._players},enumerable:!0,configurable:!0}),t}(),ao=function(){function t(t,e){this.offset=t,this.styles=e}return t}(),uo=function(){function t(){}return t.prototype.onDone=function(){},t.prototype.onStart=function(){},t.prototype.init=function(){},t.prototype.hasStarted=function(){},t.prototype.play=function(){},t.prototype.pause=function(){},t.prototype.restart=function(){},t.prototype.finish=function(){},t.prototype.destroy=function(){},t.prototype.reset=function(){},t.prototype.setPosition=function(){},t.prototype.getPosition=function(){},Object.defineProperty(t.prototype,"parentPlayer",{get:function(){throw new Error("NOT IMPLEMENTED: Base Class")},set:function(){throw new Error("NOT IMPLEMENTED: Base Class")},enumerable:!0,configurable:!0}),t}(),co=function(){function t(){var t=this;this._onDoneFns=[],this._onStartFns=[],this._started=!1,this.parentPlayer=null,r(function(){return t._onFinish()})}return t.prototype._onFinish=function(){this._onDoneFns.forEach(function(t){return t()}),this._onDoneFns=[]},t.prototype.onStart=function(t){this._onStartFns.push(t)},t.prototype.onDone=function(t){this._onDoneFns.push(t)},t.prototype.hasStarted=function(){return this._started},t.prototype.init=function(){},t.prototype.play=function(){this.hasStarted()||(this._onStartFns.forEach(function(t){return t()}),this._onStartFns=[]),this._started=!0},t.prototype.pause=function(){},t.prototype.restart=function(){},t.prototype.finish=function(){this._onFinish()},t.prototype.destroy=function(){},t.prototype.reset=function(){},t.prototype.setPosition=function(){},t.prototype.getPosition=function(){return 0},t}(),po=function(){function t(t){var e=this;this._players=t,this._currentIndex=0,this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this.parentPlayer=null,this._players.forEach(function(t){t.parentPlayer=e}),this._onNext(!1)}return t.prototype._onNext=function(t){var e=this;if(!this._finished)if(0==this._players.length)this._activePlayer=new co,r(function(){return e._onFinish()});else if(this._currentIndex>=this._players.length)this._activePlayer=new co,this._onFinish();else{var n=this._players[this._currentIndex++];n.onDone(function(){return e._onNext(!0)}),this._activePlayer=n,t&&n.play()}},t.prototype._onFinish=function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(t){return t()}),this._onDoneFns=[])},t.prototype.init=function(){this._players.forEach(function(t){return t.init()})},t.prototype.onStart=function(t){this._onStartFns.push(t)},t.prototype.onDone=function(t){this._onDoneFns.push(t)},t.prototype.hasStarted=function(){return this._started},t.prototype.play=function(){s(this.parentPlayer)||this.init(),this.hasStarted()||(this._onStartFns.forEach(function(t){return t()}),this._onStartFns=[],this._started=!0),this._activePlayer.play()},t.prototype.pause=function(){this._activePlayer.pause()},t.prototype.restart=function(){this.reset(),this._players.length>0&&this._players[0].restart()},t.prototype.reset=function(){this._players.forEach(function(t){return t.reset()}),this._destroyed=!1,this._finished=!1,this._started=!1},t.prototype.finish=function(){this._onFinish(),this._players.forEach(function(t){return t.finish()})},t.prototype.destroy=function(){this._destroyed||(this._onFinish(),this._players.forEach(function(t){return t.destroy()}),this._destroyed=!0,this._activePlayer=new co)},t.prototype.setPosition=function(t){this._players[0].setPosition(t)},t.prototype.getPosition=function(){return this._players[0].getPosition()},Object.defineProperty(t.prototype,"players",{get:function(){return this._players},enumerable:!0,configurable:!0}),t}(),lo=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},ho="*",fo=function(){function t(t,e){this.name=t,this.definitions=e}return t}(),yo=function(){function t(){}return t}(),mo=function(t){function e(e,n){t.call(this),this.stateNameExpr=e,this.styles=n}return lo(e,t),e}(yo),vo=function(t){function e(e,n){t.call(this),this.stateChangeExpr=e,this.steps=n}return lo(e,t),e}(yo),go=function(){function t(){}return t}(),_o=function(t){function e(e){t.call(this),this.steps=e}return lo(e,t),e}(go),bo=function(t){function e(e,n){void 0===n&&(n=null),t.call(this),this.styles=e,this.offset=n}return lo(e,t),e}(go),wo=function(t){function e(e,n){t.call(this),this.timings=e,this.styles=n}return lo(e,t),e}(go),Eo=function(t){function e(){t.call(this)}return lo(e,t),Object.defineProperty(e.prototype,"steps",{get:function(){throw new Error("NOT IMPLEMENTED: Base Class")},enumerable:!0,configurable:!0}),e}(go),So=function(t){function e(e){t.call(this),this._steps=e}return lo(e,t),Object.defineProperty(e.prototype,"steps",{get:function(){return this._steps},enumerable:!0,configurable:!0}),e}(Eo),Co=function(t){function e(e){t.call(this),this._steps=e}return lo(e,t),Object.defineProperty(e.prototype,"steps",{get:function(){return this._steps},enumerable:!0,configurable:!0}),e}(Eo),xo=function(){function t(t){this.styles=t}return t}(),To=function(){function t(t){var e=t.fromState,n=t.toState,r=t.totalTime,i=t.phaseName;this.fromState=e,this.toState=n,this.totalTime=r,this.phaseName=i}return t}(),Po=function(){function t(t,e,n,r){this._player=t,this._fromState=e,this._toState=n,this._totalTime=r}return t.prototype._createEvent=function(t){return new To({fromState:this._fromState,toState:this._toState,totalTime:this._totalTime,phaseName:t})},t.prototype.onStart=function(t){var e=this,n=Zone.current.wrap(function(){return t(e._createEvent("start"))},"player.onStart");this._player.onStart(n)},t.prototype.onDone=function(t){var e=this,n=Zone.current.wrap(function(){return t(e._createEvent("done"))},"player.onDone");this._player.onDone(n)},t}(),Ao=function(){function t(t){this._delegate=t}return t.prototype.renderComponent=function(t){return new Oo(this._delegate.renderComponent(t))},t}(),Oo=function(){function t(t){this._delegate=t}return t.prototype.selectRootElement=function(t,e){var n=this._delegate.selectRootElement(t,e),r=new Xi(n,null,e);return zt(r),n},t.prototype.createElement=function(t,e,n){var r=this._delegate.createElement(t,e,n),i=new Xi(r,qt(t),n);return i.name=e,zt(i),r},t.prototype.createViewRoot=function(t){return this._delegate.createViewRoot(t)},t.prototype.createTemplateAnchor=function(t,e){var n=this._delegate.createTemplateAnchor(t,e),r=new Ki(n,qt(t),e);return zt(r),n},t.prototype.createText=function(t,e,n){var r=this._delegate.createText(t,e,n),i=new Ki(r,qt(t),n);return zt(i),r},t.prototype.projectNodes=function(t,e){var n=qt(t);if(s(n)&&n instanceof Xi){var r=n;e.forEach(function(t){r.addChild(qt(t))})}this._delegate.projectNodes(t,e)},t.prototype.attachViewAfter=function(t,e){var n=qt(t);if(s(n)){var r=n.parent;if(e.length>0&&s(r)){var i=[];e.forEach(function(t){return i.push(qt(t))}),r.insertChildrenAfter(n,i)}}this._delegate.attachViewAfter(t,e)},t.prototype.detachView=function(t){t.forEach(function(t){var e=qt(t);s(e)&&s(e.parent)&&e.parent.removeChild(e)}),this._delegate.detachView(t)},t.prototype.destroyView=function(t,e){e=e||[],e.forEach(function(t){Wt(qt(t))}),this._delegate.destroyView(t,e)},t.prototype.listen=function(t,e,n){var r=qt(t);return s(r)&&r.listeners.push(new Gi(e,n)),this._delegate.listen(t,e,n)},t.prototype.listenGlobal=function(t,e,n){return this._delegate.listenGlobal(t,e,n)},t.prototype.setElementProperty=function(t,e,n){var r=qt(t);s(r)&&r instanceof Xi&&(r.properties[e]=n),this._delegate.setElementProperty(t,e,n)},t.prototype.setElementAttribute=function(t,e,n){var r=qt(t);s(r)&&r instanceof Xi&&(r.attributes[e]=n),this._delegate.setElementAttribute(t,e,n)},t.prototype.setBindingDebugInfo=function(t,e,n){this._delegate.setBindingDebugInfo(t,e,n)},t.prototype.setElementClass=function(t,e,n){var r=qt(t);s(r)&&r instanceof Xi&&(r.classes[e]=n),this._delegate.setElementClass(t,e,n)},t.prototype.setElementStyle=function(t,e,n){var r=qt(t);s(r)&&r instanceof Xi&&(r.styles[e]=n),this._delegate.setElementStyle(t,e,n)},t.prototype.invokeElementMethod=function(t,e,n){this._delegate.invokeElementMethod(t,e,n)},t.prototype.setText=function(t,e){this._delegate.setText(t,e)},t.prototype.animate=function(t,e,n,r,i,o,s){return void 0===s&&(s=[]),this._delegate.animate(t,e,n,r,i,o,s)},t}(),Mo={};Mo.HOST=0,Mo.COMPONENT=1,Mo.EMBEDDED=2,Mo[Mo.HOST]="HOST",Mo[Mo.COMPONENT]="COMPONENT",Mo[Mo.EMBEDDED]="EMBEDDED";var Ro=function(){function t(t,e,n){this.providerTokens=t,this.componentToken=e,this.refTokens=n}return t}(),ko=function(){function t(t,e,n,r){this._view=t,this._nodeIndex=e,this._tplRow=n,this._tplCol=r}return Object.defineProperty(t.prototype,"_staticNodeInfo",{get:function(){return s(this._nodeIndex)?this._view.staticNodeDebugInfos[this._nodeIndex]:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"context",{get:function(){return this._view.context},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"component",{get:function(){var t=this._staticNodeInfo;return s(t)&&s(t.componentToken)?this.injector.get(t.componentToken):null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"componentRenderElement",{get:function(){for(var t=this._view;s(t.parentView)&&t.type!==Mo.COMPONENT;)t=t.parentView;return t.parentElement},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"injector",{get:function(){return this._view.injector(this._nodeIndex)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"renderNode",{get:function(){return s(this._nodeIndex)&&this._view.allNodes?this._view.allNodes[this._nodeIndex]:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"providerTokens",{get:function(){var t=this._staticNodeInfo;return s(t)?t.providerTokens:null},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"source",{get:function(){return this._view.componentType.templateUrl+":"+this._tplRow+":"+this._tplCol},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"references",{get:function(){var t=this,e={},n=this._staticNodeInfo;if(s(n)){var r=n.refTokens;Object.keys(r).forEach(function(n){var i,o=r[n];i=a(o)?t._view.allNodes?t._view.allNodes[t._nodeIndex]:null:t._view.injectorGet(o,t._nodeIndex,null),e[n]=i})}return e},enumerable:!0,configurable:!0}),t}(),No=function(){function t(){this._map=new Map,this._allPlayers=[]}return t.prototype.find=function(t,e){var n=this._map.get(t);return s(n)?n[e]:void 0},t.prototype.findAllPlayersByElement=function(t){var e=this._map.get(t);return e?Object.keys(e).map(function(t){return e[t]}):[]},t.prototype.set=function(t,e,n){var r=this._map.get(t);s(r)||(r={});var i=r[e];s(i)&&this.remove(t,e),r[e]=n,this._allPlayers.push(n),this._map.set(t,r)},t.prototype.getAllPlayers=function(){return this._allPlayers},t.prototype.remove=function(t,e,n){void 0===n&&(n=null);var r=this._map.get(t);if(r){var i=r[e];if(!n||i===n){delete r[e];var o=this._allPlayers.indexOf(i);this._allPlayers.splice(o,1),0===Object.keys(r).length&&this._map["delete"](t)}}},t}(),Io=function(){function t(t){this._animationQueue=t,this._players=new No}return t.prototype.onAllActiveAnimationsDone=function(t){var e=this._players.getAllPlayers();e.length?new so(e).onDone(function(){return t()}):t()},t.prototype.queueAnimation=function(t,e,n){var r=this;this._animationQueue.enqueue(n),this._players.set(t,e,n),n.onDone(function(){return r._players.remove(t,e,n)})},t.prototype.getAnimationPlayers=function(t,e){void 0===e&&(e=null);var n=[];if(e){var r=this._players.find(t,e);r&&pe(r,n)}else this._players.findAllPlayersByElement(t).forEach(function(t){return pe(t,n)});return n},t}(),Do=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},jo=function(t){function e(e,n){t.call(this),this._view=e,this._nodeIndex=n}return Do(e,t),e.prototype.get=function(t,e){return void 0===e&&(e=rn),this._view.injectorGet(t,this._nodeIndex,e)},e}(sn),Lo=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Vo=ai("AppView#check(ascii id)"),Fo=new Object,Uo=new Object,Bo=function(){function t(t,e,n,r,i,o,s,a,u){void 0===u&&(u=null),this.clazz=t,this.componentType=e,this.type=n,this.viewUtils=r,this.parentView=i,this.parentIndex=o,this.parentElement=s,this.cdMode=a,this.declaredViewContainer=u,this.numberOfChecks=0,this.ref=new zi(this,r.animationQueue),this.renderer=n===Mo.COMPONENT||n===Mo.HOST?r.renderComponent(e):i.renderer,this._directRenderer=this.renderer.directRenderer}return Object.defineProperty(t.prototype,"animationContext",{get:function(){return this._animationContext||(this._animationContext=new Io(this.viewUtils.animationQueue)),this._animationContext},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"destroyed",{get:function(){return this.cdMode===Re.Destroyed},enumerable:!0,configurable:!0}),t.prototype.create=function(t){return this.context=t,this.createInternal(null)},t.prototype.createHostView=function(t,e,n){return this.context=Fo,this._hasExternalHostElement=s(t),this._hostInjector=e,this._hostProjectableNodes=n,this.createInternal(t)},t.prototype.createInternal=function(){return null},t.prototype.createEmbeddedViewInternal=function(){return null},t.prototype.init=function(t,e,n){this.lastRootNode=t,this.allNodes=e,this.disposables=n,this.type===Mo.COMPONENT&&this.dirtyParentQueriesInternal()},t.prototype.injectorGet=function(t,e,n){void 0===n&&(n=rn);for(var r=Uo,i=this;r===Uo;)s(e)&&(r=i.injectorGetInternal(t,e,Uo)),r===Uo&&i.type===Mo.HOST&&(r=i._hostInjector.get(t,n)),e=i.parentIndex,i=i.parentView;return r},t.prototype.injectorGetInternal=function(t,e,n){return n},t.prototype.injector=function(t){return new jo(this,t)},t.prototype.detachAndDestroy=function(){this.viewContainer?this.viewContainer.detachView(this.viewContainer.nestedViews.indexOf(this)):this.appRef?this.appRef.detachView(this.ref):this._hasExternalHostElement&&this.detach(),this.destroy()},t.prototype.destroy=function(){var t=this;if(this.cdMode!==Re.Destroyed){var e=this.type===Mo.COMPONENT?this.parentElement:null;if(this.disposables)for(var n=0;n<this.disposables.length;n++)this.disposables[n]();this.destroyInternal(),this.dirtyParentQueriesInternal(),this._animationContext?this._animationContext.onAllActiveAnimationsDone(function(){return t.renderer.destroyView(e,t.allNodes)}):this.renderer.destroyView(e,this.allNodes),this.cdMode=Re.Destroyed}},t.prototype.destroyInternal=function(){},t.prototype.detachInternal=function(){},t.prototype.detach=function(){var t=this;if(this.detachInternal(),this._animationContext?this._animationContext.onAllActiveAnimationsDone(function(){return t._renderDetach()}):this._renderDetach(),this.declaredViewContainer&&this.declaredViewContainer!==this.viewContainer&&this.declaredViewContainer.projectedViews){var e=this.declaredViewContainer.projectedViews,n=e.indexOf(this);n>=e.length-1?e.pop():e.splice(n,1)}this.appRef=null,this.viewContainer=null,this.dirtyParentQueriesInternal()},t.prototype._renderDetach=function(){this._directRenderer?this.visitRootNodesInternal(this._directRenderer.remove,null):this.renderer.detachView(this.flatRootNodes)},t.prototype.attachToAppRef=function(t){if(this.viewContainer)throw new Error("This view is already attached to a ViewContainer!");this.appRef=t,this.dirtyParentQueriesInternal()},t.prototype.attachAfter=function(t,e){if(this.appRef)throw new Error("This view is already attached directly to the ApplicationRef!");this._renderAttach(t,e),this.viewContainer=t,this.declaredViewContainer&&this.declaredViewContainer!==t&&(this.declaredViewContainer.projectedViews||(this.declaredViewContainer.projectedViews=[]),this.declaredViewContainer.projectedViews.push(this)),this.dirtyParentQueriesInternal()},t.prototype.moveAfter=function(t,e){this._renderAttach(t,e),this.dirtyParentQueriesInternal()},t.prototype._renderAttach=function(t,e){var n=e?e.lastRootNode:t.nativeElement;if(this._directRenderer){var r=this._directRenderer.nextSibling(n);if(r)this.visitRootNodesInternal(this._directRenderer.insertBefore,r);else{var i=this._directRenderer.parentElement(n);i&&this.visitRootNodesInternal(this._directRenderer.appendChild,i)}}else this.renderer.attachViewAfter(n,this.flatRootNodes)},Object.defineProperty(t.prototype,"changeDetectorRef",{get:function(){return this.ref},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"flatRootNodes",{get:function(){var t=[];return this.visitRootNodesInternal($,t),t},enumerable:!0,configurable:!0}),t.prototype.projectNodes=function(t,e){if(this._directRenderer)this.visitProjectedNodes(e,this._directRenderer.appendChild,t);else{var n=[];this.visitProjectedNodes(e,$,n),this.renderer.projectNodes(t,n)}},t.prototype.visitProjectedNodes=function(t,e,n){switch(this.type){case Mo.EMBEDDED:this.parentView.visitProjectedNodes(t,e,n);break;case Mo.COMPONENT:if(this.parentView.type===Mo.HOST)for(var r=this.parentView._hostProjectableNodes[t]||[],i=0;i<r.length;i++)e(r[i],n);else this.parentView.visitProjectableNodesInternal(this.parentIndex,t,e,n)}},t.prototype.visitRootNodesInternal=function(){},t.prototype.visitProjectableNodesInternal=function(){},t.prototype.dirtyParentQueriesInternal=function(){},t.prototype.internalDetectChanges=function(t){this.cdMode!==Re.Detached&&this.detectChanges(t)},t.prototype.detectChanges=function(t){var e=Vo(this.clazz);this.cdMode!==Re.Checked&&this.cdMode!==Re.Errored&&(this.cdMode===Re.Destroyed&&this.throwDestroyedError("detectChanges"),this.detectChangesInternal(t),this.cdMode===Re.CheckOnce&&(this.cdMode=Re.Checked),this.numberOfChecks++,ui(e))},t.prototype.detectChangesInternal=function(){},t.prototype.markAsCheckOnce=function(){this.cdMode=Re.CheckOnce},t.prototype.markPathToRootAsCheckOnce=function(){for(var t=this;s(t)&&t.cdMode!==Re.Detached;)t.cdMode===Re.Checked&&(t.cdMode=Re.CheckOnce),t=t.type===Mo.COMPONENT?t.parentView:t.viewContainer?t.viewContainer.parentView:null},t.prototype.eventHandler=function(t){return t},t.prototype.throwDestroyedError=function(t){throw new Lr(t)},t}(),Ho=function(t){function e(e,n,r,i,o,s,a,u,c,p){void 0===p&&(p=null),t.call(this,e,n,r,i,o,s,a,u,p),this.staticNodeDebugInfos=c,this._currentDebugContext=null}return Lo(e,t),e.prototype.create=function(e){this._resetDebug();try{return t.prototype.create.call(this,e)}catch(n){throw this._rethrowWithContext(n),n}},e.prototype.createHostView=function(e,n,r){void 0===r&&(r=null),this._resetDebug();try{return t.prototype.createHostView.call(this,e,n,r)}catch(i){throw this._rethrowWithContext(i),i}},e.prototype.injectorGet=function(e,n,r){this._resetDebug();try{return t.prototype.injectorGet.call(this,e,n,r)}catch(i){throw this._rethrowWithContext(i),i}},e.prototype.detach=function(){this._resetDebug();try{t.prototype.detach.call(this)}catch(e){throw this._rethrowWithContext(e),e}},e.prototype.destroy=function(){this._resetDebug();try{t.prototype.destroy.call(this)}catch(e){throw this._rethrowWithContext(e),e}},e.prototype.detectChanges=function(e){this._resetDebug();try{t.prototype.detectChanges.call(this,e)}catch(n){throw this._rethrowWithContext(n),n}},e.prototype._resetDebug=function(){this._currentDebugContext=null},e.prototype.debug=function(t,e,n){return this._currentDebugContext=new ko(this,t,e,n)},e.prototype._rethrowWithContext=function(t){if(!(t instanceof jr)&&(t instanceof Dr||(this.cdMode=Re.Errored),s(this._currentDebugContext)))throw new jr(t,this._currentDebugContext)},e.prototype.eventHandler=function(e){var n=this,r=t.prototype.eventHandler.call(this,e);return function(t,e){n._resetDebug();try{return r.call(n,t,e)}catch(i){throw n._rethrowWithContext(i),i}}},e}(Bo),qo=function(){function t(t,e,n,r){this.index=t,this.parentIndex=e,this.parentView=n,this.nativeElement=r}return Object.defineProperty(t.prototype,"elementRef",{get:function(){return new tr(this.nativeElement)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"vcRef",{get:function(){return new Ui(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"parentInjector",{get:function(){return this.parentView.injector(this.parentIndex)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"injector",{get:function(){return this.parentView.injector(this.index)},enumerable:!0,configurable:!0}),t.prototype.detectChangesInNestedViews=function(t){if(this.nestedViews)for(var e=0;e<this.nestedViews.length;e++)this.nestedViews[e].detectChanges(t)},t.prototype.destroyNestedViews=function(){if(this.nestedViews)for(var t=0;t<this.nestedViews.length;t++)this.nestedViews[t].destroy()},t.prototype.visitNestedViewRootNodes=function(t,e){if(this.nestedViews)for(var n=0;n<this.nestedViews.length;n++)this.nestedViews[n].visitRootNodesInternal(t,e)},t.prototype.mapNestedViews=function(t,e){var n=[];if(this.nestedViews)for(var r=0;r<this.nestedViews.length;r++){var i=this.nestedViews[r];i.clazz===t&&n.push(e(i))}if(this.projectedViews)for(var r=0;r<this.projectedViews.length;r++){var o=this.projectedViews[r];o.clazz===t&&n.push(e(o))}return n},t.prototype.moveView=function(t,e){var n=this.nestedViews.indexOf(t);if(t.type===Mo.COMPONENT)throw new Error("Component views can't be moved!");var r=this.nestedViews;null==r&&(r=[],this.nestedViews=r),r.splice(n,1),r.splice(e,0,t);var i=e>0?r[e-1]:null;t.moveAfter(this,i)},t.prototype.attachView=function(t,e){if(t.type===Mo.COMPONENT)throw new Error("Component views can't be moved!");var n=this.nestedViews;null==n&&(n=[],this.nestedViews=n),e>=n.length?n.push(t):n.splice(e,0,t);var r=e>0?n[e-1]:null;t.attachAfter(this,r)},t.prototype.detachView=function(t){var e=this.nestedViews[t];if(t>=this.nestedViews.length-1?this.nestedViews.pop():this.nestedViews.splice(t,1),e.type===Mo.COMPONENT)throw new Error("Component views can't be moved!");return e.detach(),e},t}(),zo={isDefaultChangeDetectionStrategy:E,ChangeDetectorStatus:Re,constructDependencies:D,LifecycleHooks:Fe,LIFECYCLE_HOOKS_VALUES:Ue,ReflectorReader:xn,CodegenComponentFactoryResolver:oi,ComponentRef_:Jr,ViewContainer:qo,AppView:Bo,DebugAppView:Ho,NgModuleInjector:Pi,registerModuleFactory:Lt,ViewType:Mo,view_utils:Yr,ViewMetadata:Je,DebugContext:ko,StaticNodeDebugInfo:Ro,devModeEqual:Q,UNINITIALIZED:mr,ValueUnwrapper:gr,RenderDebugInfo:Tr,TemplateRef_:Vi,ReflectionCapabilities:Cn,makeDecorator:g,DebugDomRootRenderer:Ao,Console:Kn,reflector:An,Reflector:Pn,NoOpAnimationPlayer:co,AnimationPlayer:uo,AnimationSequencePlayer:po,AnimationGroupPlayer:so,AnimationKeyframe:ao,prepareFinalAnimationStyles:ie,balanceAnimationKeyframes:oe,flattenStyles:ce,clearStyles:se,renderStyles:ue,collectAndResolveStyles:ae,APP_ID_RANDOM_PROVIDER:qn,AnimationStyles:xo,ANY_STATE:ro,DEFAULT_STATE:io,EMPTY_STATE:oo,FILL_STYLE_FLAG:no,ComponentStillLoadingError:Qn,isPromise:q,isObservable:z,AnimationTransition:Po};t.createPlatform=Rt,t.assertPlatform=Nt,t.destroyPlatform=It,t.getPlatform=Dt,t.PlatformRef=_i,t.ApplicationRef=wi,t.enableProdMode=Ot,t.isDevMode=Mt,t.createPlatformFactory=kt,t.NgProbeToken=gi,t.APP_ID=Hn,t.PACKAGE_ROOT_URL=Gn,t.PLATFORM_INITIALIZER=zn,t.APP_BOOTSTRAP_LISTENER=Wn,t.APP_INITIALIZER=Un,t.ApplicationInitStatus=Bn,t.DebugElement=Xi,t.DebugNode=Ki,t.asNativeElements=Ut,t.getDebugNode=qt,t.Testability=li,t.TestabilityRegistry=hi,t.setTestabilityGetter=At,t.TRANSLATIONS=Ji,t.TRANSLATIONS_FORMAT=to,t.LOCALE_ID=Zi,t.ApplicationModule=eo,t.wtfCreateScope=ai,t.wtfLeave=ui,t.wtfStartTimeRange=ci,t.wtfEndTimeRange=pi,t.Type=En,t.EventEmitter=nr,t.ErrorHandler=Ln,t.AnimationTransitionEvent=To,t.AnimationPlayer=uo,t.AnimationStyles=xo,t.AnimationKeyframe=ao,t.Sanitizer=Nr,t.SecurityContext=Or,t.ANALYZE_FOR_ENTRY_COMPONENTS=Se,t.Attribute=Ce,t.ContentChild=Pe,t.ContentChildren=Te,t.Query=xe,t.ViewChild=Oe,t.ViewChildren=Ae,t.Component=Ne,t.Directive=ke,t.HostBinding=Le,t.HostListener=Ve,t.Input=De,t.Output=je,t.Pipe=Ie,t.AfterContentChecked=Ge,t.AfterContentInit=We,t.AfterViewChecked=Xe,t.AfterViewInit=Ke,t.DoCheck=qe,t.OnChanges=Be,t.OnDestroy=ze,t.OnInit=He,t.CUSTOM_ELEMENTS_SCHEMA=Qe,t.NO_ERRORS_SCHEMA=Ye,t.NgModule=$e,t.ViewEncapsulation=Ze,t.Version=tn,t.VERSION=en,t.Class=v,t.forwardRef=S,t.resolveForwardRef=C,t.Injector=sn,t.ReflectiveInjector=In,t.ResolvedReflectiveFactory=kn,t.ReflectiveKey=_n,t.OpaqueToken=Ee,t.Inject=me,t.Optional=ve,t.Injectable=ge,t.Self=_e,t.SkipSelf=be,t.Host=we,t.NgZone=rr,t.RenderComponentType=xr,t.Renderer=Pr,t.RootRenderer=Ar,t.COMPILER_OPTIONS=Zn,t.Compiler=$n,t.CompilerFactory=Jn,t.ModuleWithComponentFactories=Yn,t.ComponentFactory=ti,t.ComponentRef=Zr,t.ComponentFactoryResolver=ii,t.ElementRef=tr,t.NgModuleFactory=xi,t.NgModuleRef=Ci,t.NgModuleFactoryLoader=Ai,t.getModuleFactory=Vt,t.QueryList=Mi,t.SystemJsNgModuleLoader=Di,t.SystemJsNgModuleLoaderConfig=Ni,t.TemplateRef=Li,t.ViewContainerRef=Fi,t.EmbeddedViewRef=qi,t.ViewRef=Hi,t.ChangeDetectionStrategy=Me,t.ChangeDetectorRef=br,t.CollectionChangeRecord=ur,t.DefaultIterableDiffer=ar,t.IterableDiffers=dr,t.KeyValueChangeRecord=fr,t.KeyValueDiffers=yr,t.SimpleChange=_r,t.WrappedValue=vr,t.platformCore=$i,t.__core_private__=zo,t.AUTO_STYLE=ho,t.AnimationEntryMetadata=fo,t.AnimationStateMetadata=yo,t.AnimationStateDeclarationMetadata=mo,t.AnimationStateTransitionMetadata=vo,t.AnimationMetadata=go,t.AnimationKeyframesSequenceMetadata=_o,t.AnimationStyleMetadata=bo,t.AnimationAnimateMetadata=wo,t.AnimationWithStepsMetadata=Eo,t.AnimationSequenceMetadata=So,t.AnimationGroupMetadata=Co,t.animate=Yt,t.group=$t,t.sequence=Zt,t.style=Jt,t.state=te,t.keyframes=ee,t.transition=ne,t.trigger=re})}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"rxjs/Observable":15,"rxjs/Subject":18,"rxjs/symbol/observable":46}],8:[function(e,n,r){!function(i,o){"object"==typeof r&&"undefined"!=typeof n?o(r,e("@angular/core"),e("rxjs/Observable"),e("@angular/platform-browser")):"function"==typeof t&&t.amd?t(["exports","@angular/core","rxjs/Observable","@angular/platform-browser"],o):o((i.ng=i.ng||{},i.ng.http=i.ng.http||{}),i.ng.core,i.Rx,i.ng.platformBrowser)}(this,function(t,e,n,r){"use strict";function i(t){if("string"!=typeof t)return t;switch(t.toUpperCase()){case"GET":return m.Get;case"POST":return m.Post;case"PUT":return m.Put;case"DELETE":return m.Delete;case"OPTIONS":return m.Options;case"HEAD":return m.Head;case"PATCH":return m.Patch}throw new Error('Invalid request method. The method "'+t+'" is not supported.')}function o(t){return"responseURL"in t?t.responseURL:/^X-Request-URL:/m.test(t.getAllResponseHeaders())?t.getResponseHeader("X-Request-URL"):void 0}function s(t){for(var e=new Uint16Array(t.length),n=0,r=t.length;r>n;n++)e[n]=t.charCodeAt(n);return e.buffer}function a(t){void 0===t&&(t="");var e=new Map;if(t.length>0){var n=t.split("&");n.forEach(function(t){var n=t.indexOf("="),r=-1==n?[t,""]:[t.slice(0,n),t.slice(n+1)],i=r[0],o=r[1],s=e.get(i)||[];
+
+s.push(o),e.set(i,s)})}return e}function u(t){return encodeURIComponent(t).replace(/%40/gi,"@").replace(/%3A/gi,":").replace(/%24/gi,"$").replace(/%2C/gi,",").replace(/%3B/gi,";").replace(/%2B/gi,"+").replace(/%3D/gi,"=").replace(/%3F/gi,"?").replace(/%2F/gi,"/")}function c(){var t="object"==typeof window?window:{};return null===j&&(j=t[D]={}),j}function p(t,e){return t.createConnection(e).response}function l(t,e,n,r){var i=t;return i.merge(e?new Y({method:e.method||n,url:e.url||r,search:e.search,headers:e.headers,body:e.body,withCredentials:e.withCredentials,responseType:e.responseType}):new Y({method:n,url:r}))}function h(){return new K}function f(t,e){return new st(t,e)}function d(t,e){return new at(t,e)}var y=function(){function t(){}return t.prototype.build=function(){return new XMLHttpRequest},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[]},t}(),m={};m.Get=0,m.Post=1,m.Put=2,m.Delete=3,m.Options=4,m.Head=5,m.Patch=6,m[m.Get]="Get",m[m.Post]="Post",m[m.Put]="Put",m[m.Delete]="Delete",m[m.Options]="Options",m[m.Head]="Head",m[m.Patch]="Patch";var v={};v.Unsent=0,v.Open=1,v.HeadersReceived=2,v.Loading=3,v.Done=4,v.Cancelled=5,v[v.Unsent]="Unsent",v[v.Open]="Open",v[v.HeadersReceived]="HeadersReceived",v[v.Loading]="Loading",v[v.Done]="Done",v[v.Cancelled]="Cancelled";var g={};g.Basic=0,g.Cors=1,g.Default=2,g.Error=3,g.Opaque=4,g[g.Basic]="Basic",g[g.Cors]="Cors",g[g.Default]="Default",g[g.Error]="Error",g[g.Opaque]="Opaque";var _={};_.NONE=0,_.JSON=1,_.FORM=2,_.FORM_DATA=3,_.TEXT=4,_.BLOB=5,_.ARRAY_BUFFER=6,_[_.NONE]="NONE",_[_.JSON]="JSON",_[_.FORM]="FORM",_[_.FORM_DATA]="FORM_DATA",_[_.TEXT]="TEXT",_[_.BLOB]="BLOB",_[_.ARRAY_BUFFER]="ARRAY_BUFFER";var b={};b.Text=0,b.Json=1,b.ArrayBuffer=2,b.Blob=3,b[b.Text]="Text",b[b.Json]="Json",b[b.ArrayBuffer]="ArrayBuffer",b[b.Blob]="Blob";var w=function(){function t(e){var n=this;return this._headers=new Map,this._normalizedNames=new Map,e?e instanceof t?void e.forEach(function(t,e){t.forEach(function(t){return n.append(e,t)})}):void Object.keys(e).forEach(function(t){var r=Array.isArray(e[t])?e[t]:[e[t]];n["delete"](t),r.forEach(function(e){return n.append(t,e)})}):void 0}return t.fromResponseHeaderString=function(e){var n=new t;return e.split("\n").forEach(function(t){var e=t.indexOf(":");if(e>0){var r=t.slice(0,e),i=t.slice(e+1).trim();n.set(r,i)}}),n},t.prototype.append=function(t,e){var n=this.getAll(t);null===n?this.set(t,e):n.push(e)},t.prototype["delete"]=function(t){var e=t.toLowerCase();this._normalizedNames["delete"](e),this._headers["delete"](e)},t.prototype.forEach=function(t){var e=this;this._headers.forEach(function(n,r){return t(n,e._normalizedNames.get(r),e._headers)})},t.prototype.get=function(t){var e=this.getAll(t);return null===e?null:e.length>0?e[0]:null},t.prototype.has=function(t){return this._headers.has(t.toLowerCase())},t.prototype.keys=function(){return Array.from(this._normalizedNames.values())},t.prototype.set=function(t,e){Array.isArray(e)?e.length&&this._headers.set(t.toLowerCase(),[e.join(",")]):this._headers.set(t.toLowerCase(),[e]),this.mayBeSetNormalizedName(t)},t.prototype.values=function(){return Array.from(this._headers.values())},t.prototype.toJSON=function(){var t=this,e={};return this._headers.forEach(function(n,r){var i=[];n.forEach(function(t){return i.push.apply(i,t.split(","))}),e[t._normalizedNames.get(r)]=i}),e},t.prototype.getAll=function(t){return this.has(t)?this._headers.get(t.toLowerCase()):null},t.prototype.entries=function(){throw new Error('"entries" method is not implemented on Headers class')},t.prototype.mayBeSetNormalizedName=function(t){var e=t.toLowerCase();this._normalizedNames.has(e)||this._normalizedNames.set(e,t)},t}(),E=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},S=function(){function t(t){var e=void 0===t?{}:t,n=e.body,r=e.status,i=e.headers,o=e.statusText,s=e.type,a=e.url;this.body=null!=n?n:null,this.status=null!=r?r:null,this.headers=null!=i?i:null,this.statusText=null!=o?o:null,this.type=null!=s?s:null,this.url=null!=a?a:null}return t.prototype.merge=function(e){return new t({body:e&&null!=e.body?e.body:this.body,status:e&&null!=e.status?e.status:this.status,headers:e&&null!=e.headers?e.headers:this.headers,statusText:e&&null!=e.statusText?e.statusText:this.statusText,type:e&&null!=e.type?e.type:this.type,url:e&&null!=e.url?e.url:this.url})},t}(),C=function(t){function n(){t.call(this,{status:200,statusText:"Ok",type:g.Default,headers:new w})}return E(n,t),n.decorators=[{type:e.Injectable}],n.ctorParameters=function(){return[]},n}(S),x=function(){function t(){}return t.prototype.createConnection=function(){},t}(),T=function(){function t(){}return t}(),P=function(){function t(){}return t.prototype.configureRequest=function(){},t}(),A=function(t){return t>=200&&300>t},O=function(){function t(){}return t.prototype.encodeKey=function(t){return u(t)},t.prototype.encodeValue=function(t){return u(t)},t}(),M=function(){function t(t,e){void 0===t&&(t=""),void 0===e&&(e=new O),this.rawParams=t,this.queryEncoder=e,this.paramsMap=a(t)}return t.prototype.clone=function(){var e=new t("",this.queryEncoder);return e.appendAll(this),e},t.prototype.has=function(t){return this.paramsMap.has(t)},t.prototype.get=function(t){var e=this.paramsMap.get(t);return Array.isArray(e)?e[0]:null},t.prototype.getAll=function(t){return this.paramsMap.get(t)||[]},t.prototype.set=function(t,e){if(void 0===e||null===e)return void this["delete"](t);var n=this.paramsMap.get(t)||[];n.length=0,n.push(e),this.paramsMap.set(t,n)},t.prototype.setAll=function(t){var e=this;t.paramsMap.forEach(function(t,n){var r=e.paramsMap.get(n)||[];r.length=0,r.push(t[0]),e.paramsMap.set(n,r)})},t.prototype.append=function(t,e){if(void 0!==e&&null!==e){var n=this.paramsMap.get(t)||[];n.push(e),this.paramsMap.set(t,n)}},t.prototype.appendAll=function(t){var e=this;t.paramsMap.forEach(function(t,n){for(var r=e.paramsMap.get(n)||[],i=0;i<t.length;++i)r.push(t[i]);e.paramsMap.set(n,r)})},t.prototype.replaceAll=function(t){var e=this;t.paramsMap.forEach(function(t,n){var r=e.paramsMap.get(n)||[];r.length=0;for(var i=0;i<t.length;++i)r.push(t[i]);e.paramsMap.set(n,r)})},t.prototype.toString=function(){var t=this,e=[];return this.paramsMap.forEach(function(n,r){n.forEach(function(n){return e.push(t.queryEncoder.encodeKey(r)+"="+t.queryEncoder.encodeValue(n))})}),e.join("&")},t.prototype["delete"]=function(t){this.paramsMap["delete"](t)},t}(),R=function(){function t(){}return t.prototype.json=function(){return"string"==typeof this._body?JSON.parse(this._body):this._body instanceof ArrayBuffer?JSON.parse(this.text()):this._body},t.prototype.text=function(){return this._body instanceof M?this._body.toString():this._body instanceof ArrayBuffer?String.fromCharCode.apply(null,new Uint16Array(this._body)):null==this._body?"":"object"==typeof this._body?JSON.stringify(this._body,null,2):this._body.toString()},t.prototype.arrayBuffer=function(){return this._body instanceof ArrayBuffer?this._body:s(this.text())},t.prototype.blob=function(){if(this._body instanceof Blob)return this._body;if(this._body instanceof ArrayBuffer)return new Blob([this._body]);throw new Error("The request body isn't either a blob or an array buffer")},t}(),k=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},N=function(t){function e(e){t.call(this),this._body=e.body,this.status=e.status,this.ok=this.status>=200&&this.status<=299,this.statusText=e.statusText,this.headers=e.headers,this.type=e.type,this.url=e.url}return k(e,t),e.prototype.toString=function(){return"Response with status: "+this.status+" "+this.statusText+" for URL: "+this.url},e}(R),I=0,D="__ng_jsonp__",j=null,L=function(){function t(){}return t.prototype.build=function(t){var e=document.createElement("script");return e.src=t,e},t.prototype.nextRequestID=function(){return"__req"+I++},t.prototype.requestCallback=function(t){return D+"."+t+".finished"},t.prototype.exposeConnection=function(t,e){var n=c();n[t]=e},t.prototype.removeConnection=function(t){var e=c();e[t]=null},t.prototype.send=function(t){document.body.appendChild(t)},t.prototype.cleanup=function(t){t.parentNode&&t.parentNode.removeChild(t)},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[]},t}(),V=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},F="JSONP injected script did not invoke callback.",U="JSONP requests must use GET request method.",B=function(){function t(){}return t.prototype.finished=function(){},t}(),H=function(t){function e(e,r,i){var o=this;if(t.call(this),this._dom=r,this.baseResponseOptions=i,this._finished=!1,e.method!==m.Get)throw new TypeError(U);this.request=e,this.response=new n.Observable(function(t){o.readyState=v.Loading;var n=o._id=r.nextRequestID();r.exposeConnection(n,o);var s=r.requestCallback(o._id),a=e.url;a.indexOf("=JSONP_CALLBACK&")>-1?a=a.replace("=JSONP_CALLBACK&","="+s+"&"):a.lastIndexOf("=JSONP_CALLBACK")===a.length-"=JSONP_CALLBACK".length&&(a=a.substring(0,a.length-"=JSONP_CALLBACK".length)+("="+s));var u=o._script=r.build(a),c=function(){if(o.readyState!==v.Cancelled){if(o.readyState=v.Done,r.cleanup(u),!o._finished){var e=new S({body:F,type:g.Error,url:a});return i&&(e=i.merge(e)),void t.error(new N(e))}var n=new S({body:o._responseData,url:a});o.baseResponseOptions&&(n=o.baseResponseOptions.merge(n)),t.next(new N(n)),t.complete()}},p=function(e){if(o.readyState!==v.Cancelled){o.readyState=v.Done,r.cleanup(u);var n=new S({body:e.message,type:g.Error});i&&(n=i.merge(n)),t.error(new N(n))}};return u.addEventListener("load",c),u.addEventListener("error",p),r.send(u),function(){o.readyState=v.Cancelled,u.removeEventListener("load",c),u.removeEventListener("error",p),o._dom.cleanup(u)}})}return V(e,t),e.prototype.finished=function(t){this._finished=!0,this._dom.removeConnection(this._id),this.readyState!==v.Cancelled&&(this._responseData=t)},e}(B),q=function(t){function e(){t.apply(this,arguments)}return V(e,t),e}(x),z=function(t){function n(e,n){t.call(this),this._browserJSONP=e,this._baseResponseOptions=n}return V(n,t),n.prototype.createConnection=function(t){return new H(t,this._browserJSONP,this._baseResponseOptions)},n.decorators=[{type:e.Injectable}],n.ctorParameters=function(){return[{type:L},{type:S}]},n}(q),W=/^\)\]\}',?\n/,G=function(){function t(t,e,r){var i=this;this.request=t,this.response=new n.Observable(function(n){var s=e.build();s.open(m[t.method].toUpperCase(),t.url),null!=t.withCredentials&&(s.withCredentials=t.withCredentials);var a=function(){var e=1223===s.status?204:s.status,i=null;204!==e&&(i="undefined"==typeof s.response?s.responseText:s.response,"string"==typeof i&&(i=i.replace(W,""))),0===e&&(e=i?200:0);var a=w.fromResponseHeaderString(s.getAllResponseHeaders()),u=o(s)||t.url,c=s.statusText||"OK",p=new S({body:i,status:e,headers:a,statusText:c,url:u});null!=r&&(p=r.merge(p));var l=new N(p);return l.ok=A(e),l.ok?(n.next(l),void n.complete()):void n.error(l)},u=function(t){var e=new S({body:t,type:g.Error,status:s.status,statusText:s.statusText});null!=r&&(e=r.merge(e)),n.error(new N(e))};if(i.setDetectedContentType(t,s),null==t.headers&&(t.headers=new w),t.headers.has("Accept")||t.headers.append("Accept","application/json, text/plain, */*"),t.headers.forEach(function(t,e){return s.setRequestHeader(e,t.join(","))}),null!=t.responseType&&null!=s.responseType)switch(t.responseType){case b.ArrayBuffer:s.responseType="arraybuffer";break;case b.Json:s.responseType="json";break;case b.Text:s.responseType="text";break;case b.Blob:s.responseType="blob";break;default:throw new Error("The selected responseType is not supported")}return s.addEventListener("load",a),s.addEventListener("error",u),s.send(i.request.getBody()),function(){s.removeEventListener("load",a),s.removeEventListener("error",u),s.abort()}})}return t.prototype.setDetectedContentType=function(t,e){if(null==t.headers||null==t.headers.get("Content-Type"))switch(t.contentType){case _.NONE:break;case _.JSON:e.setRequestHeader("content-type","application/json");break;case _.FORM:e.setRequestHeader("content-type","application/x-www-form-urlencoded;charset=UTF-8");break;case _.TEXT:e.setRequestHeader("content-type","text/plain");break;case _.BLOB:var n=t.blob();n.type&&e.setRequestHeader("content-type",n.type)}},t}(),K=function(){function t(t,e){void 0===t&&(t="XSRF-TOKEN"),void 0===e&&(e="X-XSRF-TOKEN"),this._cookieName=t,this._headerName=e}return t.prototype.configureRequest=function(t){var e=r.__platform_browser_private__.getDOM().getCookie(this._cookieName);e&&t.headers.set(this._headerName,e)},t}(),X=function(){function t(t,e,n){this._browserXHR=t,this._baseResponseOptions=e,this._xsrfStrategy=n}return t.prototype.createConnection=function(t){return this._xsrfStrategy.configureRequest(t),new G(t,this._browserXHR,this._baseResponseOptions)},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[{type:y},{type:S},{type:P}]},t}(),Q=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Y=function(){function t(t){var e=void 0===t?{}:t,n=e.method,r=e.headers,o=e.body,s=e.url,a=e.search,u=e.withCredentials,c=e.responseType;this.method=null!=n?i(n):null,this.headers=null!=r?r:null,this.body=null!=o?o:null,this.url=null!=s?s:null,this.search=null!=a?"string"==typeof a?new M(a):a:null,this.withCredentials=null!=u?u:null,this.responseType=null!=c?c:null}return t.prototype.merge=function(e){return new t({method:e&&null!=e.method?e.method:this.method,headers:e&&null!=e.headers?e.headers:new w(this.headers),body:e&&null!=e.body?e.body:this.body,url:e&&null!=e.url?e.url:this.url,search:e&&null!=e.search?"string"==typeof e.search?new M(e.search):e.search.clone():this.search,withCredentials:e&&null!=e.withCredentials?e.withCredentials:this.withCredentials,responseType:e&&null!=e.responseType?e.responseType:this.responseType})},t}(),$=function(t){function n(){t.call(this,{method:m.Get,headers:new w})}return Q(n,t),n.decorators=[{type:e.Injectable}],n.ctorParameters=function(){return[]},n}(Y),Z=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},J=function(t){function e(e){t.call(this);var n=e.url;if(this.url=e.url,e.search){var r=e.search.toString();if(r.length>0){var o="?";-1!=this.url.indexOf("?")&&(o="&"==this.url[this.url.length-1]?"":"&"),this.url=n+o+r}}this._body=e.body,this.method=i(e.method),this.headers=new w(e.headers),this.contentType=this.detectContentType(),this.withCredentials=e.withCredentials,this.responseType=e.responseType}return Z(e,t),e.prototype.detectContentType=function(){switch(this.headers.get("content-type")){case"application/json":return _.JSON;case"application/x-www-form-urlencoded":return _.FORM;case"multipart/form-data":return _.FORM_DATA;case"text/plain":case"text/html":return _.TEXT;case"application/octet-stream":return this._body instanceof it?_.ARRAY_BUFFER:_.BLOB;default:return this.detectContentTypeFromBody()}},e.prototype.detectContentTypeFromBody=function(){return null==this._body?_.NONE:this._body instanceof M?_.FORM:this._body instanceof nt?_.FORM_DATA:this._body instanceof rt?_.BLOB:this._body instanceof it?_.ARRAY_BUFFER:this._body&&"object"==typeof this._body?_.JSON:_.TEXT},e.prototype.getBody=function(){switch(this.contentType){case _.JSON:return this.text();case _.FORM:return this.text();case _.FORM_DATA:return this._body;case _.TEXT:return this.text();case _.BLOB:return this.blob();case _.ARRAY_BUFFER:return this.arrayBuffer();default:return null}},e}(R),tt=function(){},et="object"==typeof window?window:tt,nt=et.FormData||tt,rt=et.Blob||tt,it=et.ArrayBuffer||tt,ot=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},st=function(){function t(t,e){this._backend=t,this._defaultOptions=e}return t.prototype.request=function(t,e){var n;if("string"==typeof t)n=p(this._backend,new J(l(this._defaultOptions,e,m.Get,t)));else{if(!(t instanceof J))throw new Error("First argument must be a url string or Request instance.");n=p(this._backend,t)}return n},t.prototype.get=function(t,e){return this.request(new J(l(this._defaultOptions,e,m.Get,t)))},t.prototype.post=function(t,e,n){return this.request(new J(l(this._defaultOptions.merge(new Y({body:e})),n,m.Post,t)))},t.prototype.put=function(t,e,n){return this.request(new J(l(this._defaultOptions.merge(new Y({body:e})),n,m.Put,t)))},t.prototype["delete"]=function(t,e){return this.request(new J(l(this._defaultOptions,e,m.Delete,t)))},t.prototype.patch=function(t,e,n){return this.request(new J(l(this._defaultOptions.merge(new Y({body:e})),n,m.Patch,t)))},t.prototype.head=function(t,e){return this.request(new J(l(this._defaultOptions,e,m.Head,t)))},t.prototype.options=function(t,e){return this.request(new J(l(this._defaultOptions,e,m.Options,t)))},t.decorators=[{type:e.Injectable}],t.ctorParameters=function(){return[{type:x},{type:Y}]},t}(),at=function(t){function n(e,n){t.call(this,e,n)}return ot(n,t),n.prototype.request=function(t,e){var n;if("string"==typeof t&&(t=new J(l(this._defaultOptions,e,m.Get,t))),!(t instanceof J))throw new Error("First argument must be a url string or Request instance.");if(t.method!==m.Get)throw new Error("JSONP requests must use GET request method.");return n=p(this._backend,t)},n.decorators=[{type:e.Injectable}],n.ctorParameters=function(){return[{type:x},{type:Y}]},n}(st),ut=function(){function t(){}return t.decorators=[{type:e.NgModule,args:[{providers:[{provide:st,useFactory:f,deps:[X,Y]},y,{provide:Y,useClass:$},{provide:S,useClass:C},X,{provide:P,useFactory:h}]}]}],t.ctorParameters=function(){return[]},t}(),ct=function(){function t(){}return t.decorators=[{type:e.NgModule,args:[{providers:[{provide:at,useFactory:d,deps:[q,Y]},L,{provide:Y,useClass:$},{provide:S,useClass:C},{provide:q,useClass:z}]}]}],t.ctorParameters=function(){return[]},t}(),pt=new e.Version("2.4.9");t.BrowserXhr=y,t.JSONPBackend=q,t.JSONPConnection=B,t.CookieXSRFStrategy=K,t.XHRBackend=X,t.XHRConnection=G,t.BaseRequestOptions=$,t.RequestOptions=Y,t.BaseResponseOptions=C,t.ResponseOptions=S,t.ReadyState=v,t.RequestMethod=m,t.ResponseContentType=b,t.ResponseType=g,t.Headers=w,t.Http=st,t.Jsonp=at,t.HttpModule=ut,t.JsonpModule=ct,t.Connection=T,t.ConnectionBackend=x,t.XSRFStrategy=P,t.Request=J,t.Response=N,t.QueryEncoder=O,t.URLSearchParams=M,t.VERSION=pt})},{"@angular/core":7,"@angular/platform-browser":10,"rxjs/Observable":15}],9:[function(e,n,r){(function(i){!function(i,o){"object"==typeof r&&"undefined"!=typeof n?o(r,e("@angular/compiler"),e("@angular/core"),e("@angular/platform-browser")):"function"==typeof t&&t.amd?t(["exports","@angular/compiler","@angular/core","@angular/platform-browser"],o):o((i.ng=i.ng||{},i.ng.platformBrowserDynamic=i.ng.platformBrowserDynamic||{}),i.ng.compiler,i.ng.core,i.ng.platformBrowser)}(this,function(t,e,n,r){"use strict";var o,s=r.__platform_browser_private__.INTERNAL_BROWSER_PLATFORM_PROVIDERS,a=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},u=function(t){function e(){t.apply(this,arguments)}return a(e,t),e.prototype.get=function(t){var e,n,r=new Promise(function(t,r){e=t,n=r}),i=new XMLHttpRequest;return i.open("GET",t,!0),i.responseType="text",i.onload=function(){var r=i.response||i.responseText,o=1223===i.status?204:i.status;0===o&&(o=r?200:0),o>=200&&300>=o?e(r):n("Failed to load "+t)},i.onerror=function(){n("Failed to load "+t)},i.send(),r},e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[]},e}(e.ResourceLoader),c=[s,{provide:n.COMPILER_OPTIONS,useValue:{providers:[{provide:e.ResourceLoader,useClass:u}]},multi:!0}];o="undefined"==typeof window?"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:i:window;var p=o;p.assert=function(){};var l=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},h=function(t){function e(){if(t.call(this),this._cache=p.$templateCache,null==this._cache)throw new Error("CachedResourceLoader: Template cache was not found in $templateCache.")}return l(e,t),e.prototype.get=function(t){return this._cache.hasOwnProperty(t)?Promise.resolve(this._cache[t]):Promise.reject("CachedResourceLoader: Did not find cached template for "+t)},e}(e.ResourceLoader),f={INTERNAL_BROWSER_DYNAMIC_PLATFORM_PROVIDERS:c,ResourceLoaderImpl:u},d=new n.Version("2.4.9"),y=[{provide:e.ResourceLoader,useClass:h}],m=n.createPlatformFactory(e.platformCoreDynamic,"browserDynamic",c);t.RESOURCE_CACHE_PROVIDER=y,t.platformBrowserDynamic=m,t.VERSION=d,t.__platform_browser_dynamic_private__=f})}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"@angular/compiler":6,"@angular/core":7,"@angular/platform-browser":10}],10:[function(e,n,r){(function(i){!function(i,o){"object"==typeof r&&"undefined"!=typeof n?o(r,e("@angular/common"),e("@angular/core")):"function"==typeof t&&t.amd?t(["exports","@angular/common","@angular/core"],o):o((i.ng=i.ng||{},i.ng.platformBrowser=i.ng.platformBrowser||{}),i.ng.common,i.ng.core)}(this,function(t,e,n){"use strict";function r(t){return null!=t}function o(t){return null==t}function s(t){if("string"==typeof t)return t;if(null==t)return""+t;if(t.overriddenName)return""+t.overriddenName;if(t.name)return""+t.name;var e=t.toString(),n=e.indexOf("\n");return-1===n?e:e.substring(0,n)}function a(t,e,n){for(var r=e.split("."),i=t;r.length>1;){var o=r.shift();i=i.hasOwnProperty(o)&&null!=i[o]?i[o]:i[o]={}}(void 0===i||null===i)&&(i={}),i[r.shift()]=n}function u(){return J}function c(t){J||(J=t)}function p(t,e){return u().getComputedStyle(t)[e]}function l(t){var e={};return Object.keys(t).forEach(function(n){"offset"!=n&&(e[n]=t[n])}),e}function h(t,e){var n={};return t.styles.forEach(function(t){Object.keys(t).forEach(function(e){n[e]=t[e]})}),Object.keys(e).forEach(function(t){r(n[t])||(n[t]=e[t])}),n}function f(t){return t instanceof et}function d(){return lt||(lt=document.querySelector("base"))?lt.getAttribute("href"):null}function y(t){return Z||(Z=document.createElement("a")),Z.setAttribute("href",t),"/"===Z.pathname.charAt(0)?Z.pathname:"/"+Z.pathname}function m(t,e){e=encodeURIComponent(e);for(var n=0,r=t.split(";");n<r.length;n++){var i=r[n],o=i.indexOf("="),s=-1==o?[i,""]:[i.slice(0,o),i.slice(o+1)],a=s[0],u=s[1];if(a.trim()===e)return decodeURIComponent(u)}return null}function v(){return!!window.history.pushState}function g(t,e){var n=t.parentNode;if(e.length>0&&n){var r=t.nextSibling;if(r)for(var i=0;i<e.length;i++)n.insertBefore(e[i],r);else for(var i=0;i<e.length;i++)n.appendChild(e[i])}}function _(t,e){for(var n=0;n<e.length;n++)t.appendChild(e[n])}function b(t){return function(e){var n=t(e);n===!1&&(e.preventDefault(),e.returnValue=!1)}}function w(t){return Dt.replace(kt,t)}function E(t){return It.replace(kt,t)}function S(t,e,n){for(var r=0;r<e.length;r++){var i=e[r];Array.isArray(i)?S(t,i,n):(i=i.replace(kt,t),n.push(i))}return n}function C(t){return":"===t[0]}function x(t){var e=t.match(jt);return[e[1],e[2]]}function T(t){return n.getDebugNode(t)}function P(t,e,r){return n.isDevMode()?A(t,(e||[]).concat(r||[])):t}function A(t,e){return u().setGlobalVar(Vt,T),u().setGlobalVar(Ft,mt.merge(Lt,O(e||[]))),new K(t)}function O(t){return t.reduce(function(t,e){return t[e.name]=e.token,t},{})}function M(t){return t=String(t),t.match(Jt)||t.match(te)?t:(n.isDevMode()&&u().log("WARNING: sanitizing unsafe URL value "+t+" (see http://g.co/ng/security#xss)"),"unsafe:"+t)}function R(t){return t=String(t),t.split(",").map(function(t){return M(t.trim())}).join(", ")}function k(){if(ee)return ee;ne=u();var t=ne.createElement("template");if("content"in t)return t;var e=ne.createHtmlDocument();if(ee=ne.querySelector(e,"body"),null==ee){var n=ne.createElement("html",e);ee=ne.createElement("body",e),ne.appendChild(n,ee),ne.appendChild(e,n)}return ee}function N(t){for(var e={},n=0,r=t.split(",");n<r.length;n++){var i=r[n];e[i]=!0}return e}function I(){for(var t=[],e=0;e<arguments.length;e++)t[e-0]=arguments[e];for(var n={},r=0,i=t;r<i.length;r++){var o=i[r];for(var s in o)o.hasOwnProperty(s)&&(n[s]=!0)}return n}function D(t){return t.replace(/&/g,"&amp;").replace(ye,function(t){var e=t.charCodeAt(0),n=t.charCodeAt(1);return"&#"+(1024*(e-55296)+(n-56320)+65536)+";"}).replace(me,function(t){return"&#"+t.charCodeAt(0)+";"}).replace(/</g,"&lt;").replace(/>/g,"&gt;")}function j(t){ne.attributeMap(t).forEach(function(e,n){("xmlns:ns1"===n||0===n.indexOf("ns1:"))&&ne.removeAttribute(t,n)});for(var e=0,n=ne.childNodesAsList(t);e<n.length;e++){var r=n[e];ne.isElementNode(r)&&j(r)}}function L(t){try{var e=k(),r=t?String(t):"",i=5,o=r;do{if(0===i)throw new Error("Failed to sanitize html because the input is unstable");i--,r=o,ne.setInnerHTML(e,r),ne.defaultDoc().documentMode&&j(e),o=ne.getInnerHTML(e)}while(r!==o);for(var s=new de,a=s.sanitizeChildren(ne.getTemplateContent(e)||e),u=ne.getTemplateContent(e)||e,c=0,p=ne.childNodesAsList(u);c<p.length;c++){var l=p[c];ne.removeChild(u,l)}return n.isDevMode()&&s.sanitizedSomething&&ne.log("WARNING: sanitizing HTML stripped some content (see http://g.co/ng/security#xss)."),a}catch(h){throw ee=null,h}}function V(t){for(var e=!0,n=!0,r=0;r<t.length;r++){var i=t.charAt(r);"'"===i&&n?e=!e:'"'===i&&e&&(n=!n)}return e&&n}function F(t){if(t=String(t).trim(),!t)return"";var e=t.match(Ce);return e&&M(e[1])===e[1]||t.match(Se)&&V(t)?t:(n.isDevMode()&&u().log("WARNING: sanitizing unsafe style value "+t+" (see http://g.co/ng/security#xss)."),"unsafe")}function U(){pt.makeCurrent(),dt.init()}function B(){return new n.ErrorHandler}function H(){return u().defaultDoc()}function q(){return u().supportsWebAnimation()?new nt:Y.NOOP}function z(t){return Object.assign(He.ng,new Ue(t)),t}function W(){He.ng&&delete He.ng.profiler}var G,K=n.__core_private__.DebugDomRootRenderer,X=n.__core_private__.NoOpAnimationPlayer,Q=function(){function t(){}return t.prototype.animate=function(t,e,n,r,i,o,s){return void 0===s&&(s=[]),new X},t}(),Y=function(){function t(){}return t.prototype.animate=function(){},t.NOOP=new Q,t}();G="undefined"==typeof window?"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:i:window;var $=G;$.assert=function(){};var Z,J=null,tt=function(){function t(){this.resourceLoaderType=null}return t.prototype.hasProperty=function(){},t.prototype.setProperty=function(){},t.prototype.getProperty=function(){},t.prototype.invoke=function(){},t.prototype.logError=function(){},t.prototype.log=function(){},t.prototype.logGroup=function(){},t.prototype.logGroupEnd=function(){},Object.defineProperty(t.prototype,"attrToPropMap",{get:function(){return this._attrToPropMap},set:function(t){this._attrToPropMap=t},enumerable:!0,configurable:!0}),t.prototype.parse=function(){},t.prototype.query=function(){},t.prototype.querySelector=function(){},t.prototype.querySelectorAll=function(){},t.prototype.on=function(){},t.prototype.onAndCancel=function(){},t.prototype.dispatchEvent=function(){},t.prototype.createMouseEvent=function(){},t.prototype.createEvent=function(){},t.prototype.preventDefault=function(){},t.prototype.isPrevented=function(){},t.prototype.getInnerHTML=function(){},t.prototype.getTemplateContent=function(){},t.prototype.getOuterHTML=function(){},t.prototype.nodeName=function(){},t.prototype.nodeValue=function(){},t.prototype.type=function(){},t.prototype.content=function(){},t.prototype.firstChild=function(){},t.prototype.nextSibling=function(){},t.prototype.parentElement=function(){},t.prototype.childNodes=function(){},t.prototype.childNodesAsList=function(){},t.prototype.clearNodes=function(){},t.prototype.appendChild=function(){},t.prototype.removeChild=function(){},t.prototype.replaceChild=function(){},t.prototype.remove=function(){},t.prototype.insertBefore=function(){},t.prototype.insertAllBefore=function(){},t.prototype.insertAfter=function(){},t.prototype.setInnerHTML=function(){},t.prototype.getText=function(){},t.prototype.setText=function(){},t.prototype.getValue=function(){},t.prototype.setValue=function(){},t.prototype.getChecked=function(){},t.prototype.setChecked=function(){},t.prototype.createComment=function(){},t.prototype.createTemplate=function(){},t.prototype.createElement=function(){},t.prototype.createElementNS=function(){},t.prototype.createTextNode=function(){},t.prototype.createScriptTag=function(){},t.prototype.createStyleElement=function(){},t.prototype.createShadowRoot=function(){},t.prototype.getShadowRoot=function(){},t.prototype.getHost=function(){},t.prototype.getDistributedNodes=function(){},t.prototype.clone=function(){},t.prototype.getElementsByClassName=function(){},t.prototype.getElementsByTagName=function(){},t.prototype.classList=function(){},t.prototype.addClass=function(){},t.prototype.removeClass=function(){},t.prototype.hasClass=function(){},t.prototype.setStyle=function(){},t.prototype.removeStyle=function(){},t.prototype.getStyle=function(){},t.prototype.hasStyle=function(){},t.prototype.tagName=function(){},t.prototype.attributeMap=function(){},t.prototype.hasAttribute=function(){},t.prototype.hasAttributeNS=function(){},t.prototype.getAttribute=function(){},t.prototype.getAttributeNS=function(){},t.prototype.setAttribute=function(){},t.prototype.setAttributeNS=function(){},t.prototype.removeAttribute=function(){},t.prototype.removeAttributeNS=function(){},t.prototype.templateAwareRoot=function(){},t.prototype.createHtmlDocument=function(){},t.prototype.defaultDoc=function(){},t.prototype.getBoundingClientRect=function(){},t.prototype.getTitle=function(){},t.prototype.setTitle=function(){},t.prototype.elementMatches=function(){},t.prototype.isTemplateElement=function(){},t.prototype.isTextNode=function(){},t.prototype.isCommentNode=function(){},t.prototype.isElementNode=function(){},t.prototype.hasShadowRoot=function(){},t.prototype.isShadowRoot=function(){},t.prototype.importIntoDoc=function(){},t.prototype.adoptNode=function(){},t.prototype.getHref=function(){},t.prototype.getEventKey=function(){},t.prototype.resolveAndSetHref=function(){},t.prototype.supportsDOMEvents=function(){},t.prototype.supportsNativeShadowDOM=function(){},t.prototype.getGlobalEventTarget=function(){},t.prototype.getHistory=function(){},t.prototype.getLocation=function(){},t.prototype.getBaseHref=function(){},t.prototype.resetBaseElement=function(){},t.prototype.getUserAgent=function(){},t.prototype.setData=function(){},t.prototype.getComputedStyle=function(){},t.prototype.getData=function(){},t.prototype.setGlobalVar=function(){},t.prototype.supportsWebAnimation=function(){},t.prototype.performanceNow=function(){},t.prototype.getAnimationPrefix=function(){},t.prototype.getTransitionEnd=function(){},t.prototype.supportsAnimation=function(){},t.prototype.supportsCookies=function(){},t.prototype.getCookie=function(){},t.prototype.setCookie=function(){},t}(),et=function(){function t(t,e,n,r){var i=this;void 0===r&&(r=[]),this.element=t,this.keyframes=e,this.options=n,this._onDoneFns=[],this._onStartFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this.parentPlayer=null,this._duration=n.duration,
+this.previousStyles={},r.forEach(function(t){var e=t._captureStyles();Object.keys(e).forEach(function(t){return i.previousStyles[t]=e[t]})})}return t.prototype._onFinish=function(){this._finished||(this._finished=!0,this._onDoneFns.forEach(function(t){return t()}),this._onDoneFns=[])},t.prototype.init=function(){var t=this;if(!this._initialized){this._initialized=!0;var e=this.keyframes.map(function(e){var r={};return Object.keys(e).forEach(function(i){var o=e[i];o==n.AUTO_STYLE&&(o=p(t.element,i)),void 0!=o&&(r[i]=o)}),r}),i=Object.keys(this.previousStyles);if(i.length){var o=e[0],s=[];if(i.forEach(function(e){r(o[e])||s.push(e),o[e]=t.previousStyles[e]}),s.length)for(var a=function(n){var r=e[n];s.forEach(function(e){r[e]=p(t.element,e)})},u=1;u<e.length;u++)a(u)}this._player=this._triggerWebAnimation(this.element,e,this.options),this._finalKeyframe=l(e[e.length-1]),this._resetDomPlayerState(),this._player.addEventListener("finish",function(){return t._onFinish()})}},t.prototype._triggerWebAnimation=function(t,e,n){return t.animate(e,n)},Object.defineProperty(t.prototype,"domPlayer",{get:function(){return this._player},enumerable:!0,configurable:!0}),t.prototype.onStart=function(t){this._onStartFns.push(t)},t.prototype.onDone=function(t){this._onDoneFns.push(t)},t.prototype.play=function(){this.init(),this.hasStarted()||(this._onStartFns.forEach(function(t){return t()}),this._onStartFns=[],this._started=!0),this._player.play()},t.prototype.pause=function(){this.init(),this._player.pause()},t.prototype.finish=function(){this.init(),this._onFinish(),this._player.finish()},t.prototype.reset=function(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1},t.prototype._resetDomPlayerState=function(){this._player&&this._player.cancel()},t.prototype.restart=function(){this.reset(),this.play()},t.prototype.hasStarted=function(){return this._started},t.prototype.destroy=function(){this._destroyed||(this._resetDomPlayerState(),this._onFinish(),this._destroyed=!0)},Object.defineProperty(t.prototype,"totalTime",{get:function(){return this._duration},enumerable:!0,configurable:!0}),t.prototype.setPosition=function(t){this._player.currentTime=t*this.totalTime},t.prototype.getPosition=function(){return this._player.currentTime/this.totalTime},t.prototype._captureStyles=function(){var t=this,e={};return this.hasStarted()&&Object.keys(this._finalKeyframe).forEach(function(n){"offset"!=n&&(e[n]=t._finished?t._finalKeyframe[n]:p(t.element,n))}),e},t}(),nt=function(){function t(){}return t.prototype.animate=function(t,e,n,i,o,s,a){void 0===a&&(a=[]);var u=[],c={};if(r(e)&&(c=h(e,{})),n.forEach(function(t){var e=h(t.styles,c);e.offset=Math.max(0,Math.min(1,t.offset)),u.push(e)}),0==u.length)u=[c,c];else if(1==u.length){var p=c,l=u[0];l.offset=null,u=[p,l]}var d={duration:i,delay:o,fill:"both"};return s&&(d.easing=s),a=a.filter(f),new et(t,u,d,a)},t}(),rt=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},it=function(t){function e(){var e=this;t.call(this),this._animationPrefix=null,this._transitionEnd=null;try{var n=this.createElement("div",this.defaultDoc());if(r(this.getStyle(n,"animationName")))this._animationPrefix="";else for(var i=["Webkit","Moz","O","ms"],o=0;o<i.length;o++)if(r(this.getStyle(n,i[o]+"AnimationName"))){this._animationPrefix="-"+i[o].toLowerCase()+"-";break}var s={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};Object.keys(s).forEach(function(t){r(e.getStyle(n,t))&&(e._transitionEnd=s[t])})}catch(a){this._animationPrefix=null,this._transitionEnd=null}}return rt(e,t),e.prototype.getDistributedNodes=function(t){return t.getDistributedNodes()},e.prototype.resolveAndSetHref=function(t,e,n){t.href=null==n?e:e+"/../"+n},e.prototype.supportsDOMEvents=function(){return!0},e.prototype.supportsNativeShadowDOM=function(){return"function"==typeof this.defaultDoc().body.createShadowRoot},e.prototype.getAnimationPrefix=function(){return this._animationPrefix?this._animationPrefix:""},e.prototype.getTransitionEnd=function(){return this._transitionEnd?this._transitionEnd:""},e.prototype.supportsAnimation=function(){return r(this._animationPrefix)&&r(this._transitionEnd)},e}(tt),ot=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},st={"class":"className",innerHtml:"innerHTML",readonly:"readOnly",tabindex:"tabIndex"},at=3,ut={"\b":"Backspace","	":"Tab","":"Delete","":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},ct={A:"1",B:"2",C:"3",D:"4",E:"5",F:"6",G:"7",H:"8",I:"9",J:"*",K:"+",M:"-",N:".",O:"/","`":"0","":"NumLock"},pt=function(t){function e(){t.apply(this,arguments)}return ot(e,t),e.prototype.parse=function(){throw new Error("parse not implemented")},e.makeCurrent=function(){c(new e)},e.prototype.hasProperty=function(t,e){return e in t},e.prototype.setProperty=function(t,e,n){t[e]=n},e.prototype.getProperty=function(t,e){return t[e]},e.prototype.invoke=function(t,e,n){(r=t)[e].apply(r,n);var r},e.prototype.logError=function(t){window.console&&(console.error?console.error(t):console.log(t))},e.prototype.log=function(t){window.console&&window.console.log&&window.console.log(t)},e.prototype.logGroup=function(t){window.console&&window.console.group&&window.console.group(t)},e.prototype.logGroupEnd=function(){window.console&&window.console.groupEnd&&window.console.groupEnd()},Object.defineProperty(e.prototype,"attrToPropMap",{get:function(){return st},enumerable:!0,configurable:!0}),e.prototype.query=function(t){return document.querySelector(t)},e.prototype.querySelector=function(t,e){return t.querySelector(e)},e.prototype.querySelectorAll=function(t,e){return t.querySelectorAll(e)},e.prototype.on=function(t,e,n){t.addEventListener(e,n,!1)},e.prototype.onAndCancel=function(t,e,n){return t.addEventListener(e,n,!1),function(){t.removeEventListener(e,n,!1)}},e.prototype.dispatchEvent=function(t,e){t.dispatchEvent(e)},e.prototype.createMouseEvent=function(t){var e=document.createEvent("MouseEvent");return e.initEvent(t,!0,!0),e},e.prototype.createEvent=function(t){var e=document.createEvent("Event");return e.initEvent(t,!0,!0),e},e.prototype.preventDefault=function(t){t.preventDefault(),t.returnValue=!1},e.prototype.isPrevented=function(t){return t.defaultPrevented||r(t.returnValue)&&!t.returnValue},e.prototype.getInnerHTML=function(t){return t.innerHTML},e.prototype.getTemplateContent=function(t){return"content"in t&&t instanceof HTMLTemplateElement?t.content:null},e.prototype.getOuterHTML=function(t){return t.outerHTML},e.prototype.nodeName=function(t){return t.nodeName},e.prototype.nodeValue=function(t){return t.nodeValue},e.prototype.type=function(t){return t.type},e.prototype.content=function(t){return this.hasProperty(t,"content")?t.content:t},e.prototype.firstChild=function(t){return t.firstChild},e.prototype.nextSibling=function(t){return t.nextSibling},e.prototype.parentElement=function(t){return t.parentNode},e.prototype.childNodes=function(t){return t.childNodes},e.prototype.childNodesAsList=function(t){for(var e=t.childNodes,n=new Array(e.length),r=0;r<e.length;r++)n[r]=e[r];return n},e.prototype.clearNodes=function(t){for(;t.firstChild;)t.removeChild(t.firstChild)},e.prototype.appendChild=function(t,e){t.appendChild(e)},e.prototype.removeChild=function(t,e){t.removeChild(e)},e.prototype.replaceChild=function(t,e,n){t.replaceChild(e,n)},e.prototype.remove=function(t){return t.parentNode&&t.parentNode.removeChild(t),t},e.prototype.insertBefore=function(t,e){t.parentNode.insertBefore(e,t)},e.prototype.insertAllBefore=function(t,e){e.forEach(function(e){return t.parentNode.insertBefore(e,t)})},e.prototype.insertAfter=function(t,e){t.parentNode.insertBefore(e,t.nextSibling)},e.prototype.setInnerHTML=function(t,e){t.innerHTML=e},e.prototype.getText=function(t){return t.textContent},e.prototype.setText=function(t,e){t.textContent=e},e.prototype.getValue=function(t){return t.value},e.prototype.setValue=function(t,e){t.value=e},e.prototype.getChecked=function(t){return t.checked},e.prototype.setChecked=function(t,e){t.checked=e},e.prototype.createComment=function(t){return document.createComment(t)},e.prototype.createTemplate=function(t){var e=document.createElement("template");return e.innerHTML=t,e},e.prototype.createElement=function(t,e){return void 0===e&&(e=document),e.createElement(t)},e.prototype.createElementNS=function(t,e,n){return void 0===n&&(n=document),n.createElementNS(t,e)},e.prototype.createTextNode=function(t,e){return void 0===e&&(e=document),e.createTextNode(t)},e.prototype.createScriptTag=function(t,e,n){void 0===n&&(n=document);var r=n.createElement("SCRIPT");return r.setAttribute(t,e),r},e.prototype.createStyleElement=function(t,e){void 0===e&&(e=document);var n=e.createElement("style");return this.appendChild(n,this.createTextNode(t)),n},e.prototype.createShadowRoot=function(t){return t.createShadowRoot()},e.prototype.getShadowRoot=function(t){return t.shadowRoot},e.prototype.getHost=function(t){return t.host},e.prototype.clone=function(t){return t.cloneNode(!0)},e.prototype.getElementsByClassName=function(t,e){return t.getElementsByClassName(e)},e.prototype.getElementsByTagName=function(t,e){return t.getElementsByTagName(e)},e.prototype.classList=function(t){return Array.prototype.slice.call(t.classList,0)},e.prototype.addClass=function(t,e){t.classList.add(e)},e.prototype.removeClass=function(t,e){t.classList.remove(e)},e.prototype.hasClass=function(t,e){return t.classList.contains(e)},e.prototype.setStyle=function(t,e,n){t.style[e]=n},e.prototype.removeStyle=function(t,e){t.style[e]=""},e.prototype.getStyle=function(t,e){return t.style[e]},e.prototype.hasStyle=function(t,e,n){void 0===n&&(n=null);var r=this.getStyle(t,e)||"";return n?r==n:r.length>0},e.prototype.tagName=function(t){return t.tagName},e.prototype.attributeMap=function(t){for(var e=new Map,n=t.attributes,r=0;r<n.length;r++){var i=n[r];e.set(i.name,i.value)}return e},e.prototype.hasAttribute=function(t,e){return t.hasAttribute(e)},e.prototype.hasAttributeNS=function(t,e,n){return t.hasAttributeNS(e,n)},e.prototype.getAttribute=function(t,e){return t.getAttribute(e)},e.prototype.getAttributeNS=function(t,e,n){return t.getAttributeNS(e,n)},e.prototype.setAttribute=function(t,e,n){t.setAttribute(e,n)},e.prototype.setAttributeNS=function(t,e,n,r){t.setAttributeNS(e,n,r)},e.prototype.removeAttribute=function(t,e){t.removeAttribute(e)},e.prototype.removeAttributeNS=function(t,e,n){t.removeAttributeNS(e,n)},e.prototype.templateAwareRoot=function(t){return this.isTemplateElement(t)?this.content(t):t},e.prototype.createHtmlDocument=function(){return document.implementation.createHTMLDocument("fakeTitle")},e.prototype.defaultDoc=function(){return document},e.prototype.getBoundingClientRect=function(t){try{return t.getBoundingClientRect()}catch(e){return{top:0,bottom:0,left:0,right:0,width:0,height:0}}},e.prototype.getTitle=function(){return document.title},e.prototype.setTitle=function(t){document.title=t||""},e.prototype.elementMatches=function(t,e){return t instanceof HTMLElement?t.matches&&t.matches(e)||t.msMatchesSelector&&t.msMatchesSelector(e)||t.webkitMatchesSelector&&t.webkitMatchesSelector(e):!1},e.prototype.isTemplateElement=function(t){return t instanceof HTMLElement&&"TEMPLATE"==t.nodeName},e.prototype.isTextNode=function(t){return t.nodeType===Node.TEXT_NODE},e.prototype.isCommentNode=function(t){return t.nodeType===Node.COMMENT_NODE},e.prototype.isElementNode=function(t){return t.nodeType===Node.ELEMENT_NODE},e.prototype.hasShadowRoot=function(t){return r(t.shadowRoot)&&t instanceof HTMLElement},e.prototype.isShadowRoot=function(t){return t instanceof DocumentFragment},e.prototype.importIntoDoc=function(t){return document.importNode(this.templateAwareRoot(t),!0)},e.prototype.adoptNode=function(t){return document.adoptNode(t)},e.prototype.getHref=function(t){return t.href},e.prototype.getEventKey=function(t){var e=t.key;if(o(e)){if(e=t.keyIdentifier,o(e))return"Unidentified";e.startsWith("U+")&&(e=String.fromCharCode(parseInt(e.substring(2),16)),t.location===at&&ct.hasOwnProperty(e)&&(e=ct[e]))}return ut[e]||e},e.prototype.getGlobalEventTarget=function(t){return"window"===t?window:"document"===t?document:"body"===t?document.body:void 0},e.prototype.getHistory=function(){return window.history},e.prototype.getLocation=function(){return window.location},e.prototype.getBaseHref=function(){var t=d();return o(t)?null:y(t)},e.prototype.resetBaseElement=function(){lt=null},e.prototype.getUserAgent=function(){return window.navigator.userAgent},e.prototype.setData=function(t,e,n){this.setAttribute(t,"data-"+e,n)},e.prototype.getData=function(t,e){return this.getAttribute(t,"data-"+e)},e.prototype.getComputedStyle=function(t){return getComputedStyle(t)},e.prototype.setGlobalVar=function(t,e){a($,t,e)},e.prototype.supportsWebAnimation=function(){return"function"==typeof Element.prototype.animate},e.prototype.performanceNow=function(){return window.performance&&window.performance.now?window.performance.now():(new Date).getTime()},e.prototype.supportsCookies=function(){return!0},e.prototype.getCookie=function(t){return m(document.cookie,t)},e.prototype.setCookie=function(t,e){document.cookie=encodeURIComponent(t)+"="+encodeURIComponent(e)},e}(it),lt=null,ht=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},ft=function(t){function e(){t.call(this),this._init()}return ht(e,t),e.prototype._init=function(){this._location=u().getLocation(),this._history=u().getHistory()},Object.defineProperty(e.prototype,"location",{get:function(){return this._location},enumerable:!0,configurable:!0}),e.prototype.getBaseHrefFromDOM=function(){return u().getBaseHref()},e.prototype.onPopState=function(t){u().getGlobalEventTarget("window").addEventListener("popstate",t,!1)},e.prototype.onHashChange=function(t){u().getGlobalEventTarget("window").addEventListener("hashchange",t,!1)},Object.defineProperty(e.prototype,"pathname",{get:function(){return this._location.pathname},set:function(t){this._location.pathname=t},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"search",{get:function(){return this._location.search},enumerable:!0,configurable:!0}),Object.defineProperty(e.prototype,"hash",{get:function(){return this._location.hash},enumerable:!0,configurable:!0}),e.prototype.pushState=function(t,e,n){v()?this._history.pushState(t,e,n):this._location.hash=n},e.prototype.replaceState=function(t,e,n){v()?this._history.replaceState(t,e,n):this._location.hash=n},e.prototype.forward=function(){this._history.forward()},e.prototype.back=function(){this._history.back()},e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[]},e}(e.PlatformLocation),dt=function(){function t(){}return t.init=function(){n.setTestabilityGetter(new t)},t.prototype.addToWindow=function(t){$.getAngularTestability=function(e,n){void 0===n&&(n=!0);var r=t.findTestabilityInTree(e,n);if(null==r)throw new Error("Could not find testability for element.");return r},$.getAllAngularTestabilities=function(){return t.getAllTestabilities()},$.getAllAngularRootElements=function(){return t.getAllRootElements()};var e=function(t){var e=$.getAllAngularTestabilities(),n=e.length,r=!1,i=function(e){r=r||e,n--,0==n&&t(r)};e.forEach(function(t){t.whenStable(i)})};$.frameworkStabilizers||($.frameworkStabilizers=[]),$.frameworkStabilizers.push(e)},t.prototype.findTestabilityInTree=function(t,e,n){if(null==e)return null;var i=t.getTestability(e);return r(i)?i:n?u().isShadowRoot(e)?this.findTestabilityInTree(t,u().getHost(e),!0):this.findTestabilityInTree(t,u().parentElement(e),!0):null},t}(),yt=function(){function t(){}return t.prototype.getTitle=function(){return u().getTitle()},t.prototype.setTitle=function(t){u().setTitle(t)},t}(),mt=function(){function t(){}return t.merge=function(t,e){for(var n={},r=0,i=Object.keys(t);r<i.length;r++){var o=i[r];n[o]=t[o]}for(var s=0,a=Object.keys(e);s<a.length;s++){var o=a[s];n[o]=e[o]}return n},t.equals=function(t,e){var n=Object.keys(t),r=Object.keys(e);if(n.length!=r.length)return!1;for(var i=0;i<n.length;i++){var o=n[i];if(t[o]!==e[o])return!1}return!0},t}(),vt=new n.OpaqueToken("DocumentToken"),gt=new n.OpaqueToken("EventManagerPlugins"),_t=function(){function t(t,e){var n=this;this._zone=e,this._eventNameToPlugin=new Map,t.forEach(function(t){return t.manager=n}),this._plugins=t.slice().reverse()}return t.prototype.addEventListener=function(t,e,n){var r=this._findPluginFor(e);return r.addEventListener(t,e,n)},t.prototype.addGlobalEventListener=function(t,e,n){var r=this._findPluginFor(e);return r.addGlobalEventListener(t,e,n)},t.prototype.getZone=function(){return this._zone},t.prototype._findPluginFor=function(t){var e=this._eventNameToPlugin.get(t);if(e)return e;for(var n=this._plugins,r=0;r<n.length;r++){var i=n[r];if(i.supports(t))return this._eventNameToPlugin.set(t,i),i}throw new Error("No event manager plugin found for event "+t)},t.decorators=[{type:n.Injectable}],t.ctorParameters=function(){return[{type:Array,decorators:[{type:n.Inject,args:[gt]}]},{type:n.NgZone}]},t}(),bt=function(){function t(){}return t.prototype.supports=function(){},t.prototype.addEventListener=function(){},t.prototype.addGlobalEventListener=function(t,e,n){var r=u().getGlobalEventTarget(t);if(!r)throw new Error("Unsupported event target "+r+" for event "+e);return this.addEventListener(r,e,n)},t}(),wt=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Et=function(){function t(){this._stylesSet=new Set}return t.prototype.addStyles=function(t){var e=this,n=new Set;t.forEach(function(t){e._stylesSet.has(t)||(e._stylesSet.add(t),n.add(t))}),this.onStylesAdded(n)},t.prototype.onStylesAdded=function(){},t.prototype.getAllStyles=function(){return Array.from(this._stylesSet)},t.decorators=[{type:n.Injectable}],t.ctorParameters=function(){return[]},t}(),St=function(t){function e(e){t.call(this),this._doc=e,this._hostNodes=new Set,this._styleNodes=new Set,this._hostNodes.add(e.head)}return wt(e,t),e.prototype._addStylesToHost=function(t,e){var n=this;t.forEach(function(t){var r=n._doc.createElement("style");r.textContent=t,n._styleNodes.add(e.appendChild(r))})},e.prototype.addHost=function(t){this._addStylesToHost(this._stylesSet,t),this._hostNodes.add(t)},e.prototype.removeHost=function(t){this._hostNodes["delete"](t)},e.prototype.onStylesAdded=function(t){var e=this;this._hostNodes.forEach(function(n){return e._addStylesToHost(t,n)})},e.prototype.ngOnDestroy=function(){this._styleNodes.forEach(function(t){return u().remove(t)})},e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:n.Inject,args:[vt]}]}]},e}(Et),Ct=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},xt={xlink:"http://www.w3.org/1999/xlink",svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml"},Tt="template bindings={}",Pt=/^template bindings=(.*)$/,At=function(){function t(t,e,n,r,i){this.document=t,this.eventManager=e,this.sharedStylesHost=n,this.animationDriver=r,this.appId=i,this.registeredComponents=new Map}return t.prototype.renderComponent=function(t){var e=this.registeredComponents.get(t.id);return e||(e=new Rt(this,t,this.animationDriver,this.appId+"-"+t.id),this.registeredComponents.set(t.id,e)),e},t}(),Ot=function(t){function e(e,n,r,i,o){t.call(this,e,n,r,i,o)}return Ct(e,t),e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[{type:void 0,decorators:[{type:n.Inject,args:[vt]}]},{type:_t},{type:St},{type:Y},{type:void 0,decorators:[{type:n.Inject,args:[n.APP_ID]}]}]},e}(At),Mt={remove:function(t){t.parentNode&&t.parentNode.removeChild(t)},appendChild:function(t,e){e.appendChild(t)},insertBefore:function(t,e){e.parentNode.insertBefore(t,e)},nextSibling:function(t){return t.nextSibling},parentElement:function(t){return t.parentNode}},Rt=function(){function t(t,e,r,i){this._rootRenderer=t,this.componentProto=e,this._animationDriver=r,this.directRenderer=Mt,this._styles=S(i,e.styles,[]),e.encapsulation!==n.ViewEncapsulation.Native&&this._rootRenderer.sharedStylesHost.addStyles(this._styles),this.componentProto.encapsulation===n.ViewEncapsulation.Emulated?(this._contentAttr=w(i),this._hostAttr=E(i)):(this._contentAttr=null,this._hostAttr=null)}return t.prototype.selectRootElement=function(t){var e;if("string"==typeof t){if(e=this._rootRenderer.document.querySelector(t),!e)throw new Error('The selector "'+t+'" did not match any elements')}else e=t;for(;e.firstChild;)e.removeChild(e.firstChild);return e},t.prototype.createElement=function(t,e){var n;if(C(e)){var r=x(e);n=document.createElementNS(xt[r[0]],r[1])}else n=document.createElement(e);return this._contentAttr&&n.setAttribute(this._contentAttr,""),t&&t.appendChild(n),n},t.prototype.createViewRoot=function(t){var e;if(this.componentProto.encapsulation===n.ViewEncapsulation.Native){e=t.createShadowRoot();for(var r=0;r<this._styles.length;r++){var i=document.createElement("style");i.textContent=this._styles[r],e.appendChild(i)}}else this._hostAttr&&t.setAttribute(this._hostAttr,""),e=t;return e},t.prototype.createTemplateAnchor=function(t){var e=document.createComment(Tt);return t&&t.appendChild(e),e},t.prototype.createText=function(t,e){var n=document.createTextNode(e);return t&&t.appendChild(n),n},t.prototype.projectNodes=function(t,e){t&&_(t,e)},t.prototype.attachViewAfter=function(t,e){g(t,e)},t.prototype.detachView=function(t){for(var e=0;e<t.length;e++){var n=t[e];n.parentNode&&n.parentNode.removeChild(n)}},t.prototype.destroyView=function(t){this.componentProto.encapsulation===n.ViewEncapsulation.Native&&t&&this._rootRenderer.sharedStylesHost.removeHost(t.shadowRoot)},t.prototype.listen=function(t,e,n){return this._rootRenderer.eventManager.addEventListener(t,e,b(n))},t.prototype.listenGlobal=function(t,e,n){return this._rootRenderer.eventManager.addGlobalEventListener(t,e,b(n))},t.prototype.setElementProperty=function(t,e,n){t[e]=n},t.prototype.setElementAttribute=function(t,e,n){var i,o=e;if(C(e)){var s=x(e);o=s[1],e=s[0]+":"+s[1],i=xt[s[0]]}r(n)?i?t.setAttributeNS(i,e,n):t.setAttribute(e,n):r(i)?t.removeAttributeNS(i,o):t.removeAttribute(e)},t.prototype.setBindingDebugInfo=function(t,e,n){if(t.nodeType===Node.COMMENT_NODE){var r=t.nodeValue.replace(/\n/g,"").match(Pt),i=JSON.parse(r[1]);i[e]=n,t.nodeValue=Tt.replace("{}",JSON.stringify(i,null,2))}else this.setElementAttribute(t,e,n)},t.prototype.setElementClass=function(t,e,n){n?t.classList.add(e):t.classList.remove(e)},t.prototype.setElementStyle=function(t,e,n){t.style[e]=r(n)?s(n):""},t.prototype.invokeElementMethod=function(t,e,n){t[e].apply(t,n)},t.prototype.setText=function(t,e){t.nodeValue=e},t.prototype.animate=function(t,e,n,r,i,o,s){return void 0===s&&(s=[]),this._rootRenderer.document.body.contains(t)?this._animationDriver.animate(t,e,n,r,i,o,s):new X},t}(),kt=/%COMP%/g,Nt="%COMP%",It="_nghost-"+Nt,Dt="_ngcontent-"+Nt,jt=/^:([^:]+):(.+)$/,Lt={ApplicationRef:n.ApplicationRef,NgZone:n.NgZone},Vt="ng.probe",Ft="ng.coreTokens",Ut=function(){function t(t,e){this.name=t,this.token=e}return t}(),Bt=[{provide:n.RootRenderer,useFactory:P,deps:[At,[Ut,new n.Optional],[n.NgProbeToken,new n.Optional]]}],Ht=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},qt=function(t){function e(){t.apply(this,arguments)}return Ht(e,t),e.prototype.supports=function(){return!0},e.prototype.addEventListener=function(t,e,n){return t.addEventListener(e,n,!1),function(){return t.removeEventListener(e,n,!1)}},e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[]},e}(bt),zt=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Wt={pan:!0,panstart:!0,panmove:!0,panend:!0,pancancel:!0,panleft:!0,panright:!0,panup:!0,pandown:!0,pinch:!0,pinchstart:!0,pinchmove:!0,pinchend:!0,pinchcancel:!0,pinchin:!0,pinchout:!0,press:!0,pressup:!0,rotate:!0,rotatestart:!0,rotatemove:!0,rotateend:!0,rotatecancel:!0,swipe:!0,swipeleft:!0,swiperight:!0,swipeup:!0,swipedown:!0,tap:!0},Gt=new n.OpaqueToken("HammerGestureConfig"),Kt=function(){function t(){this.events=[],this.overrides={}}return t.prototype.buildHammer=function(t){var e=new Hammer(t);e.get("pinch").set({enable:!0}),e.get("rotate").set({enable:!0});for(var n in this.overrides)e.get(n).set(this.overrides[n]);return e},t.decorators=[{type:n.Injectable}],t.ctorParameters=function(){return[]},t}(),Xt=function(t){function e(e){t.call(this),this._config=e}return zt(e,t),e.prototype.supports=function(t){if(!Wt.hasOwnProperty(t.toLowerCase())&&!this.isCustomEvent(t))return!1;if(!window.Hammer)throw new Error("Hammer.js is not loaded, can not bind "+t+" event");return!0},e.prototype.addEventListener=function(t,e,n){var r=this,i=this.manager.getZone();return e=e.toLowerCase(),i.runOutsideAngular(function(){var o=r._config.buildHammer(t),s=function(t){i.runGuarded(function(){n(t)})};return o.on(e,s),function(){return o.off(e,s)}})},e.prototype.isCustomEvent=function(t){return this._config.events.indexOf(t)>-1},e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[{type:Kt,decorators:[{type:n.Inject,args:[Gt]}]}]},e}(bt),Qt=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Yt=["alt","control","meta","shift"],$t={alt:function(t){return t.altKey},control:function(t){return t.ctrlKey},meta:function(t){return t.metaKey},shift:function(t){return t.shiftKey}},Zt=function(t){function e(){t.call(this)}return Qt(e,t),e.prototype.supports=function(t){return null!=e.parseEventName(t)},e.prototype.addEventListener=function(t,n,r){var i=e.parseEventName(n),o=e.eventCallback(i.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(function(){return u().onAndCancel(t,i.domEventName,o)})},e.parseEventName=function(t){var n=t.toLowerCase().split("."),r=n.shift();if(0===n.length||"keydown"!==r&&"keyup"!==r)return null;var i=e._normalizeKey(n.pop()),o="";if(Yt.forEach(function(t){var e=n.indexOf(t);e>-1&&(n.splice(e,1),o+=t+".")}),o+=i,0!=n.length||0===i.length)return null;var s={};return s.domEventName=r,s.fullKey=o,s},e.getEventFullKey=function(t){var e="",n=u().getEventKey(t);return n=n.toLowerCase()," "===n?n="space":"."===n&&(n="dot"),Yt.forEach(function(r){if(r!=n){var i=$t[r];i(t)&&(e+=r+".")}}),e+=n},e.eventCallback=function(t,n,r){return function(i){e.getEventFullKey(i)===t&&r.runGuarded(function(){return n(i)})}},e._normalizeKey=function(t){switch(t){case"esc":return"escape";default:return t}},e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[]},e}(bt),Jt=/^(?:(?:https?|mailto|ftp|tel|file):|[^&:\/?#]*(?:[\/?#]|$))/gi,te=/^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[a-z0-9+\/]+=*$/i,ee=null,ne=null,re=N("area,br,col,hr,img,wbr"),ie=N("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),oe=N("rp,rt"),se=I(oe,ie),ae=I(ie,N("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),ue=I(oe,N("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),ce=I(re,ae,ue,se),pe=N("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),le=N("srcset"),he=N("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),fe=I(pe,le,he),de=function(){function t(){this.sanitizedSomething=!1,this.buf=[]}return t.prototype.sanitizeChildren=function(t){for(var e=t.firstChild;e;)if(ne.isElementNode(e)?this.startElement(e):ne.isTextNode(e)?this.chars(ne.nodeValue(e)):this.sanitizedSomething=!0,ne.firstChild(e))e=ne.firstChild(e);else for(;e;){if(ne.isElementNode(e)&&this.endElement(e),ne.nextSibling(e)){e=ne.nextSibling(e);break}e=ne.parentElement(e)}return this.buf.join("")},t.prototype.startElement=function(t){var e=this,n=ne.nodeName(t).toLowerCase();return ce.hasOwnProperty(n)?(this.buf.push("<"),this.buf.push(n),ne.attributeMap(t).forEach(function(t,n){var r=n.toLowerCase();return fe.hasOwnProperty(r)?(pe[r]&&(t=M(t)),le[r]&&(t=R(t)),e.buf.push(" "),e.buf.push(n),e.buf.push('="'),e.buf.push(D(t)),void e.buf.push('"')):void(e.sanitizedSomething=!0)}),void this.buf.push(">")):void(this.sanitizedSomething=!0)},t.prototype.endElement=function(t){var e=ne.nodeName(t).toLowerCase();ce.hasOwnProperty(e)&&!re.hasOwnProperty(e)&&(this.buf.push("</"),this.buf.push(e),this.buf.push(">"))},t.prototype.chars=function(t){this.buf.push(D(t))},t}(),ye=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,me=/([^\#-~ |!])/g,ve="[-,.\"'%_!# a-zA-Z0-9]+",ge="(?:matrix|translate|scale|rotate|skew|perspective)(?:X|Y|3d)?",_e="(?:rgb|hsl)a?",be="(?:repeating-)?(?:linear|radial)-gradient",we="(?:calc|attr)",Ee="\\([-0-9.%, #a-zA-Z]+\\)",Se=new RegExp("^("+ve+"|"+("(?:"+ge+"|"+_e+"|"+be+"|"+we+")")+(Ee+")$"),"g"),Ce=/^url\(([^)]+)\)$/,xe=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Te=function(){function t(){}return t.prototype.sanitize=function(){},t.prototype.bypassSecurityTrustHtml=function(){},t.prototype.bypassSecurityTrustStyle=function(){},t.prototype.bypassSecurityTrustScript=function(){},t.prototype.bypassSecurityTrustUrl=function(){},t.prototype.bypassSecurityTrustResourceUrl=function(){},t}(),Pe=function(t){function e(){t.apply(this,arguments)}return xe(e,t),e.prototype.sanitize=function(t,e){if(null==e)return null;switch(t){case n.SecurityContext.NONE:return e;case n.SecurityContext.HTML:return e instanceof Oe?e.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(e,"HTML"),L(String(e)));case n.SecurityContext.STYLE:return e instanceof Me?e.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(e,"Style"),F(e));case n.SecurityContext.SCRIPT:if(e instanceof Re)return e.changingThisBreaksApplicationSecurity;throw this.checkNotSafeValue(e,"Script"),new Error("unsafe value used in a script context");case n.SecurityContext.URL:return e instanceof Ne||e instanceof ke?e.changingThisBreaksApplicationSecurity:(this.checkNotSafeValue(e,"URL"),M(String(e)));case n.SecurityContext.RESOURCE_URL:if(e instanceof Ne)return e.changingThisBreaksApplicationSecurity;throw this.checkNotSafeValue(e,"ResourceURL"),new Error("unsafe value used in a resource URL context (see http://g.co/ng/security#xss)");
+
+default:throw new Error("Unexpected SecurityContext "+t+" (see http://g.co/ng/security#xss)")}},e.prototype.checkNotSafeValue=function(t,e){if(t instanceof Ae)throw new Error("Required a safe "+e+", got a "+t.getTypeName()+" (see http://g.co/ng/security#xss)")},e.prototype.bypassSecurityTrustHtml=function(t){return new Oe(t)},e.prototype.bypassSecurityTrustStyle=function(t){return new Me(t)},e.prototype.bypassSecurityTrustScript=function(t){return new Re(t)},e.prototype.bypassSecurityTrustUrl=function(t){return new ke(t)},e.prototype.bypassSecurityTrustResourceUrl=function(t){return new Ne(t)},e.decorators=[{type:n.Injectable}],e.ctorParameters=function(){return[]},e}(Te),Ae=function(){function t(t){this.changingThisBreaksApplicationSecurity=t}return t.prototype.getTypeName=function(){},t.prototype.toString=function(){return"SafeValue must use [property]=binding: "+this.changingThisBreaksApplicationSecurity+" (see http://g.co/ng/security#xss)"},t}(),Oe=function(t){function e(){t.apply(this,arguments)}return xe(e,t),e.prototype.getTypeName=function(){return"HTML"},e}(Ae),Me=function(t){function e(){t.apply(this,arguments)}return xe(e,t),e.prototype.getTypeName=function(){return"Style"},e}(Ae),Re=function(t){function e(){t.apply(this,arguments)}return xe(e,t),e.prototype.getTypeName=function(){return"Script"},e}(Ae),ke=function(t){function e(){t.apply(this,arguments)}return xe(e,t),e.prototype.getTypeName=function(){return"URL"},e}(Ae),Ne=function(t){function e(){t.apply(this,arguments)}return xe(e,t),e.prototype.getTypeName=function(){return"ResourceURL"},e}(Ae),Ie=[{provide:n.PLATFORM_INITIALIZER,useValue:U,multi:!0},{provide:e.PlatformLocation,useClass:ft}],De=[{provide:n.Sanitizer,useExisting:Te},{provide:Te,useClass:Pe}],je=n.createPlatformFactory(n.platformCore,"browser",Ie),Le=function(){function t(t){if(t)throw new Error("BrowserModule has already been loaded. If you need access to common directives such as NgIf and NgFor from a lazy loaded module, import CommonModule instead.")}return t.decorators=[{type:n.NgModule,args:[{providers:[De,{provide:n.ErrorHandler,useFactory:B,deps:[]},{provide:vt,useFactory:H,deps:[]},{provide:gt,useClass:qt,multi:!0},{provide:gt,useClass:Zt,multi:!0},{provide:gt,useClass:Xt,multi:!0},{provide:Gt,useClass:Kt},{provide:At,useClass:Ot},{provide:n.RootRenderer,useExisting:At},{provide:Et,useExisting:St},{provide:Y,useFactory:q},St,n.Testability,_t,Bt,yt],exports:[e.CommonModule,n.ApplicationModule]}]}],t.ctorParameters=function(){return[{type:t,decorators:[{type:n.Optional},{type:n.SkipSelf}]}]},t}(),Ve="undefined"!=typeof window&&window||{},Fe=function(){function t(t,e){this.msPerTick=t,this.numTicks=e}return t}(),Ue=function(){function t(t){this.profiler=new Be(t)}return t}(),Be=function(){function t(t){this.appRef=t.injector.get(n.ApplicationRef)}return t.prototype.timeChangeDetection=function(t){var e=t&&t.record,n="Change Detection",i=r(Ve.console.profile);e&&i&&Ve.console.profile(n);for(var o=u().performanceNow(),s=0;5>s||u().performanceNow()-o<500;)this.appRef.tick(),s++;var a=u().performanceNow();e&&i&&Ve.console.profileEnd(n);var c=(a-o)/s;return Ve.console.log("ran "+s+" change detection cycles"),Ve.console.log(c.toFixed(2)+" ms per check"),new Fe(c,s)},t}(),He=$,qe=function(){function t(){}return t.all=function(){return function(){return!0}},t.css=function(t){return function(e){return r(e.nativeElement)?u().elementMatches(e.nativeElement,t):!1}},t.directive=function(t){return function(e){return-1!==e.providerTokens.indexOf(t)}},t}(),ze={BrowserPlatformLocation:ft,DomAdapter:tt,BrowserDomAdapter:pt,BrowserGetTestability:dt,getDOM:u,setRootDomAdapter:c,DomRootRenderer_:Ot,DomRootRenderer:At,NAMESPACE_URIS:xt,shimContentAttribute:w,shimHostAttribute:E,flattenStyles:S,splitNamespace:x,isNamespaced:C,DomSharedStylesHost:St,SharedStylesHost:Et,ELEMENT_PROBE_PROVIDERS:Bt,DomEventsPlugin:qt,KeyEventsPlugin:Zt,HammerGesturesPlugin:Xt,initDomAdapter:U,INTERNAL_BROWSER_PLATFORM_PROVIDERS:Ie,BROWSER_SANITIZATION_PROVIDERS:De,WebAnimationsDriver:nt},We=new n.Version("2.4.9");t.BrowserModule=Le,t.platformBrowser=je,t.Title=yt,t.disableDebugTools=W,t.enableDebugTools=z,t.AnimationDriver=Y,t.By=qe,t.NgProbeToken=Ut,t.DOCUMENT=vt,t.EVENT_MANAGER_PLUGINS=gt,t.EventManager=_t,t.HAMMER_GESTURE_CONFIG=Gt,t.HammerGestureConfig=Kt,t.DomSanitizer=Te,t.VERSION=We,t.__platform_browser_private__=ze})}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"@angular/common":5,"@angular/core":7}],11:[function(e,n,r){!function(i,o){"object"==typeof r&&"undefined"!=typeof n?o(r,e("@angular/common"),e("@angular/core"),e("rxjs/BehaviorSubject"),e("rxjs/Subject"),e("rxjs/observable/from"),e("rxjs/observable/of"),e("rxjs/operator/concatMap"),e("rxjs/operator/every"),e("rxjs/operator/first"),e("rxjs/operator/map"),e("rxjs/operator/mergeMap"),e("rxjs/operator/reduce"),e("rxjs/Observable"),e("rxjs/operator/catch"),e("rxjs/operator/concatAll"),e("rxjs/util/EmptyError"),e("rxjs/observable/fromPromise"),e("rxjs/operator/last"),e("rxjs/operator/mergeAll"),e("@angular/platform-browser"),e("rxjs/operator/filter")):"function"==typeof t&&t.amd?t(["exports","@angular/common","@angular/core","rxjs/BehaviorSubject","rxjs/Subject","rxjs/observable/from","rxjs/observable/of","rxjs/operator/concatMap","rxjs/operator/every","rxjs/operator/first","rxjs/operator/map","rxjs/operator/mergeMap","rxjs/operator/reduce","rxjs/Observable","rxjs/operator/catch","rxjs/operator/concatAll","rxjs/util/EmptyError","rxjs/observable/fromPromise","rxjs/operator/last","rxjs/operator/mergeAll","@angular/platform-browser","rxjs/operator/filter"],o):o((i.ng=i.ng||{},i.ng.router=i.ng.router||{}),i.ng.common,i.ng.core,i.Rx,i.Rx,i.Rx.Observable,i.Rx.Observable,i.Rx.Observable.prototype,i.Rx.Observable.prototype,i.Rx.Observable.prototype,i.Rx.Observable.prototype,i.Rx.Observable.prototype,i.Rx.Observable.prototype,i.Rx,i.Rx.Observable.prototype,i.Rx.Observable.prototype,i.Rx,i.Rx.Observable,i.Rx.Observable.prototype,i.Rx.Observable.prototype,i.ng.platformBrowser,i.Rx.Observable.prototype)}(this,function(t,e,n,r,i,o,s,a,u,c,p,l,h,f,d,y,m,v,g,_,b,w){"use strict";function E(t,e,n){for(var r=n.path,i=r.split("/"),o={},s=[],a=0,u=0;u<i.length;++u){if(a>=t.length)return null;var c=t[a],p=i[u],l=p.startsWith(":");if(!l&&p!==c.path)return null;l&&(o[p.substring(1)]=c),s.push(c),a++}return"full"===n.pathMatch&&(e.hasChildren()||a<t.length)?null:{consumed:s,posParams:o}}function S(t,e){if(t.length!==e.length)return!1;for(var n=0;n<t.length;++n)if(!C(t[n],e[n]))return!1;return!0}function C(t,e){var n=Object.keys(t),r=Object.keys(e);if(n.length!=r.length)return!1;for(var i,o=0;o<n.length;o++)if(i=n[o],t[i]!==e[i])return!1;return!0}function x(t){for(var e=[],n=0;n<t.length;++n)for(var r=0;r<t[n].length;++r)e.push(t[n][r]);return e}function T(t){return t.length>0?t[t.length-1]:null}function P(t,e){var n={};for(var r in t)t.hasOwnProperty(r)&&(n[r]=t[r]);for(var r in e)e.hasOwnProperty(r)&&(n[r]=e[r]);return n}function A(t,e){for(var n in t)t.hasOwnProperty(n)&&e(t[n],n)}function O(t,e){var n=[],r={};if(A(t,function(t,i){i===Ae&&n.push(p.map.call(e(i,t),function(t){return r[i]=t,t}))}),A(t,function(t,i){i!==Ae&&n.push(p.map.call(e(i,t),function(t){return r[i]=t,t}))}),n.length>0){var i=y.concatAll.call(s.of.apply(void 0,n)),o=g.last.call(i);return p.map.call(o,function(){return r})}return s.of(r)}function M(t){var e=_.mergeAll.call(t);return u.every.call(e,function(t){return t===!0})}function R(t){return Te(t)?t:xe(t)?v.fromPromise(t):s.of(t)}function k(){return new Ne(new Ie([],{}),{},null)}function N(t,e,n){return n?I(t.queryParams,e.queryParams)&&D(t.root,e.root):j(t.queryParams,e.queryParams)&&L(t.root,e.root)}function I(t,e){return C(t,e)}function D(t,e){if(!U(t.segments,e.segments))return!1;if(t.numberOfChildren!==e.numberOfChildren)return!1;for(var n in e.children){if(!t.children[n])return!1;if(!D(t.children[n],e.children[n]))return!1}return!0}function j(t,e){return Object.keys(e).length<=Object.keys(t).length&&Object.keys(e).every(function(n){return e[n]===t[n]})}function L(t,e){return V(t,e,e.segments)}function V(t,e,n){if(t.segments.length>n.length){var r=t.segments.slice(0,n.length);return U(r,n)?e.hasChildren()?!1:!0:!1}if(t.segments.length===n.length){if(!U(t.segments,n))return!1;for(var i in e.children){if(!t.children[i])return!1;if(!L(t.children[i],e.children[i]))return!1}return!0}var r=n.slice(0,t.segments.length),o=n.slice(t.segments.length);return U(t.segments,r)&&t.children[Ae]?V(t.children[Ae],e,o):!1}function F(t,e){if(t.length!==e.length)return!1;for(var n=0;n<t.length;++n){if(t[n].path!==e[n].path)return!1;if(!C(t[n].parameters,e[n].parameters))return!1}return!0}function U(t,e){if(t.length!==e.length)return!1;for(var n=0;n<t.length;++n)if(t[n].path!==e[n].path)return!1;return!0}function B(t,e){var n=[];return A(t.children,function(t,r){r===Ae&&(n=n.concat(e(t,r)))}),A(t.children,function(t,r){r!==Ae&&(n=n.concat(e(t,r)))}),n}function H(t){return t.segments.map(function(t){return G(t)}).join("/")}function q(t,e){if(t.hasChildren()&&e){var n=t.children[Ae]?q(t.children[Ae],!1):"",r=[];return A(t.children,function(t,e){e!==Ae&&r.push(e+":"+q(t,!1))}),r.length>0?n+"("+r.join("//")+")":""+n}if(t.hasChildren()&&!e){var i=B(t,function(e,n){return n===Ae?[q(t.children[Ae],!1)]:[n+":"+q(e,!1)]});return H(t)+"/("+i.join("//")+")"}return H(t)}function z(t){return encodeURIComponent(t)}function W(t){return decodeURIComponent(t)}function G(t){return""+z(t.path)+K(t.parameters)}function K(t){return Q(t).map(function(t){return";"+z(t.first)+"="+z(t.second)}).join("")}function X(t){var e=Object.keys(t).map(function(e){var n=t[e];return Array.isArray(n)?n.map(function(t){return z(e)+"="+z(t)}).join("&"):z(e)+"="+z(n)});return e.length?"?"+e.join("&"):""}function Q(t){var e=[];for(var n in t)t.hasOwnProperty(n)&&e.push(new Ve(n,t[n]));return e}function Y(t){Fe.lastIndex=0;var e=t.match(Fe);return e?e[0]:""}function $(t){Ue.lastIndex=0;var e=t.match(Fe);return e?e[0]:""}function Z(t){Be.lastIndex=0;var e=t.match(Be);return e?e[0]:""}function J(t){return new f.Observable(function(e){return e.error(new qe(t))})}function tt(t){return new f.Observable(function(e){return e.error(new ze(t))})}function et(t){return new f.Observable(function(e){return e.error(new Error("Only absolute redirects can have named outlets. redirectTo: '"+t+"'"))})}function nt(t){return new f.Observable(function(e){return e.error(new Oe("Cannot load children because the guard of the route \"path: '"+t.path+"'\" returned false"))})}function rt(t,e,n,r,i){return new We(t,e,n,r,i).apply()}function it(t,e){var n=e.canLoad;if(!n||0===n.length)return s.of(!0);var r=p.map.call(o.from(n),function(n){var r=t.get(n);return R(r.canLoad?r.canLoad(e):r(e))});return M(r)}function ot(t,e,n){var r={matched:!1,consumedSegments:[],lastChild:0,positionalParamSegments:{}};if(""===e.path)return"full"===e.pathMatch&&(t.hasChildren()||n.length>0)?{matched:!1,consumedSegments:[],lastChild:0,positionalParamSegments:{}}:{matched:!0,consumedSegments:[],lastChild:0,positionalParamSegments:{}};var i=e.matcher||E,o=i(n,t,e);return o?{matched:!0,consumedSegments:o.consumed,lastChild:o.consumed.length,positionalParamSegments:o.posParams}:r}function st(t,e,n,r){if(n.length>0&&pt(t,n,r)){var i=new Ie(e,ct(r,new Ie(n,t.children)));return{segmentGroup:at(i),slicedSegments:[]}}if(0===n.length&&lt(t,n,r)){var i=new Ie(t.segments,ut(t,n,r,t.children));return{segmentGroup:at(i),slicedSegments:n}}return{segmentGroup:t,slicedSegments:n}}function at(t){if(1===t.numberOfChildren&&t.children[Ae]){var e=t.children[Ae];return new Ie(t.segments.concat(e.segments),e.children)}return t}function ut(t,e,n,r){for(var i={},o=0,s=n;o<s.length;o++){var a=s[o];ht(t,e,a)&&!r[ft(a)]&&(i[ft(a)]=new Ie([],{}))}return P(r,i)}function ct(t,e){var n={};n[Ae]=e;for(var r=0,i=t;r<i.length;r++){var o=i[r];""===o.path&&ft(o)!==Ae&&(n[ft(o)]=new Ie([],{}))}return n}function pt(t,e,n){return n.filter(function(n){return ht(t,e,n)&&ft(n)!==Ae}).length>0}function lt(t,e,n){return n.filter(function(n){return ht(t,e,n)}).length>0}function ht(t,e,n){return(t.hasChildren()||e.length>0)&&"full"===n.pathMatch?!1:""===n.path&&void 0!==n.redirectTo}function ft(t){return t.outlet?t.outlet:Ae}function dt(t,e){void 0===e&&(e="");for(var n=0;n<t.length;n++){var r=t[n],i=mt(e,r);yt(r,i)}}function yt(t,e){if(!t)throw new Error("\n      Invalid configuration of route '"+e+"': Encountered undefined route.\n      The reason might be an extra comma.\n       \n      Example: \n      const routes: Routes = [\n        { path: '', redirectTo: '/dashboard', pathMatch: 'full' },\n        { path: 'dashboard',  component: DashboardComponent },, << two commas\n        { path: 'detail/:id', component: HeroDetailComponent }\n      ];\n    ");if(Array.isArray(t))throw new Error("Invalid configuration of route '"+e+"': Array cannot be specified");if(!t.component&&t.outlet&&t.outlet!==Ae)throw new Error("Invalid configuration of route '"+e+"': a componentless route cannot have a named outlet set");if(t.redirectTo&&t.children)throw new Error("Invalid configuration of route '"+e+"': redirectTo and children cannot be used together");if(t.redirectTo&&t.loadChildren)throw new Error("Invalid configuration of route '"+e+"': redirectTo and loadChildren cannot be used together");if(t.children&&t.loadChildren)throw new Error("Invalid configuration of route '"+e+"': children and loadChildren cannot be used together");if(t.redirectTo&&t.component)throw new Error("Invalid configuration of route '"+e+"': redirectTo and component cannot be used together");if(t.path&&t.matcher)throw new Error("Invalid configuration of route '"+e+"': path and matcher cannot be used together");if(void 0===t.redirectTo&&!t.component&&!t.children&&!t.loadChildren)throw new Error("Invalid configuration of route '"+e+"'. One of the following must be provided: component, redirectTo, children or loadChildren");if(void 0===t.path&&void 0===t.matcher)throw new Error("Invalid configuration of route '"+e+"': routes must have either a path or a matcher specified");if("string"==typeof t.path&&"/"===t.path.charAt(0))throw new Error("Invalid configuration of route '"+e+"': path cannot start with a slash");if(""===t.path&&void 0!==t.redirectTo&&void 0===t.pathMatch){var n="The default value of 'pathMatch' is 'prefix', but often the intent is to use 'full'.";throw new Error("Invalid configuration of route '{path: \""+e+'", redirectTo: "'+t.redirectTo+"\"}': please provide 'pathMatch'. "+n)}if(void 0!==t.pathMatch&&"full"!==t.pathMatch&&"prefix"!==t.pathMatch)throw new Error("Invalid configuration of route '"+e+"': pathMatch can only be set to 'prefix' or 'full'");t.children&&dt(t.children,e)}function mt(t,e){return e?t||e.path?t&&!e.path?t+"/":!t&&e.path?e.path:t+"/"+e.path:"":t}function vt(t,e){if(t===e.value)return e;for(var n=0,r=e.children;n<r.length;n++){var i=r[n],o=vt(t,i);if(o)return o}return null}function gt(t,e,n){if(n.push(e),t===e.value)return n;for(var r=0,i=e.children;r<i.length;r++){var o=i[r],s=n.slice(0),a=gt(t,o,s);if(a.length>0)return a}return[]}function _t(t,e){var n=bt(t,e),i=new r.BehaviorSubject([new De("",{})]),o=new r.BehaviorSubject({}),s=new r.BehaviorSubject({}),a=new r.BehaviorSubject({}),u=new r.BehaviorSubject(""),c=new Ye(i,o,a,u,s,Ae,e,n.root);return c.snapshot=n.root,new Qe(new Ke(c,[]),n)}function bt(t,e){var n={},r={},i={},o="",s=new $e([],n,i,o,r,Ae,e,null,t.root,-1,{});return new Ze("",new Ke(s,[]))}function wt(t){for(var e=t.pathFromRoot,n=e.length-1;n>=1;){var r=e[n],i=e[n-1];if(r.routeConfig&&""===r.routeConfig.path)n--;else{if(i.component)break;n--}}return e.slice(n).reduce(function(t,e){var n=P(t.params,e.params),r=P(t.data,e.data),i=P(t.resolve,e._resolvedData);return{params:n,data:r,resolve:i}},{params:{},data:{},resolve:{}})}function Et(t,e){e.value._routerState=t,e.children.forEach(function(e){return Et(t,e)})}function St(t){var e=t.children.length>0?" { "+t.children.map(St).join(", ")+" } ":"";return""+t.value+e}function Ct(t){if(t.snapshot){var e=t.snapshot;t.snapshot=t._futureSnapshot,C(e.queryParams,t._futureSnapshot.queryParams)||t.queryParams.next(t._futureSnapshot.queryParams),e.fragment!==t._futureSnapshot.fragment&&t.fragment.next(t._futureSnapshot.fragment),C(e.params,t._futureSnapshot.params)||t.params.next(t._futureSnapshot.params),S(e.url,t._futureSnapshot.url)||t.url.next(t._futureSnapshot.url),xt(e,t._futureSnapshot)||t.data.next(t._futureSnapshot.data)}else t.snapshot=t._futureSnapshot,t.data.next(t._futureSnapshot.data)}function xt(t,e){return C(t.params,e.params)&&F(t.url,e.url)}function Tt(t,e,n){var r=Pt(t,e._root,n?n._root:void 0);return new Qe(r,e)}function Pt(t,e,n){if(n&&t.shouldReuseRoute(e.value,n.value.snapshot)){var r=n.value;r._futureSnapshot=e.value;var i=Ot(t,e,n);return new Ke(r,i)}if(t.retrieve(e.value)){var o=t.retrieve(e.value).route;return At(e,o),o}var r=Mt(e.value),i=e.children.map(function(e){return Pt(t,e)});return new Ke(r,i)}function At(t,e){if(t.value.routeConfig!==e.value.routeConfig)throw new Error("Cannot reattach ActivatedRouteSnapshot created from a different route");if(t.children.length!==e.children.length)throw new Error("Cannot reattach ActivatedRouteSnapshot with a different number of children");e.value._futureSnapshot=t.value;for(var n=0;n<t.children.length;++n)At(t.children[n],e.children[n])}function Ot(t,e,n){return e.children.map(function(e){for(var r=0,i=n.children;r<i.length;r++){var o=i[r];if(t.shouldReuseRoute(o.value.snapshot,e.value))return Pt(t,e,o)}return Pt(t,e)})}function Mt(t){return new Ye(new r.BehaviorSubject(t.url),new r.BehaviorSubject(t.params),new r.BehaviorSubject(t.queryParams),new r.BehaviorSubject(t.fragment),new r.BehaviorSubject(t.data),t.outlet,t.component,t)}function Rt(t,e,n,r,i){if(0===n.length)return Nt(e.root,e.root,e,r,i);var o=Dt(n);if(o.toRoot())return Nt(e.root,new Ie([],{}),e,r,i);var s=jt(o,e,t),a=s.processChildren?Bt(s.segmentGroup,s.index,o.commands):Ut(s.segmentGroup,s.index,o.commands);return Nt(s.segmentGroup,a,e,r,i)}function kt(t){return"object"==typeof t&&null!=t&&!t.outlets&&!t.segmentPath}function Nt(t,e,n,r,i){return n.root===t?new Ne(e,Wt(r),i):new Ne(It(n.root,t,e),Wt(r),i)}function It(t,e,n){var r={};return A(t.children,function(t,i){r[i]=t===e?n:It(t,e,n)}),new Ie(t.segments,r)}function Dt(t){if("string"==typeof t[0]&&1===t.length&&"/"===t[0])return new Je(!0,0,t);var e=0,n=!1,r=t.reduce(function(t,r,i){if("object"==typeof r&&null!=r){if(r.outlets){var o={};return A(r.outlets,function(t,e){o[e]="string"==typeof t?t.split("/"):t}),t.concat([{outlets:o}])}if(r.segmentPath)return t.concat([r.segmentPath])}return"string"!=typeof r?t.concat([r]):0===i?(r.split("/").forEach(function(r,i){0==i&&"."===r||(0==i&&""===r?n=!0:".."===r?e++:""!=r&&t.push(r))}),t):t.concat([r])},[]);return new Je(n,e,r)}function jt(t,e,n){if(t.isAbsolute)return new tn(e.root,!0,0);if(-1===n.snapshot._lastPathIndex)return new tn(n.snapshot._urlSegment,!0,0);var r=kt(t.commands[0])?0:1,i=n.snapshot._lastPathIndex+r;return Lt(n.snapshot._urlSegment,i,t.numberOfDoubleDots)}function Lt(t,e,n){for(var r=t,i=e,o=n;o>i;){if(o-=i,r=r.parent,!r)throw new Error("Invalid number of '../'");i=r.segments.length}return new tn(r,!1,i-o)}function Vt(t){return"object"==typeof t&&null!=t&&t.outlets?t.outlets[Ae]:""+t}function Ft(t){return"object"!=typeof t[0]?(e={},e[Ae]=t,e):void 0===t[0].outlets?(n={},n[Ae]=t,n):t[0].outlets;var e,n}function Ut(t,e,n){if(t||(t=new Ie([],{})),0===t.segments.length&&t.hasChildren())return Bt(t,e,n);var r=Ht(t,e,n),i=n.slice(r.commandIndex);if(r.match&&r.pathIndex<t.segments.length){var o=new Ie(t.segments.slice(0,r.pathIndex),{});return o.children[Ae]=new Ie(t.segments.slice(r.pathIndex),t.children),Bt(o,0,i)}return r.match&&0===i.length?new Ie(t.segments,{}):r.match&&!t.hasChildren()?qt(t,e,n):r.match?Bt(t,0,i):qt(t,e,n)}function Bt(t,e,n){if(0===n.length)return new Ie(t.segments,{});var r=Ft(n),i={};return A(r,function(n,r){null!==n&&(i[r]=Ut(t.children[r],e,n))}),A(t.children,function(t,e){void 0===r[e]&&(i[e]=t)}),new Ie(t.segments,i)}function Ht(t,e,n){for(var r=0,i=e,o={match:!1,pathIndex:0,commandIndex:0};i<t.segments.length;){if(r>=n.length)return o;var s=t.segments[i],a=Vt(n[r]),u=r<n.length-1?n[r+1]:null;if(i>0&&void 0===a)break;if(a&&u&&"object"==typeof u&&void 0===u.outlets){if(!Gt(a,u,s))return o;r+=2}else{if(!Gt(a,{},s))return o;r++}i++}return{match:!0,pathIndex:i,commandIndex:r}}function qt(t,e,n){for(var r=t.segments.slice(0,e),i=0;i<n.length;){if("object"==typeof n[i]&&void 0!==n[i].outlets){var o=zt(n[i].outlets);return new Ie(r,o)}if(0===i&&kt(n[0])){var s=t.segments[e];r.push(new De(s.path,n[0])),i++}else{var a=Vt(n[i]),u=i<n.length-1?n[i+1]:null;a&&u&&kt(u)?(r.push(new De(a,Wt(u))),i+=2):(r.push(new De(a,{})),i++)}}return new Ie(r,{})}function zt(t){var e={};return A(t,function(t,n){null!==t&&(e[n]=qt(new Ie([],{}),0,t))}),e}function Wt(t){var e={};return A(t,function(t,n){return e[n]=""+t}),e}function Gt(t,e,n){return t==n.path&&C(e,n.parameters)}function Kt(t,e,n,r){return new nn(t,e,n,r).recognize()}function Xt(t){t.sort(function(t,e){return t.value.outlet===Ae?-1:e.value.outlet===Ae?1:t.value.outlet.localeCompare(e.value.outlet)})}function Qt(t){return t.children?t.children:t.loadChildren?t._loadedConfig.routes:[]}function Yt(t,e,n){if(""===e.path){if("full"===e.pathMatch&&(t.hasChildren()||n.length>0))throw new en;return{consumedSegments:[],lastChild:0,parameters:{}}}var r=e.matcher||E,i=r(n,t,e);if(!i)throw new en;var o={};A(i.posParams,function(t,e){o[e]=t.path});var s=P(o,i.consumed[i.consumed.length-1].parameters);return{consumedSegments:i.consumed,lastChild:i.consumed.length,parameters:s}}function $t(t){var e={};t.forEach(function(t){var n=e[t.value.outlet];if(n){var r=n.url.map(function(t){return t.toString()}).join("/"),i=t.value.url.map(function(t){return t.toString()}).join("/");throw new Error("Two segments cannot have the same outlet name: '"+r+"' and '"+i+"'.")}e[t.value.outlet]=t.value})}function Zt(t){for(var e=t;e._sourceSegment;)e=e._sourceSegment;return e}function Jt(t){for(var e=t,n=e._segmentIndexShift?e._segmentIndexShift:0;e._sourceSegment;)e=e._sourceSegment,n+=e._segmentIndexShift?e._segmentIndexShift:0;return n-1}function te(t,e,n,r){if(n.length>0&&re(t,n,r)){var i=new Ie(e,ne(t,e,r,new Ie(n,t.children)));return i._sourceSegment=t,i._segmentIndexShift=e.length,{segmentGroup:i,slicedSegments:[]}}if(0===n.length&&ie(t,n,r)){var i=new Ie(t.segments,ee(t,n,r,t.children));return i._sourceSegment=t,i._segmentIndexShift=e.length,{segmentGroup:i,slicedSegments:n}}var i=new Ie(t.segments,t.children);return i._sourceSegment=t,i._segmentIndexShift=e.length,{segmentGroup:i,slicedSegments:n}}function ee(t,e,n,r){for(var i={},o=0,s=n;o<s.length;o++){var a=s[o];if(oe(t,e,a)&&!r[se(a)]){var u=new Ie([],{});u._sourceSegment=t,u._segmentIndexShift=t.segments.length,i[se(a)]=u}}return P(r,i)}function ne(t,e,n,r){var i={};i[Ae]=r,r._sourceSegment=t,r._segmentIndexShift=e.length;for(var o=0,s=n;o<s.length;o++){var a=s[o];if(""===a.path&&se(a)!==Ae){var u=new Ie([],{});u._sourceSegment=t,u._segmentIndexShift=e.length,i[se(a)]=u}}return i}function re(t,e,n){return n.filter(function(n){return oe(t,e,n)&&se(n)!==Ae}).length>0}function ie(t,e,n){return n.filter(function(n){return oe(t,e,n)}).length>0}function oe(t,e,n){return(t.hasChildren()||e.length>0)&&"full"===n.pathMatch?!1:""===n.path&&void 0===n.redirectTo}function se(t){return t.outlet?t.outlet:Ae}function ae(t){return t.data?t.data:{}}function ue(t){return t.resolve?t.resolve:{}}function ce(t){throw t}function pe(t){Ct(t.value),t.children.forEach(pe)}function le(t){for(var e=t.parent;e;){var n=e._routeConfig;if(n&&n._loadedConfig)return n._loadedConfig;if(n&&n.component)return null;e=e.parent}return null}function he(t){if(!t)return null;for(var e=t.parent;e;){var n=e._routeConfig;if(n&&n._loadedConfig)return n._loadedConfig;e=e.parent}return null}function fe(t){return t?t.children.reduce(function(t,e){return t[e.value.outlet]=e,t},{}):{}}function de(t,e){var n=t._outlets[e.outlet];if(!n){var r=e.component.name;throw new Error(e.outlet===Ae?"Cannot find primary outlet to load '"+r+"'":"Cannot find the outlet "+e.outlet+" to load '"+r+"'")}return n}function ye(t){for(var e=0;e<t.length;e++){var n=t[e];if(null==n)throw new Error("The requested path contains "+n+" segment at index "+e)}}function me(t){return""===t||!!t}function ve(){return new n.NgProbeToken("Router",fn)}function ge(t,n,r){return void 0===r&&(r={}),r.useHash?new e.HashLocationStrategy(t,n):new e.PathLocationStrategy(t,n)}function _e(t){if(t)throw new Error("RouterModule.forRoot() called twice. Lazy loaded modules should use RouterModule.forChild() instead.");return"guarded"}function be(t){return[{provide:n.ANALYZE_FOR_ENTRY_COMPONENTS,multi:!0,useValue:t},{provide:Me,multi:!0,useValue:t}]}function we(t,e,n,r,i,o,s,a,u,c,p){void 0===u&&(u={});var l=new fn(null,e,n,r,i,o,s,x(a));if(c&&(l.urlHandlingStrategy=c),p&&(l.routeReuseStrategy=p),u.errorHandler&&(l.errorHandler=u.errorHandler),u.enableTracing){var h=Sn();l.events.subscribe(function(t){h.logGroup("Router Event: "+t.constructor.name),h.log(t.toString()),h.log(t),h.logGroupEnd()})}return l}function Ee(t){return t.routerState.root}function Se(t,e,n,r){return function(i){i===e.components[0]&&(t.resetRootComponentType(e.componentTypes[0]),n.setUpPreloading(),r.initialNavigation===!1?t.setUpLocationChangeListener():t.initialNavigation())}}function Ce(){return[{provide:Nn,useFactory:Se,deps:[fn,n.ApplicationRef,Pn,On]},{provide:n.APP_BOOTSTRAP_LISTENER,multi:!0,useExisting:Nn}]}var xe=n.__core_private__.isPromise,Te=n.__core_private__.isObservable,Pe=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Ae="primary",Oe=function(t){function e(e){t.call(this,e),this.message=e,this.stack=new Error(e).stack}return Pe(e,t),e.prototype.toString=function(){return this.message},e}(Error),Me=new n.OpaqueToken("ROUTES"),Re=function(){function t(t,e,n,r){this.routes=t,this.injector=e,this.factoryResolver=n,this.injectorFactory=r}return t}(),ke=function(){function t(t,e){this.loader=t,this.compiler=e}return t.prototype.load=function(t,e){return p.map.call(this.loadModuleFactory(e),function(e){var n=e.create(t),r=function(t){return e.create(t).injector};return new Re(x(n.injector.get(Me)),n.injector,n.componentFactoryResolver,r)})},t.prototype.loadModuleFactory=function(t){var e=this;return"string"==typeof t?v.fromPromise(this.loader.load(t)):l.mergeMap.call(R(t()),function(t){return t instanceof n.NgModuleFactory?s.of(t):v.fromPromise(e.compiler.compileModuleAsync(t))})},t}(),Ne=function(){function t(t,e,n){this.root=t,this.queryParams=e,this.fragment=n}return t.prototype.toString=function(){return(new Le).serialize(this)},t}(),Ie=function(){function t(t,e){var n=this;this.segments=t,this.children=e,this.parent=null,A(e,function(t){return t.parent=n})}return t.prototype.hasChildren=function(){return this.numberOfChildren>0},Object.defineProperty(t.prototype,"numberOfChildren",{get:function(){return Object.keys(this.children).length},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return H(this)},t}(),De=function(){function t(t,e){this.path=t,this.parameters=e}return t.prototype.toString=function(){return G(this)},t}(),je=function(){function t(){}return t.prototype.parse=function(){},t.prototype.serialize=function(){},t}(),Le=function(){function t(){}return t.prototype.parse=function(t){var e=new He(t);return new Ne(e.parseRootSegment(),e.parseQueryParams(),e.parseFragment())},t.prototype.serialize=function(t){var e="/"+q(t.root,!0),n=X(t.queryParams),r=null!==t.fragment&&void 0!==t.fragment?"#"+encodeURI(t.fragment):"";return""+e+n+r},t}(),Ve=function(){function t(t,e){this.first=t,this.second=e}return t}(),Fe=/^[^\/()?;=&#]+/,Ue=/^[^=?&#]+/,Be=/^[^?&#]+/,He=function(){function t(t){this.url=t,this.remaining=t}return t.prototype.peekStartsWith=function(t){return this.remaining.startsWith(t)},t.prototype.capture=function(t){if(!this.remaining.startsWith(t))throw new Error('Expected "'+t+'".');this.remaining=this.remaining.substring(t.length)},t.prototype.parseRootSegment=function(){return this.remaining.startsWith("/")&&this.capture("/"),""===this.remaining||this.remaining.startsWith("?")||this.remaining.startsWith("#")?new Ie([],{}):new Ie([],this.parseChildren())},t.prototype.parseChildren=function(){if(0==this.remaining.length)return{};this.peekStartsWith("/")&&this.capture("/");var t=[];for(this.peekStartsWith("(")||t.push(this.parseSegments());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),t.push(this.parseSegments());var e={};this.peekStartsWith("/(")&&(this.capture("/"),e=this.parseParens(!0));var n={};return this.peekStartsWith("(")&&(n=this.parseParens(!1)),(t.length>0||Object.keys(e).length>0)&&(n[Ae]=new Ie(t,e)),n},t.prototype.parseSegments=function(){var t=Y(this.remaining);if(""===t&&this.peekStartsWith(";"))throw new Error("Empty path url segment cannot have parameters: '"+this.remaining+"'.");this.capture(t);var e={};return this.peekStartsWith(";")&&(e=this.parseMatrixParams()),new De(W(t),e)},t.prototype.parseQueryParams=function(){var t={};if(this.peekStartsWith("?"))for(this.capture("?"),this.parseQueryParam(t);this.remaining.length>0&&this.peekStartsWith("&");)this.capture("&"),this.parseQueryParam(t);return t},t.prototype.parseFragment=function(){return this.peekStartsWith("#")?decodeURI(this.remaining.substring(1)):null},t.prototype.parseMatrixParams=function(){for(var t={};this.remaining.length>0&&this.peekStartsWith(";");)this.capture(";"),this.parseParam(t);return t},t.prototype.parseParam=function(t){var e=Y(this.remaining);if(e){this.capture(e);var n="";if(this.peekStartsWith("=")){this.capture("=");var r=Y(this.remaining);r&&(n=r,this.capture(n))}t[W(e)]=W(n)}},t.prototype.parseQueryParam=function(t){var e=$(this.remaining);if(e){this.capture(e);var n="";if(this.peekStartsWith("=")){this.capture("=");var r=Z(this.remaining);r&&(n=r,this.capture(n))}var i=W(e),o=W(n);if(t.hasOwnProperty(i)){var s=t[i];Array.isArray(s)||(s=[s],t[i]=s),s.push(o)}else t[i]=o}},t.prototype.parseParens=function(t){var e={};for(this.capture("(");!this.peekStartsWith(")")&&this.remaining.length>0;){var n=Y(this.remaining),r=this.remaining[n.length];if("/"!==r&&")"!==r&&";"!==r)throw new Error("Cannot parse url '"+this.url+"'");var i=void 0;n.indexOf(":")>-1?(i=n.substr(0,n.indexOf(":")),this.capture(i),this.capture(":")):t&&(i=Ae);var o=this.parseChildren();e[i]=1===Object.keys(o).length?o[Ae]:new Ie([],o),this.peekStartsWith("//")&&this.capture("//")}return this.capture(")"),e},t}(),qe=function(){function t(t){void 0===t&&(t=null),this.segmentGroup=t}return t}(),ze=function(){function t(t){this.urlTree=t}return t}(),We=function(){function t(t,e,n,r,i){this.injector=t,this.configLoader=e,this.urlSerializer=n,this.urlTree=r,this.config=i,this.allowRedirects=!0}return t.prototype.apply=function(){var t=this,e=this.expandSegmentGroup(this.injector,this.config,this.urlTree.root,Ae),n=p.map.call(e,function(e){return t.createUrlTree(e,t.urlTree.queryParams,t.urlTree.fragment)});return d._catch.call(n,function(e){if(e instanceof ze)return t.allowRedirects=!1,t.match(e.urlTree);throw e instanceof qe?t.noMatchError(e):e})},t.prototype.match=function(t){var e=this,n=this.expandSegmentGroup(this.injector,this.config,t.root,Ae),r=p.map.call(n,function(n){return e.createUrlTree(n,t.queryParams,t.fragment)});return d._catch.call(r,function(t){throw t instanceof qe?e.noMatchError(t):t})},t.prototype.noMatchError=function(t){return new Error("Cannot match any routes. URL Segment: '"+t.segmentGroup+"'")},t.prototype.createUrlTree=function(t,e,n){var r=t.segments.length>0?new Ie([],(i={},
+i[Ae]=t,i)):t;return new Ne(r,e,n);var i},t.prototype.expandSegmentGroup=function(t,e,n,r){return 0===n.segments.length&&n.hasChildren()?p.map.call(this.expandChildren(t,e,n),function(t){return new Ie([],t)}):this.expandSegment(t,n,e,n.segments,r,!0)},t.prototype.expandChildren=function(t,e,n){var r=this;return O(n.children,function(n,i){return r.expandSegmentGroup(t,e,i,n)})},t.prototype.expandSegment=function(t,e,n,r,i,o){var a=this,u=s.of.apply(void 0,n),l=p.map.call(u,function(u){var c=a.expandSegmentAgainstRoute(t,e,n,u,r,i,o);return d._catch.call(c,function(t){if(t instanceof qe)return s.of(null);throw t})}),h=y.concatAll.call(l),f=c.first.call(h,function(t){return!!t});return d._catch.call(f,function(t){if(t instanceof m.EmptyError){if(a.noLeftoversInUrl(e,r,i))return s.of(new Ie([],{}));throw new qe(e)}throw t})},t.prototype.noLeftoversInUrl=function(t,e,n){return 0===e.length&&!t.children[n]},t.prototype.expandSegmentAgainstRoute=function(t,e,n,r,i,o,s){return ft(r)!==o?J(e):void 0===r.redirectTo||s&&this.allowRedirects?void 0===r.redirectTo?this.matchSegmentAgainstRoute(t,e,r,i):this.expandSegmentAgainstRouteUsingRedirect(t,e,n,r,i,o):J(e)},t.prototype.expandSegmentAgainstRouteUsingRedirect=function(t,e,n,r,i,o){return"**"===r.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(t,n,r,o):this.expandRegularSegmentAgainstRouteUsingRedirect(t,e,n,r,i,o)},t.prototype.expandWildCardWithParamsAgainstRouteUsingRedirect=function(t,e,n,r){var i=this,o=this.applyRedirectCommands([],n.redirectTo,{});return n.redirectTo.startsWith("/")?tt(o):l.mergeMap.call(this.lineralizeSegments(n,o),function(n){var o=new Ie(n,{});return i.expandSegment(t,o,e,n,r,!1)})},t.prototype.expandRegularSegmentAgainstRouteUsingRedirect=function(t,e,n,r,i,o){var s=this,a=ot(e,r,i),u=a.matched,c=a.consumedSegments,p=a.lastChild,h=a.positionalParamSegments;if(!u)return J(e);var f=this.applyRedirectCommands(c,r.redirectTo,h);return r.redirectTo.startsWith("/")?tt(f):l.mergeMap.call(this.lineralizeSegments(r,f),function(r){return s.expandSegment(t,e,n,r.concat(i.slice(p)),o,!1)})},t.prototype.matchSegmentAgainstRoute=function(t,e,n,r){var i=this;if("**"===n.path)return n.loadChildren?p.map.call(this.configLoader.load(t,n.loadChildren),function(t){return n._loadedConfig=t,new Ie(r,{})}):s.of(new Ie(r,{}));var o=ot(e,n,r),a=o.matched,u=o.consumedSegments,c=o.lastChild;if(!a)return J(e);var h=r.slice(c),f=this.getChildConfig(t,n);return l.mergeMap.call(f,function(t){var n=t.injector,r=t.routes,o=st(e,u,h,r),a=o.segmentGroup,c=o.slicedSegments;if(0===c.length&&a.hasChildren()){var l=i.expandChildren(n,r,a);return p.map.call(l,function(t){return new Ie(u,t)})}if(0===r.length&&0===c.length)return s.of(new Ie(u,{}));var l=i.expandSegment(n,a,r,c,Ae,!0);return p.map.call(l,function(t){return new Ie(u.concat(t.segments),t.children)})})},t.prototype.getChildConfig=function(t,e){var n=this;return e.children?s.of(new Re(e.children,t,null,null)):e.loadChildren?l.mergeMap.call(it(t,e),function(r){return r?e._loadedConfig?s.of(e._loadedConfig):p.map.call(n.configLoader.load(t,e.loadChildren),function(t){return e._loadedConfig=t,t}):nt(e)}):s.of(new Re([],t,null,null))},t.prototype.lineralizeSegments=function(t,e){for(var n=[],r=e.root;;){if(n=n.concat(r.segments),0===r.numberOfChildren)return s.of(n);if(r.numberOfChildren>1||!r.children[Ae])return et(t.redirectTo);r=r.children[Ae]}},t.prototype.applyRedirectCommands=function(t,e,n){this.urlSerializer.parse(e);return this.applyRedirectCreatreUrlTree(e,this.urlSerializer.parse(e),t,n)},t.prototype.applyRedirectCreatreUrlTree=function(t,e,n,r){var i=this.createSegmentGroup(t,e.root,n,r);return new Ne(i,this.createQueryParams(e.queryParams,this.urlTree.queryParams),e.fragment)},t.prototype.createQueryParams=function(t,e){var n={};return A(t,function(t,r){n[r]=t.startsWith(":")?e[t.substring(1)]:t}),n},t.prototype.createSegmentGroup=function(t,e,n,r){var i=this,o=this.createSegments(t,e.segments,n,r),s={};return A(e.children,function(e,o){s[o]=i.createSegmentGroup(t,e,n,r)}),new Ie(o,s)},t.prototype.createSegments=function(t,e,n,r){var i=this;return e.map(function(e){return e.path.startsWith(":")?i.findPosParam(t,e,r):i.findOrReturn(e,n)})},t.prototype.findPosParam=function(t,e,n){var r=n[e.path.substring(1)];if(!r)throw new Error("Cannot redirect to '"+t+"'. Cannot find '"+e.path+"'.");return r},t.prototype.findOrReturn=function(t,e){for(var n=0,r=0,i=e;r<i.length;r++){var o=i[r];if(o.path===t.path)return e.splice(n),o;n++}return t},t}(),Ge=function(){function t(t){this._root=t}return Object.defineProperty(t.prototype,"root",{get:function(){return this._root.value},enumerable:!0,configurable:!0}),t.prototype.parent=function(t){var e=this.pathFromRoot(t);return e.length>1?e[e.length-2]:null},t.prototype.children=function(t){var e=vt(t,this._root);return e?e.children.map(function(t){return t.value}):[]},t.prototype.firstChild=function(t){var e=vt(t,this._root);return e&&e.children.length>0?e.children[0].value:null},t.prototype.siblings=function(t){var e=gt(t,this._root,[]);if(e.length<2)return[];var n=e[e.length-2].children.map(function(t){return t.value});return n.filter(function(e){return e!==t})},t.prototype.pathFromRoot=function(t){return gt(t,this._root,[]).map(function(t){return t.value})},t}(),Ke=function(){function t(t,e){this.value=t,this.children=e}return t.prototype.toString=function(){return"TreeNode("+this.value+")"},t}(),Xe=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},Qe=function(t){function e(e,n){t.call(this,e),this.snapshot=n,Et(this,e)}return Xe(e,t),e.prototype.toString=function(){return this.snapshot.toString()},e}(Ge),Ye=function(){function t(t,e,n,r,i,o,s,a){this.url=t,this.params=e,this.queryParams=n,this.fragment=r,this.data=i,this.outlet=o,this.component=s,this._futureSnapshot=a}return Object.defineProperty(t.prototype,"routeConfig",{get:function(){return this._futureSnapshot.routeConfig},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"root",{get:function(){return this._routerState.root},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){return this._routerState.parent(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"firstChild",{get:function(){return this._routerState.firstChild(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"children",{get:function(){return this._routerState.children(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pathFromRoot",{get:function(){return this._routerState.pathFromRoot(this)},enumerable:!0,configurable:!0}),t.prototype.toString=function(){return this.snapshot?this.snapshot.toString():"Future("+this._futureSnapshot+")"},t}(),$e=function(){function t(t,e,n,r,i,o,s,a,u,c,p){this.url=t,this.params=e,this.queryParams=n,this.fragment=r,this.data=i,this.outlet=o,this.component=s,this._routeConfig=a,this._urlSegment=u,this._lastPathIndex=c,this._resolve=p}return Object.defineProperty(t.prototype,"routeConfig",{get:function(){return this._routeConfig},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"root",{get:function(){return this._routerState.root},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){return this._routerState.parent(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"firstChild",{get:function(){return this._routerState.firstChild(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"children",{get:function(){return this._routerState.children(this)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"pathFromRoot",{get:function(){return this._routerState.pathFromRoot(this)},enumerable:!0,configurable:!0}),t.prototype.toString=function(){var t=this.url.map(function(t){return t.toString()}).join("/"),e=this._routeConfig?this._routeConfig.path:"";return"Route(url:'"+t+"', path:'"+e+"')"},t}(),Ze=function(t){function e(e,n){t.call(this,n),this.url=e,Et(this,n)}return Xe(e,t),e.prototype.toString=function(){return St(this._root)},e}(Ge),Je=function(){function t(t,e,n){if(this.isAbsolute=t,this.numberOfDoubleDots=e,this.commands=n,t&&n.length>0&&kt(n[0]))throw new Error("Root segment cannot have matrix parameters");var r=n.find(function(t){return"object"==typeof t&&null!=t&&t.outlets});if(r&&r!==T(n))throw new Error("{outlets:{}} has to be the last command")}return t.prototype.toRoot=function(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]},t}(),tn=function(){function t(t,e,n){this.segmentGroup=t,this.processChildren=e,this.index=n}return t}(),en=function(){function t(){}return t}(),nn=function(){function t(t,e,n,r){this.rootComponentType=t,this.config=e,this.urlTree=n,this.url=r}return t.prototype.recognize=function(){try{var t=te(this.urlTree.root,[],[],this.config).segmentGroup,e=this.processSegmentGroup(this.config,t,Ae),n=new $e([],Object.freeze({}),Object.freeze(this.urlTree.queryParams),this.urlTree.fragment,{},Ae,this.rootComponentType,null,this.urlTree.root,-1,{}),r=new Ke(n,e),i=new Ze(this.url,r);return this.inheriteParamsAndData(i._root),s.of(i)}catch(o){return new f.Observable(function(t){return t.error(o)})}},t.prototype.inheriteParamsAndData=function(t){var e=this,n=t.value,r=wt(n);n.params=Object.freeze(r.params),n.data=Object.freeze(r.data),t.children.forEach(function(t){return e.inheriteParamsAndData(t)})},t.prototype.processSegmentGroup=function(t,e,n){return 0===e.segments.length&&e.hasChildren()?this.processChildren(t,e):this.processSegment(t,e,e.segments,n)},t.prototype.processChildren=function(t,e){var n=this,r=B(e,function(e,r){return n.processSegmentGroup(t,e,r)});return $t(r),Xt(r),r},t.prototype.processSegment=function(t,e,n,r){for(var i=0,o=t;i<o.length;i++){var s=o[i];try{return this.processSegmentAgainstRoute(s,e,n,r)}catch(a){if(!(a instanceof en))throw a}}if(this.noLeftoversInUrl(e,n,r))return[];throw new en},t.prototype.noLeftoversInUrl=function(t,e,n){return 0===e.length&&!t.children[n]},t.prototype.processSegmentAgainstRoute=function(t,e,n,r){if(t.redirectTo)throw new en;if((t.outlet?t.outlet:Ae)!==r)throw new en;if("**"===t.path){var i=n.length>0?T(n).parameters:{},o=new $e(n,i,Object.freeze(this.urlTree.queryParams),this.urlTree.fragment,ae(t),r,t.component,t,Zt(e),Jt(e)+n.length,ue(t));return[new Ke(o,[])]}var s=Yt(e,t,n),a=s.consumedSegments,u=s.parameters,c=s.lastChild,p=n.slice(c),l=Qt(t),h=te(e,a,p,l),f=h.segmentGroup,d=h.slicedSegments,y=new $e(a,u,Object.freeze(this.urlTree.queryParams),this.urlTree.fragment,ae(t),r,t.component,t,Zt(e),Jt(e)+a.length,ue(t));if(0===d.length&&f.hasChildren()){var m=this.processChildren(l,f);return[new Ke(y,m)]}if(0===l.length&&0===d.length)return[new Ke(y,[])];var m=this.processSegment(l,f,d,Ae);return[new Ke(y,m)]},t}(),rn=function(){function t(){this._outlets={}}return t.prototype.registerOutlet=function(t,e){this._outlets[t]=e},t.prototype.removeOutlet=function(t){this._outlets[t]=void 0},t}(),on=function(){function t(){}return t.prototype.shouldProcessUrl=function(){},t.prototype.extract=function(){},t.prototype.merge=function(){},t}(),sn=function(){function t(){}return t.prototype.shouldProcessUrl=function(){return!0},t.prototype.extract=function(t){return t},t.prototype.merge=function(t){return t},t}(),an=function(){function t(t,e){this.id=t,this.url=e}return t.prototype.toString=function(){return"NavigationStart(id: "+this.id+", url: '"+this.url+"')"},t}(),un=function(){function t(t,e,n){this.id=t,this.url=e,this.urlAfterRedirects=n}return t.prototype.toString=function(){return"NavigationEnd(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"')"},t}(),cn=function(){function t(t,e,n){this.id=t,this.url=e,this.reason=n}return t.prototype.toString=function(){return"NavigationCancel(id: "+this.id+", url: '"+this.url+"')"},t}(),pn=function(){function t(t,e,n){this.id=t,this.url=e,this.error=n}return t.prototype.toString=function(){return"NavigationError(id: "+this.id+", url: '"+this.url+"', error: "+this.error+")"},t}(),ln=function(){function t(t,e,n,r){this.id=t,this.url=e,this.urlAfterRedirects=n,this.state=r}return t.prototype.toString=function(){return"RoutesRecognized(id: "+this.id+", url: '"+this.url+"', urlAfterRedirects: '"+this.urlAfterRedirects+"', state: "+this.state+")"},t}(),hn=function(){function t(){}return t.prototype.shouldDetach=function(){return!1},t.prototype.store=function(){},t.prototype.shouldAttach=function(){return!1},t.prototype.retrieve=function(){return null},t.prototype.shouldReuseRoute=function(t,e){return t.routeConfig===e.routeConfig},t}(),fn=function(){function t(t,e,n,o,s,a,u,c){this.rootComponentType=t,this.urlSerializer=e,this.outletMap=n,this.location=o,this.injector=s,this.config=c,this.navigations=new r.BehaviorSubject(null),this.routerEvents=new i.Subject,this.navigationId=0,this.errorHandler=ce,this.navigated=!1,this.urlHandlingStrategy=new sn,this.routeReuseStrategy=new hn,this.resetConfig(c),this.currentUrlTree=k(),this.rawUrlTree=this.currentUrlTree,this.configLoader=new ke(a,u),this.currentRouterState=_t(this.currentUrlTree,this.rootComponentType),this.processNavigations()}return t.prototype.resetRootComponentType=function(t){this.rootComponentType=t,this.currentRouterState.root.component=this.rootComponentType},t.prototype.initialNavigation=function(){this.setUpLocationChangeListener(),0===this.navigationId&&this.navigateByUrl(this.location.path(!0),{replaceUrl:!0})},t.prototype.setUpLocationChangeListener=function(){var t=this;this.locationSubscription||(this.locationSubscription=this.location.subscribe(Zone.current.wrap(function(e){var n=t.urlSerializer.parse(e.url),r="popstate"===e.type?"popstate":"hashchange";setTimeout(function(){t.scheduleNavigation(n,r,{replaceUrl:!0})},0)})))},Object.defineProperty(t.prototype,"routerState",{get:function(){return this.currentRouterState},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"url",{get:function(){return this.serializeUrl(this.currentUrlTree)},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"events",{get:function(){return this.routerEvents},enumerable:!0,configurable:!0}),t.prototype.resetConfig=function(t){dt(t),this.config=t},t.prototype.ngOnDestroy=function(){this.dispose()},t.prototype.dispose=function(){this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=null)},t.prototype.createUrlTree=function(t,e){var n=void 0===e?{}:e,r=n.relativeTo,i=n.queryParams,o=n.fragment,s=n.preserveQueryParams,a=n.preserveFragment,u=r||this.routerState.root,c=s?this.currentUrlTree.queryParams:i,p=a?this.currentUrlTree.fragment:o;return Rt(u,this.currentUrlTree,t,c,p)},t.prototype.navigateByUrl=function(t,e){if(void 0===e&&(e={skipLocationChange:!1}),t instanceof Ne)return this.scheduleNavigation(this.urlHandlingStrategy.merge(t,this.rawUrlTree),"imperative",e);var n=this.urlSerializer.parse(t);return this.scheduleNavigation(this.urlHandlingStrategy.merge(n,this.rawUrlTree),"imperative",e)},t.prototype.navigate=function(t,e){return void 0===e&&(e={skipLocationChange:!1}),ye(t),"object"==typeof e.queryParams&&null!==e.queryParams&&(e.queryParams=this.removeEmptyProps(e.queryParams)),this.navigateByUrl(this.createUrlTree(t,e),e)},t.prototype.serializeUrl=function(t){return this.urlSerializer.serialize(t)},t.prototype.parseUrl=function(t){return this.urlSerializer.parse(t)},t.prototype.isActive=function(t,e){if(t instanceof Ne)return N(this.currentUrlTree,t,e);var n=this.urlSerializer.parse(t);return N(this.currentUrlTree,n,e)},t.prototype.removeEmptyProps=function(t){return Object.keys(t).reduce(function(e,n){var r=t[n];return null!==r&&void 0!==r&&(e[n]=r),e},{})},t.prototype.processNavigations=function(){var t=this;a.concatMap.call(this.navigations,function(e){return e?(t.executeScheduledNavigation(e),e.promise["catch"](function(){})):s.of(null)}).subscribe(function(){})},t.prototype.scheduleNavigation=function(t,e,n){var r=this.navigations.value;if(r&&"imperative"!==e&&"imperative"===r.source&&r.rawUrl.toString()===t.toString())return null;if(r&&"hashchange"==e&&"popstate"===r.source&&r.rawUrl.toString()===t.toString())return null;var i=null,o=null,s=new Promise(function(t,e){i=t,o=e}),a=++this.navigationId;return this.navigations.next({id:a,source:e,rawUrl:t,extras:n,resolve:i,reject:o,promise:s}),s["catch"](function(t){return Promise.reject(t)})},t.prototype.executeScheduledNavigation=function(t){var e=this,n=t.id,r=t.rawUrl,i=t.extras,o=t.resolve,s=t.reject,a=this.urlHandlingStrategy.extract(r),u=!this.navigated||a.toString()!==this.currentUrlTree.toString();u&&this.urlHandlingStrategy.shouldProcessUrl(r)?(this.routerEvents.next(new an(n,this.serializeUrl(a))),Promise.resolve().then(function(){return e.runNavigate(a,r,i.skipLocationChange,i.replaceUrl,n,null)}).then(o,s)):u&&this.rawUrlTree&&this.urlHandlingStrategy.shouldProcessUrl(this.rawUrlTree)?(this.routerEvents.next(new an(n,this.serializeUrl(a))),Promise.resolve().then(function(){return e.runNavigate(a,r,!1,!1,n,_t(a,e.rootComponentType).snapshot)}).then(o,s)):(this.rawUrlTree=r,o(null))},t.prototype.runNavigate=function(t,e,n,r,i,o){var a=this;return i!==this.navigationId?(this.location.go(this.urlSerializer.serialize(this.currentUrlTree)),this.routerEvents.next(new cn(i,this.serializeUrl(t),"Navigation ID "+i+" is not equal to the current navigation id "+this.navigationId)),Promise.resolve(!1)):new Promise(function(u,c){var h;if(o)h=s.of({appliedUrl:t,snapshot:o});else{var f=rt(a.injector,a.configLoader,a.urlSerializer,t,a.config);h=l.mergeMap.call(f,function(e){return p.map.call(Kt(a.rootComponentType,a.config,e,a.serializeUrl(e)),function(n){return a.routerEvents.next(new ln(i,a.serializeUrl(t),a.serializeUrl(e),n)),{appliedUrl:e,snapshot:n}})})}var d,y,m=p.map.call(h,function(t){var e=t.appliedUrl,n=t.snapshot;return d=new mn(n,a.currentRouterState.snapshot,a.injector),d.traverse(a.outletMap),{appliedUrl:e,snapshot:n}}),v=l.mergeMap.call(m,function(t){var e=t.appliedUrl,n=t.snapshot;return a.navigationId!==i?s.of(!1):p.map.call(d.checkGuards(),function(t){return{appliedUrl:e,snapshot:n,shouldActivate:t}})}),g=l.mergeMap.call(v,function(t){return a.navigationId!==i?s.of(!1):t.shouldActivate?p.map.call(d.resolveData(),function(){return t}):s.of(t)}),_=p.map.call(g,function(t){var e=t.appliedUrl,n=t.snapshot,r=t.shouldActivate;if(r){var i=Tt(a.routeReuseStrategy,n,a.currentRouterState);return{appliedUrl:e,state:i,shouldActivate:r}}return{appliedUrl:e,state:null,shouldActivate:r}}),b=a.currentRouterState,w=a.currentUrlTree;_.forEach(function(t){var o=t.appliedUrl,s=t.state,u=t.shouldActivate;if(!u||i!==a.navigationId)return void(y=!1);if(a.currentUrlTree=o,a.rawUrlTree=a.urlHandlingStrategy.merge(a.currentUrlTree,e),a.currentRouterState=s,!n){var c=a.urlSerializer.serialize(a.rawUrlTree);a.location.isCurrentPathEqualTo(c)||r?a.location.replaceState(c):a.location.go(c)}new vn(a.routeReuseStrategy,s,b).activate(a.outletMap),y=!0}).then(function(){y?(a.navigated=!0,a.routerEvents.next(new un(i,a.serializeUrl(t),a.serializeUrl(a.currentUrlTree))),u(!0)):(a.resetUrlToCurrentUrlTree(),a.routerEvents.next(new cn(i,a.serializeUrl(t),"")),u(!1))},function(n){if(n instanceof Oe)a.resetUrlToCurrentUrlTree(),a.navigated=!0,a.routerEvents.next(new cn(i,a.serializeUrl(t),n.message)),u(!1);else{a.routerEvents.next(new pn(i,a.serializeUrl(t),n));try{u(a.errorHandler(n))}catch(r){c(r)}}a.currentRouterState=b,a.currentUrlTree=w,a.rawUrlTree=a.urlHandlingStrategy.merge(a.currentUrlTree,e),a.location.replaceState(a.serializeUrl(a.rawUrlTree))})})},t.prototype.resetUrlToCurrentUrlTree=function(){var t=this.urlSerializer.serialize(this.rawUrlTree);this.location.replaceState(t)},t}(),dn=function(){function t(t){this.path=t}return Object.defineProperty(t.prototype,"route",{get:function(){return this.path[this.path.length-1]},enumerable:!0,configurable:!0}),t}(),yn=function(){function t(t,e){this.component=t,this.route=e}return t}(),mn=function(){function t(t,e,n){this.future=t,this.curr=e,this.injector=n,this.checks=[]}return t.prototype.traverse=function(t){var e=this.future._root,n=this.curr?this.curr._root:null;this.traverseChildRoutes(e,n,t,[e.value])},t.prototype.checkGuards=function(){var t=this;if(0===this.checks.length)return s.of(!0);var e=o.from(this.checks),n=l.mergeMap.call(e,function(e){if(e instanceof dn)return M(o.from([t.runCanActivateChild(e.path),t.runCanActivate(e.route)]));if(e instanceof yn){var n=e;return t.runCanDeactivate(n.component,n.route)}throw new Error("Cannot be reached")});return u.every.call(n,function(t){return t===!0})},t.prototype.resolveData=function(){var t=this;if(0===this.checks.length)return s.of(null);var e=o.from(this.checks),n=a.concatMap.call(e,function(e){return e instanceof dn?t.runResolve(e.route):s.of(null)});return h.reduce.call(n,function(t){return t})},t.prototype.traverseChildRoutes=function(t,e,n,r){var i=this,o=fe(e);t.children.forEach(function(t){i.traverseRoutes(t,o[t.value.outlet],n,r.concat([t.value])),delete o[t.value.outlet]}),A(o,function(t,e){return i.deactiveRouteAndItsChildren(t,n._outlets[e])})},t.prototype.traverseRoutes=function(t,e,n,r){var i=t.value,o=e?e.value:null,s=n?n._outlets[t.value.outlet]:null;o&&i._routeConfig===o._routeConfig?(xt(i,o)?(i.data=o.data,i._resolvedData=o._resolvedData):this.checks.push(new yn(s.component,o),new dn(r)),i.component?this.traverseChildRoutes(t,e,s?s.outletMap:null,r):this.traverseChildRoutes(t,e,n,r)):(o&&this.deactiveRouteAndItsChildren(e,s),this.checks.push(new dn(r)),i.component?this.traverseChildRoutes(t,null,s?s.outletMap:null,r):this.traverseChildRoutes(t,null,n,r))},t.prototype.deactiveRouteAndItsChildren=function(t,e){var n=this,r=fe(t),i=t.value;A(r,function(t,r){i.component?e?n.deactiveRouteAndItsChildren(t,e.outletMap._outlets[r]):n.deactiveRouteAndItsChildren(t,null):n.deactiveRouteAndItsChildren(t,e)}),this.checks.push(i.component?e&&e.isActivated?new yn(e.component,i):new yn(null,i):new yn(null,i))},t.prototype.runCanActivate=function(t){var e=this,n=t._routeConfig?t._routeConfig.canActivate:null;if(!n||0===n.length)return s.of(!0);var r=p.map.call(o.from(n),function(n){var r,i=e.getToken(n,t);return r=R(i.canActivate?i.canActivate(t,e.future):i(t,e.future)),c.first.call(r)});return M(r)},t.prototype.runCanActivateChild=function(t){var e=this,n=t[t.length-1],r=t.slice(0,t.length-1).reverse().map(function(t){return e.extractCanActivateChild(t)}).filter(function(t){return null!==t});return M(p.map.call(o.from(r),function(t){var r=p.map.call(o.from(t.guards),function(r){var i,o=e.getToken(r,t.node);return i=R(o.canActivateChild?o.canActivateChild(n,e.future):o(n,e.future)),c.first.call(i)});return M(r)}))},t.prototype.extractCanActivateChild=function(t){var e=t._routeConfig?t._routeConfig.canActivateChild:null;return e&&0!==e.length?{node:t,guards:e}:null},t.prototype.runCanDeactivate=function(t,e){var n=this,r=e&&e._routeConfig?e._routeConfig.canDeactivate:null;if(!r||0===r.length)return s.of(!0);var i=l.mergeMap.call(o.from(r),function(r){var i,o=n.getToken(r,e);return i=R(o.canDeactivate?o.canDeactivate(t,e,n.curr):o(t,e,n.curr)),c.first.call(i)});return u.every.call(i,function(t){return t===!0})},t.prototype.runResolve=function(t){var e=t._resolve;return p.map.call(this.resolveNode(e,t),function(e){return t._resolvedData=e,t.data=P(t.data,wt(t).resolve),null})},t.prototype.resolveNode=function(t,e){var n=this;return O(t,function(t,r){var i=n.getToken(r,e);return R(i.resolve?i.resolve(e,n.future):i(e,n.future))})},t.prototype.getToken=function(t,e){var n=he(e),r=n?n.injector:this.injector;return r.get(t)},t}(),vn=function(){function t(t,e,n){this.routeReuseStrategy=t,this.futureState=e,this.currState=n}return t.prototype.activate=function(t){var e=this.futureState._root,n=this.currState?this.currState._root:null;this.deactivateChildRoutes(e,n,t),Ct(this.futureState.root),this.activateChildRoutes(e,n,t)},t.prototype.deactivateChildRoutes=function(t,e,n){var r=this,i=fe(e);t.children.forEach(function(t){r.deactivateRoutes(t,i[t.value.outlet],n),delete i[t.value.outlet]}),A(i,function(t){return r.deactiveRouteAndItsChildren(t,n)})},t.prototype.activateChildRoutes=function(t,e,n){var r=this,i=fe(e);t.children.forEach(function(t){r.activateRoutes(t,i[t.value.outlet],n)})},t.prototype.deactivateRoutes=function(t,e,n){var r=t.value,i=e?e.value:null;if(r===i)if(r.component){var o=de(n,r);this.deactivateChildRoutes(t,e,o.outletMap)}else this.deactivateChildRoutes(t,e,n);else i&&this.deactiveRouteAndItsChildren(e,n)},t.prototype.activateRoutes=function(t,e,n){var r=t.value,i=e?e.value:null;if(r===i)if(Ct(r),r.component){var o=de(n,r);this.activateChildRoutes(t,e,o.outletMap)}else this.activateChildRoutes(t,e,n);else if(r.component){Ct(r);var o=de(n,t.value);if(this.routeReuseStrategy.shouldAttach(r.snapshot)){var s=this.routeReuseStrategy.retrieve(r.snapshot);this.routeReuseStrategy.store(r.snapshot,null),o.attach(s.componentRef,s.route.value),pe(s.route)}else{var a=new rn;this.placeComponentIntoOutlet(a,r,o),this.activateChildRoutes(t,null,a)}}else Ct(r),this.activateChildRoutes(t,null,n)},t.prototype.placeComponentIntoOutlet=function(t,e,r){var i=[{provide:Ye,useValue:e},{provide:rn,useValue:t}],o=le(e.snapshot),s=null,a=null;o?(a=o.injectorFactory(r.locationInjector),s=o.factoryResolver,i.push({provide:n.ComponentFactoryResolver,useValue:s})):(a=r.locationInjector,s=r.locationFactoryResolver),r.activate(e,s,a,n.ReflectiveInjector.resolve(i),t)},t.prototype.deactiveRouteAndItsChildren=function(t,e){this.routeReuseStrategy.shouldDetach(t.value.snapshot)?this.detachAndStoreRouteSubtree(t,e):this.deactiveRouteAndOutlet(t,e)},t.prototype.detachAndStoreRouteSubtree=function(t,e){var n=de(e,t.value),r=n.detach();this.routeReuseStrategy.store(t.value.snapshot,{componentRef:r,route:t})},t.prototype.deactiveRouteAndOutlet=function(t,e){var n=this,r=fe(t),i=null;try{i=de(e,t.value)}catch(o){return}var s=i.outletMap;A(r,function(r){t.value.component?n.deactiveRouteAndItsChildren(r,s):n.deactiveRouteAndItsChildren(r,e)}),i&&i.isActivated&&i.deactivate()},t}(),gn=function(){function t(t,e){this.router=t,this.route=e,this.commands=[]}return Object.defineProperty(t.prototype,"routerLink",{set:function(t){this.commands=null!=t?Array.isArray(t)?t:[t]:[]},enumerable:!0,configurable:!0}),t.prototype.onClick=function(){var t={skipLocationChange:me(this.skipLocationChange),replaceUrl:me(this.replaceUrl)};return this.router.navigateByUrl(this.urlTree,t),!0},Object.defineProperty(t.prototype,"urlTree",{get:function(){return this.router.createUrlTree(this.commands,{relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,preserveQueryParams:me(this.preserveQueryParams),preserveFragment:me(this.preserveFragment)})},enumerable:!0,configurable:!0}),t.decorators=[{type:n.Directive,args:[{selector:":not(a)[routerLink]"}]}],t.ctorParameters=function(){return[{type:fn},{type:Ye}]},t.propDecorators={queryParams:[{type:n.Input}],fragment:[{type:n.Input}],preserveQueryParams:[{type:n.Input}],preserveFragment:[{type:n.Input}],skipLocationChange:[{type:n.Input}],replaceUrl:[{type:n.Input}],routerLink:[{type:n.Input}],onClick:[{type:n.HostListener,args:["click"]}]},t}(),_n=function(){function t(t,e,n){var r=this;this.router=t,this.route=e,this.locationStrategy=n,this.commands=[],this.subscription=t.events.subscribe(function(t){t instanceof un&&r.updateTargetUrlAndHref()})}return Object.defineProperty(t.prototype,"routerLink",{set:function(t){this.commands=null!=t?Array.isArray(t)?t:[t]:[]},enumerable:!0,configurable:!0}),t.prototype.ngOnChanges=function(){this.updateTargetUrlAndHref()},t.prototype.ngOnDestroy=function(){this.subscription.unsubscribe()},t.prototype.onClick=function(t,e,n){if(0!==t||e||n)return!0;if("string"==typeof this.target&&"_self"!=this.target)return!0;var r={skipLocationChange:me(this.skipLocationChange),replaceUrl:me(this.replaceUrl)};return this.router.navigateByUrl(this.urlTree,r),!1},t.prototype.updateTargetUrlAndHref=function(){this.href=this.locationStrategy.prepareExternalUrl(this.router.serializeUrl(this.urlTree))},Object.defineProperty(t.prototype,"urlTree",{get:function(){return this.router.createUrlTree(this.commands,{relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,preserveQueryParams:me(this.preserveQueryParams),preserveFragment:me(this.preserveFragment)})},enumerable:!0,configurable:!0}),t.decorators=[{type:n.Directive,args:[{selector:"a[routerLink]"}]}],t.ctorParameters=function(){return[{type:fn},{type:Ye},{type:e.LocationStrategy}]},t.propDecorators={target:[{type:n.HostBinding,args:["attr.target"]},{type:n.Input}],queryParams:[{type:n.Input}],fragment:[{type:n.Input}],preserveQueryParams:[{type:n.Input}],preserveFragment:[{type:n.Input}],skipLocationChange:[{type:n.Input}],replaceUrl:[{type:n.Input}],href:[{type:n.HostBinding}],routerLink:[{type:n.Input}],onClick:[{type:n.HostListener,args:["click",["$event.button","$event.ctrlKey","$event.metaKey"]]}]},t}(),bn=function(){function t(t,e,n,r){var i=this;this.router=t,this.element=e,this.renderer=n,this.cdr=r,this.classes=[],this.active=!1,this.routerLinkActiveOptions={exact:!1},this.subscription=t.events.subscribe(function(t){t instanceof un&&i.update()})}return Object.defineProperty(t.prototype,"isActive",{get:function(){return this.active},enumerable:!0,configurable:!0}),t.prototype.ngAfterContentInit=function(){var t=this;this.links.changes.subscribe(function(){return t.update()}),this.linksWithHrefs.changes.subscribe(function(){return t.update()}),this.update()},Object.defineProperty(t.prototype,"routerLinkActive",{set:function(t){var e=Array.isArray(t)?t:t.split(" ");this.classes=e.filter(function(t){return!!t})},enumerable:!0,configurable:!0}),t.prototype.ngOnChanges=function(){this.update()},t.prototype.ngOnDestroy=function(){this.subscription.unsubscribe()},t.prototype.update=function(){var t=this;if(this.links&&this.linksWithHrefs&&this.router.navigated){var e=this.hasActiveLinks();this.active!==e&&(this.active=e,this.classes.forEach(function(n){return t.renderer.setElementClass(t.element.nativeElement,n,e)}),this.cdr.detectChanges())}},t.prototype.isLinkActive=function(t){var e=this;return function(n){return t.isActive(n.urlTree,e.routerLinkActiveOptions.exact)}},t.prototype.hasActiveLinks=function(){return this.links.some(this.isLinkActive(this.router))||this.linksWithHrefs.some(this.isLinkActive(this.router))},t.decorators=[{type:n.Directive,args:[{selector:"[routerLinkActive]",exportAs:"routerLinkActive"}]}],t.ctorParameters=function(){return[{type:fn},{type:n.ElementRef},{type:n.Renderer},{type:n.ChangeDetectorRef}]},t.propDecorators={links:[{type:n.ContentChildren,args:[gn,{descendants:!0}]}],linksWithHrefs:[{type:n.ContentChildren,args:[_n,{descendants:!0}]}],routerLinkActiveOptions:[{type:n.Input}],routerLinkActive:[{type:n.Input}]},t}(),wn=function(){function t(t,e,r,i){this.parentOutletMap=t,this.location=e,this.resolver=r,this.name=i,this.activateEvents=new n.EventEmitter,this.deactivateEvents=new n.EventEmitter,t.registerOutlet(i?i:Ae,this)}return t.prototype.ngOnDestroy=function(){this.parentOutletMap.removeOutlet(this.name?this.name:Ae)},Object.defineProperty(t.prototype,"locationInjector",{get:function(){return this.location.injector},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"locationFactoryResolver",{get:function(){return this.resolver},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isActivated",{get:function(){return!!this.activated},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"component",{get:function(){if(!this.activated)throw new Error("Outlet is not activated");return this.activated.instance},enumerable:!0,
+configurable:!0}),Object.defineProperty(t.prototype,"activatedRoute",{get:function(){if(!this.activated)throw new Error("Outlet is not activated");return this._activatedRoute},enumerable:!0,configurable:!0}),t.prototype.detach=function(){if(!this.activated)throw new Error("Outlet is not activated");this.location.detach();var t=this.activated;return this.activated=null,this._activatedRoute=null,t},t.prototype.attach=function(t,e){this.activated=t,this._activatedRoute=e,this.location.insert(t.hostView)},t.prototype.deactivate=function(){if(this.activated){var t=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(t)}},t.prototype.activate=function(t,e,r,i,o){if(this.isActivated)throw new Error("Cannot activate an already activated outlet");this.outletMap=o,this._activatedRoute=t;var s=t._futureSnapshot,a=s._routeConfig.component,u=e.resolveComponentFactory(a),c=n.ReflectiveInjector.fromResolvedProviders(i,r);this.activated=this.location.createComponent(u,this.location.length,c,[]),this.activated.changeDetectorRef.detectChanges(),this.activateEvents.emit(this.activated.instance)},t.decorators=[{type:n.Directive,args:[{selector:"router-outlet"}]}],t.ctorParameters=function(){return[{type:rn},{type:n.ViewContainerRef},{type:n.ComponentFactoryResolver},{type:void 0,decorators:[{type:n.Attribute,args:["name"]}]}]},t.propDecorators={activateEvents:[{type:n.Output,args:["activate"]}],deactivateEvents:[{type:n.Output,args:["deactivate"]}]},t}(),En=function(){function t(){}return t.prototype.shouldDetach=function(){},t.prototype.store=function(){},t.prototype.shouldAttach=function(){},t.prototype.retrieve=function(){},t.prototype.shouldReuseRoute=function(){},t}(),Sn=b.__platform_browser_private__.getDOM,Cn=function(){function t(){}return t.prototype.preload=function(){},t}(),xn=function(){function t(){}return t.prototype.preload=function(t,e){return d._catch.call(e(),function(){return s.of(null)})},t}(),Tn=function(){function t(){}return t.prototype.preload=function(){return s.of(null)},t}(),Pn=function(){function t(t,e,n,r,i){this.router=t,this.injector=r,this.preloadingStrategy=i,this.loader=new ke(e,n)}return t.prototype.setUpPreloading=function(){var t=this,e=w.filter.call(this.router.events,function(t){return t instanceof un});this.subscription=a.concatMap.call(e,function(){return t.preload()}).subscribe(function(){})},t.prototype.preload=function(){return this.processRoutes(this.injector,this.router.config)},t.prototype.ngOnDestroy=function(){this.subscription.unsubscribe()},t.prototype.processRoutes=function(t,e){for(var n=[],r=0,i=e;r<i.length;r++){var s=i[r];if(s.loadChildren&&!s.canLoad&&s._loadedConfig){var a=s._loadedConfig;n.push(this.processRoutes(a.injector,a.routes))}else s.loadChildren&&!s.canLoad?n.push(this.preloadConfig(t,s)):s.children&&n.push(this.processRoutes(t,s.children))}return _.mergeAll.call(o.from(n))},t.prototype.preloadConfig=function(t,e){var n=this;return this.preloadingStrategy.preload(e,function(){var r=n.loader.load(t,e.loadChildren);return l.mergeMap.call(r,function(t){var r=e;return r._loadedConfig=t,n.processRoutes(t.injector,t.routes)})})},t.decorators=[{type:n.Injectable}],t.ctorParameters=function(){return[{type:fn},{type:n.NgModuleFactoryLoader},{type:n.Compiler},{type:n.Injector},{type:Cn}]},t}(),An=[wn,gn,_n,bn],On=new n.OpaqueToken("ROUTER_CONFIGURATION"),Mn=new n.OpaqueToken("ROUTER_FORROOT_GUARD"),Rn=[e.Location,{provide:je,useClass:Le},{provide:fn,useFactory:we,deps:[n.ApplicationRef,je,rn,e.Location,n.Injector,n.NgModuleFactoryLoader,n.Compiler,Me,On,[on,new n.Optional],[En,new n.Optional]]},rn,{provide:Ye,useFactory:Ee,deps:[fn]},{provide:n.NgModuleFactoryLoader,useClass:n.SystemJsNgModuleLoader},Pn,Tn,xn,{provide:On,useValue:{enableTracing:!1}}],kn=function(){function t(){}return t.forRoot=function(r,i){return{ngModule:t,providers:[Rn,be(r),{provide:Mn,useFactory:_e,deps:[[fn,new n.Optional,new n.SkipSelf]]},{provide:On,useValue:i?i:{}},{provide:e.LocationStrategy,useFactory:ge,deps:[e.PlatformLocation,[new n.Inject(e.APP_BASE_HREF),new n.Optional],On]},{provide:Cn,useExisting:i&&i.preloadingStrategy?i.preloadingStrategy:Tn},{provide:n.NgProbeToken,multi:!0,useFactory:ve},Ce()]}},t.forChild=function(e){return{ngModule:t,providers:[be(e)]}},t.decorators=[{type:n.NgModule,args:[{declarations:An,exports:An}]}],t.ctorParameters=function(){return[{type:void 0,decorators:[{type:n.Optional},{type:n.Inject,args:[Mn]}]}]},t}(),Nn=new n.OpaqueToken("Router Initializer"),In=new n.Version("3.4.9"),Dn={ROUTER_PROVIDERS:Rn,ROUTES:Me,flatten:x};t.RouterLink=gn,t.RouterLinkWithHref=_n,t.RouterLinkActive=bn,t.RouterOutlet=wn,t.RouteReuseStrategy=En,t.NavigationCancel=cn,t.NavigationEnd=un,t.NavigationError=pn,t.NavigationStart=an,t.Router=fn,t.RoutesRecognized=ln,t.ROUTER_CONFIGURATION=On,t.ROUTER_INITIALIZER=Nn,t.RouterModule=kn,t.provideRoutes=be,t.RouterOutletMap=rn,t.NoPreloading=Tn,t.PreloadAllModules=xn,t.PreloadingStrategy=Cn,t.RouterPreloader=Pn,t.ActivatedRoute=Ye,t.ActivatedRouteSnapshot=$e,t.RouterState=Qe,t.RouterStateSnapshot=Ze,t.PRIMARY_OUTLET=Ae,t.UrlHandlingStrategy=on,t.DefaultUrlSerializer=Le,t.UrlSegment=De,t.UrlSegmentGroup=Ie,t.UrlSerializer=je,t.UrlTree=Ne,t.VERSION=In,t.__router_private__=Dn})},{"@angular/common":5,"@angular/core":7,"@angular/platform-browser":10,"rxjs/BehaviorSubject":12,"rxjs/Observable":15,"rxjs/Subject":18,"rxjs/observable/from":30,"rxjs/observable/fromPromise":31,"rxjs/observable/of":32,"rxjs/operator/catch":33,"rxjs/operator/concatAll":34,"rxjs/operator/concatMap":35,"rxjs/operator/every":36,"rxjs/operator/filter":37,"rxjs/operator/first":38,"rxjs/operator/last":39,"rxjs/operator/map":40,"rxjs/operator/mergeAll":41,"rxjs/operator/mergeMap":42,"rxjs/operator/reduce":44,"rxjs/util/EmptyError":48}],12:[function(t,e,n){"use strict";var r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},i=t("./Subject"),o=t("./util/ObjectUnsubscribedError"),s=function(t){function e(e){t.call(this),this._value=e}return r(e,t),Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!0,configurable:!0}),e.prototype._subscribe=function(e){var n=t.prototype._subscribe.call(this,e);return n&&!n.closed&&e.next(this._value),n},e.prototype.getValue=function(){if(this.hasError)throw this.thrownError;if(this.closed)throw new o.ObjectUnsubscribedError;return this._value},e.prototype.next=function(e){t.prototype.next.call(this,this._value=e)},e}(i.Subject);n.BehaviorSubject=s},{"./Subject":18,"./util/ObjectUnsubscribedError":49}],13:[function(t,e,n){"use strict";var r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},i=t("./Subscriber"),o=function(t){function e(e,n,r){t.call(this),this.parent=e,this.outerValue=n,this.outerIndex=r,this.index=0}return r(e,t),e.prototype._next=function(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)},e.prototype._error=function(t){this.parent.notifyError(t,this),this.unsubscribe()},e.prototype._complete=function(){this.parent.notifyComplete(this),this.unsubscribe()},e}(i.Subscriber);n.InnerSubscriber=o},{"./Subscriber":20}],14:[function(t,e,n){"use strict";var r=t("./Observable"),i=function(){function t(t,e,n){this.kind=t,this.value=e,this.error=n,this.hasValue="N"===t}return t.prototype.observe=function(t){switch(this.kind){case"N":return t.next&&t.next(this.value);case"E":return t.error&&t.error(this.error);case"C":return t.complete&&t.complete()}},t.prototype["do"]=function(t,e,n){var r=this.kind;switch(r){case"N":return t&&t(this.value);case"E":return e&&e(this.error);case"C":return n&&n()}},t.prototype.accept=function(t,e,n){return t&&"function"==typeof t.next?this.observe(t):this["do"](t,e,n)},t.prototype.toObservable=function(){var t=this.kind;switch(t){case"N":return r.Observable.of(this.value);case"E":return r.Observable["throw"](this.error);case"C":return r.Observable.empty()}throw new Error("unexpected notification kind value")},t.createNext=function(e){return"undefined"!=typeof e?new t("N",e):this.undefinedValueNotification},t.createError=function(e){return new t("E",void 0,e)},t.createComplete=function(){return this.completeNotification},t.completeNotification=new t("C"),t.undefinedValueNotification=new t("N",void 0),t}();n.Notification=i},{"./Observable":15}],15:[function(t,e,n){"use strict";var r=t("./util/root"),i=t("./util/toSubscriber"),o=t("./symbol/observable"),s=function(){function t(t){this._isScalar=!1,t&&(this._subscribe=t)}return t.prototype.lift=function(e){var n=new t;return n.source=this,n.operator=e,n},t.prototype.subscribe=function(t,e,n){var r=this.operator,o=i.toSubscriber(t,e,n);if(r?r.call(o,this.source):o.add(this._trySubscribe(o)),o.syncErrorThrowable&&(o.syncErrorThrowable=!1,o.syncErrorThrown))throw o.syncErrorValue;return o},t.prototype._trySubscribe=function(t){try{return this._subscribe(t)}catch(e){t.syncErrorThrown=!0,t.syncErrorValue=e,t.error(e)}},t.prototype.forEach=function(t,e){var n=this;if(e||(r.root.Rx&&r.root.Rx.config&&r.root.Rx.config.Promise?e=r.root.Rx.config.Promise:r.root.Promise&&(e=r.root.Promise)),!e)throw new Error("no Promise impl found");return new e(function(e,r){var i=n.subscribe(function(e){if(i)try{t(e)}catch(n){r(n),i.unsubscribe()}else t(e)},r,e)})},t.prototype._subscribe=function(t){return this.source.subscribe(t)},t.prototype[o.$$observable]=function(){return this},t.create=function(e){return new t(e)},t}();n.Observable=s},{"./symbol/observable":46,"./util/root":58,"./util/toSubscriber":60}],16:[function(t,e,n){"use strict";n.empty={closed:!0,next:function(){},error:function(t){throw t},complete:function(){}}},{}],17:[function(t,e,n){"use strict";var r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},i=t("./Subscriber"),o=function(t){function e(){t.apply(this,arguments)}return r(e,t),e.prototype.notifyNext=function(t,e){this.destination.next(e)},e.prototype.notifyError=function(t){this.destination.error(t)},e.prototype.notifyComplete=function(){this.destination.complete()},e}(i.Subscriber);n.OuterSubscriber=o},{"./Subscriber":20}],18:[function(t,e,n){"use strict";var r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},i=t("./Observable"),o=t("./Subscriber"),s=t("./Subscription"),a=t("./util/ObjectUnsubscribedError"),u=t("./SubjectSubscription"),c=t("./symbol/rxSubscriber"),p=function(t){function e(e){t.call(this,e),this.destination=e}return r(e,t),e}(o.Subscriber);n.SubjectSubscriber=p;var l=function(t){function e(){t.call(this),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}return r(e,t),e.prototype[c.$$rxSubscriber]=function(){return new p(this)},e.prototype.lift=function(t){var e=new h(this,this);return e.operator=t,e},e.prototype.next=function(t){if(this.closed)throw new a.ObjectUnsubscribedError;if(!this.isStopped)for(var e=this.observers,n=e.length,r=e.slice(),i=0;n>i;i++)r[i].next(t)},e.prototype.error=function(t){if(this.closed)throw new a.ObjectUnsubscribedError;this.hasError=!0,this.thrownError=t,this.isStopped=!0;for(var e=this.observers,n=e.length,r=e.slice(),i=0;n>i;i++)r[i].error(t);this.observers.length=0},e.prototype.complete=function(){if(this.closed)throw new a.ObjectUnsubscribedError;this.isStopped=!0;for(var t=this.observers,e=t.length,n=t.slice(),r=0;e>r;r++)n[r].complete();this.observers.length=0},e.prototype.unsubscribe=function(){this.isStopped=!0,this.closed=!0,this.observers=null},e.prototype._trySubscribe=function(e){if(this.closed)throw new a.ObjectUnsubscribedError;return t.prototype._trySubscribe.call(this,e)},e.prototype._subscribe=function(t){if(this.closed)throw new a.ObjectUnsubscribedError;return this.hasError?(t.error(this.thrownError),s.Subscription.EMPTY):this.isStopped?(t.complete(),s.Subscription.EMPTY):(this.observers.push(t),new u.SubjectSubscription(this,t))},e.prototype.asObservable=function(){var t=new i.Observable;return t.source=this,t},e.create=function(t,e){return new h(t,e)},e}(i.Observable);n.Subject=l;var h=function(t){function e(e,n){t.call(this),this.destination=e,this.source=n}return r(e,t),e.prototype.next=function(t){var e=this.destination;e&&e.next&&e.next(t)},e.prototype.error=function(t){var e=this.destination;e&&e.error&&this.destination.error(t)},e.prototype.complete=function(){var t=this.destination;t&&t.complete&&this.destination.complete()},e.prototype._subscribe=function(t){var e=this.source;return e?this.source.subscribe(t):s.Subscription.EMPTY},e}(l);n.AnonymousSubject=h},{"./Observable":15,"./SubjectSubscription":19,"./Subscriber":20,"./Subscription":21,"./symbol/rxSubscriber":47,"./util/ObjectUnsubscribedError":49}],19:[function(t,e,n){"use strict";var r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},i=t("./Subscription"),o=function(t){function e(e,n){t.call(this),this.subject=e,this.subscriber=n,this.closed=!1}return r(e,t),e.prototype.unsubscribe=function(){if(!this.closed){this.closed=!0;var t=this.subject,e=t.observers;if(this.subject=null,e&&0!==e.length&&!t.isStopped&&!t.closed){var n=e.indexOf(this.subscriber);-1!==n&&e.splice(n,1)}}},e}(i.Subscription);n.SubjectSubscription=o},{"./Subscription":21}],20:[function(t,e,n){"use strict";var r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},i=t("./util/isFunction"),o=t("./Subscription"),s=t("./Observer"),a=t("./symbol/rxSubscriber"),u=function(t){function e(n,r,i){switch(t.call(this),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=s.empty;break;case 1:if(!n){this.destination=s.empty;break}if("object"==typeof n){n instanceof e?(this.destination=n,this.destination.add(this)):(this.syncErrorThrowable=!0,this.destination=new c(this,n));break}default:this.syncErrorThrowable=!0,this.destination=new c(this,n,r,i)}}return r(e,t),e.prototype[a.$$rxSubscriber]=function(){return this},e.create=function(t,n,r){var i=new e(t,n,r);return i.syncErrorThrowable=!1,i},e.prototype.next=function(t){this.isStopped||this._next(t)},e.prototype.error=function(t){this.isStopped||(this.isStopped=!0,this._error(t))},e.prototype.complete=function(){this.isStopped||(this.isStopped=!0,this._complete())},e.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,t.prototype.unsubscribe.call(this))},e.prototype._next=function(t){this.destination.next(t)},e.prototype._error=function(t){this.destination.error(t),this.unsubscribe()},e.prototype._complete=function(){this.destination.complete(),this.unsubscribe()},e.prototype._unsubscribeAndRecycle=function(){var t=this,e=t._parent,n=t._parents;return this._parent=null,this._parents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parent=e,this._parents=n,this},e}(o.Subscription);n.Subscriber=u;var c=function(t){function e(e,n,r,o){t.call(this),this._parentSubscriber=e;var s,a=this;i.isFunction(n)?s=n:n&&(a=n,s=n.next,r=n.error,o=n.complete,i.isFunction(a.unsubscribe)&&this.add(a.unsubscribe.bind(a)),a.unsubscribe=this.unsubscribe.bind(this)),this._context=a,this._next=s,this._error=r,this._complete=o}return r(e,t),e.prototype.next=function(t){if(!this.isStopped&&this._next){var e=this._parentSubscriber;e.syncErrorThrowable?this.__tryOrSetError(e,this._next,t)&&this.unsubscribe():this.__tryOrUnsub(this._next,t)}},e.prototype.error=function(t){if(!this.isStopped){var e=this._parentSubscriber;if(this._error)e.syncErrorThrowable?(this.__tryOrSetError(e,this._error,t),this.unsubscribe()):(this.__tryOrUnsub(this._error,t),this.unsubscribe());else{if(!e.syncErrorThrowable)throw this.unsubscribe(),t;e.syncErrorValue=t,e.syncErrorThrown=!0,this.unsubscribe()}}},e.prototype.complete=function(){if(!this.isStopped){var t=this._parentSubscriber;this._complete?t.syncErrorThrowable?(this.__tryOrSetError(t,this._complete),this.unsubscribe()):(this.__tryOrUnsub(this._complete),this.unsubscribe()):this.unsubscribe()}},e.prototype.__tryOrUnsub=function(t,e){try{t.call(this._context,e)}catch(n){throw this.unsubscribe(),n}},e.prototype.__tryOrSetError=function(t,e,n){try{e.call(this._context,n)}catch(r){return t.syncErrorValue=r,t.syncErrorThrown=!0,!0}return!1},e.prototype._unsubscribe=function(){var t=this._parentSubscriber;this._context=null,this._parentSubscriber=null,t.unsubscribe()},e}(u)},{"./Observer":16,"./Subscription":21,"./symbol/rxSubscriber":47,"./util/isFunction":54}],21:[function(t,e,n){"use strict";function r(t){return t.reduce(function(t,e){return t.concat(e instanceof c.UnsubscriptionError?e.errors:e)},[])}var i=t("./util/isArray"),o=t("./util/isObject"),s=t("./util/isFunction"),a=t("./util/tryCatch"),u=t("./util/errorObject"),c=t("./util/UnsubscriptionError"),p=function(){function t(t){this.closed=!1,this._parent=null,this._parents=null,this._subscriptions=null,t&&(this._unsubscribe=t)}return t.prototype.unsubscribe=function(){var t,e=!1;if(!this.closed){var n=this,p=n._parent,l=n._parents,h=n._unsubscribe,f=n._subscriptions;this.closed=!0,this._parent=null,this._parents=null,this._subscriptions=null;for(var d=-1,y=l?l.length:0;p;)p.remove(this),p=++d<y&&l[d]||null;if(s.isFunction(h)){var m=a.tryCatch(h).call(this);m===u.errorObject&&(e=!0,t=t||(u.errorObject.e instanceof c.UnsubscriptionError?r(u.errorObject.e.errors):[u.errorObject.e]))}if(i.isArray(f))for(d=-1,y=f.length;++d<y;){var v=f[d];if(o.isObject(v)){var m=a.tryCatch(v.unsubscribe).call(v);if(m===u.errorObject){e=!0,t=t||[];var g=u.errorObject.e;g instanceof c.UnsubscriptionError?t=t.concat(r(g.errors)):t.push(g)}}}if(e)throw new c.UnsubscriptionError(t)}},t.prototype.add=function(e){if(!e||e===t.EMPTY)return t.EMPTY;if(e===this)return this;var n=e;switch(typeof e){case"function":n=new t(e);case"object":if(n.closed||"function"!=typeof n.unsubscribe)return n;if(this.closed)return n.unsubscribe(),n;if("function"!=typeof n._addParent){var r=n;n=new t,n._subscriptions=[r]}break;default:throw new Error("unrecognized teardown "+e+" added to Subscription.")}var i=this._subscriptions||(this._subscriptions=[]);return i.push(n),n._addParent(this),n},t.prototype.remove=function(t){var e=this._subscriptions;if(e){var n=e.indexOf(t);-1!==n&&e.splice(n,1)}},t.prototype._addParent=function(t){var e=this,n=e._parent,r=e._parents;n&&n!==t?r?-1===r.indexOf(t)&&r.push(t):this._parents=[t]:this._parent=t},t.EMPTY=function(t){return t.closed=!0,t}(new t),t}();n.Subscription=p},{"./util/UnsubscriptionError":50,"./util/errorObject":51,"./util/isArray":52,"./util/isFunction":54,"./util/isObject":55,"./util/tryCatch":61}],22:[function(t){"use strict";var e=t("../../Observable"),n=t("../../operator/map");e.Observable.prototype.map=n.map},{"../../Observable":15,"../../operator/map":40}],23:[function(t,e,n){"use strict";var r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},i=t("../Observable"),o=t("./ScalarObservable"),s=t("./EmptyObservable"),a=function(t){function e(e,n){t.call(this),this.arrayLike=e,this.scheduler=n,n||1!==e.length||(this._isScalar=!0,this.value=e[0])}return r(e,t),e.create=function(t,n){var r=t.length;return 0===r?new s.EmptyObservable:1===r?new o.ScalarObservable(t[0],n):new e(t,n)},e.dispatch=function(t){var e=t.arrayLike,n=t.index,r=t.length,i=t.subscriber;if(!i.closed){if(n>=r)return void i.complete();i.next(e[n]),t.index=n+1,this.schedule(t)}},e.prototype._subscribe=function(t){var n=0,r=this,i=r.arrayLike,o=r.scheduler,s=i.length;if(o)return o.schedule(e.dispatch,0,{arrayLike:i,index:n,length:s,subscriber:t});for(var a=0;s>a&&!t.closed;a++)t.next(i[a]);t.complete()},e}(i.Observable);n.ArrayLikeObservable=a},{"../Observable":15,"./EmptyObservable":25,"./ScalarObservable":29}],24:[function(t,e,n){"use strict";var r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},i=t("../Observable"),o=t("./ScalarObservable"),s=t("./EmptyObservable"),a=t("../util/isScheduler"),u=function(t){function e(e,n){t.call(this),this.array=e,this.scheduler=n,n||1!==e.length||(this._isScalar=!0,this.value=e[0])}return r(e,t),e.create=function(t,n){return new e(t,n)},e.of=function(){for(var t=[],n=0;n<arguments.length;n++)t[n-0]=arguments[n];var r=t[t.length-1];a.isScheduler(r)?t.pop():r=null;var i=t.length;return i>1?new e(t,r):1===i?new o.ScalarObservable(t[0],r):new s.EmptyObservable(r)},e.dispatch=function(t){var e=t.array,n=t.index,r=t.count,i=t.subscriber;return n>=r?void i.complete():(i.next(e[n]),void(i.closed||(t.index=n+1,this.schedule(t))))},e.prototype._subscribe=function(t){var n=0,r=this.array,i=r.length,o=this.scheduler;if(o)return o.schedule(e.dispatch,0,{array:r,index:n,count:i,subscriber:t});for(var s=0;i>s&&!t.closed;s++)t.next(r[s]);t.complete()},e}(i.Observable);n.ArrayObservable=u},{"../Observable":15,"../util/isScheduler":57,"./EmptyObservable":25,"./ScalarObservable":29}],25:[function(t,e,n){"use strict";var r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},i=t("../Observable"),o=function(t){function e(e){t.call(this),this.scheduler=e}return r(e,t),e.create=function(t){return new e(t)},e.dispatch=function(t){var e=t.subscriber;e.complete()},e.prototype._subscribe=function(t){var n=this.scheduler;return n?n.schedule(e.dispatch,0,{subscriber:t}):void t.complete()},e}(i.Observable);n.EmptyObservable=o},{"../Observable":15}],26:[function(t,e,n){"use strict";var r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},i=t("../util/isArray"),o=t("../util/isArrayLike"),s=t("../util/isPromise"),a=t("./PromiseObservable"),u=t("./IteratorObservable"),c=t("./ArrayObservable"),p=t("./ArrayLikeObservable"),l=t("../symbol/iterator"),h=t("../Observable"),f=t("../operator/observeOn"),d=t("../symbol/observable"),y=function(t){function e(e,n){t.call(this,null),this.ish=e,this.scheduler=n}return r(e,t),e.create=function(t,n){if(null!=t){if("function"==typeof t[d.$$observable])return t instanceof h.Observable&&!n?t:new e(t,n);if(i.isArray(t))return new c.ArrayObservable(t,n);if(s.isPromise(t))return new a.PromiseObservable(t,n);if("function"==typeof t[l.$$iterator]||"string"==typeof t)return new u.IteratorObservable(t,n);if(o.isArrayLike(t))return new p.ArrayLikeObservable(t,n)}throw new TypeError((null!==t&&typeof t||t)+" is not observable")},e.prototype._subscribe=function(t){var e=this.ish,n=this.scheduler;return e[d.$$observable]().subscribe(null==n?t:new f.ObserveOnSubscriber(t,n,0))},e}(h.Observable);n.FromObservable=y},{"../Observable":15,"../operator/observeOn":43,"../symbol/iterator":45,"../symbol/observable":46,"../util/isArray":52,"../util/isArrayLike":53,"../util/isPromise":56,"./ArrayLikeObservable":23,"./ArrayObservable":24,"./IteratorObservable":27,"./PromiseObservable":28}],27:[function(t,e,n){"use strict";function r(t){var e=t[p.$$iterator];if(!e&&"string"==typeof t)return new h(t);if(!e&&void 0!==t.length)return new f(t);if(!e)throw new TypeError("object is not iterable");return t[p.$$iterator]()}function i(t){var e=+t.length;return isNaN(e)?0:0!==e&&o(e)?(e=s(e)*Math.floor(Math.abs(e)),0>=e?0:e>d?d:e):e}function o(t){return"number"==typeof t&&u.root.isFinite(t)}function s(t){var e=+t;return 0===e?e:isNaN(e)?e:0>e?-1:1}var a=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},u=t("../util/root"),c=t("../Observable"),p=t("../symbol/iterator"),l=function(t){function e(e,n){if(t.call(this),this.scheduler=n,null==e)throw new Error("iterator cannot be null.");this.iterator=r(e)}return a(e,t),e.create=function(t,n){return new e(t,n)},e.dispatch=function(t){var e=t.index,n=t.hasError,r=t.iterator,i=t.subscriber;if(n)return void i.error(t.error);var o=r.next();return o.done?void i.complete():(i.next(o.value),t.index=e+1,i.closed?void("function"==typeof r["return"]&&r["return"]()):void this.schedule(t))},e.prototype._subscribe=function(t){var n=0,r=this,i=r.iterator,o=r.scheduler;if(o)return o.schedule(e.dispatch,0,{index:n,iterator:i,subscriber:t});for(;;){var s=i.next();if(s.done){t.complete();break}if(t.next(s.value),t.closed){"function"==typeof i["return"]&&i["return"]();break}}},e}(c.Observable);n.IteratorObservable=l;var h=function(){function t(t,e,n){void 0===e&&(e=0),void 0===n&&(n=t.length),this.str=t,this.idx=e,this.len=n}return t.prototype[p.$$iterator]=function(){return this},t.prototype.next=function(){return this.idx<this.len?{done:!1,value:this.str.charAt(this.idx++)}:{done:!0,value:void 0}},t}(),f=function(){function t(t,e,n){void 0===e&&(e=0),void 0===n&&(n=i(t)),this.arr=t,this.idx=e,this.len=n}return t.prototype[p.$$iterator]=function(){return this},t.prototype.next=function(){return this.idx<this.len?{done:!1,value:this.arr[this.idx++]}:{done:!0,value:void 0}},t}(),d=Math.pow(2,53)-1},{"../Observable":15,"../symbol/iterator":45,"../util/root":58}],28:[function(t,e,n){"use strict";function r(t){var e=t.value,n=t.subscriber;n.closed||(n.next(e),n.complete())}function i(t){var e=t.err,n=t.subscriber;n.closed||n.error(e)}var o=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},s=t("../util/root"),a=t("../Observable"),u=function(t){function e(e,n){t.call(this),this.promise=e,this.scheduler=n}return o(e,t),e.create=function(t,n){return new e(t,n)},e.prototype._subscribe=function(t){var e=this,n=this.promise,o=this.scheduler;if(null==o)this._isScalar?t.closed||(t.next(this.value),t.complete()):n.then(function(n){e.value=n,e._isScalar=!0,t.closed||(t.next(n),t.complete())},function(e){t.closed||t.error(e)}).then(null,function(t){s.root.setTimeout(function(){throw t})});else if(this._isScalar){if(!t.closed)return o.schedule(r,0,{value:this.value,subscriber:t})}else n.then(function(n){e.value=n,e._isScalar=!0,t.closed||t.add(o.schedule(r,0,{value:n,subscriber:t}))},function(e){t.closed||t.add(o.schedule(i,0,{err:e,subscriber:t}))}).then(null,function(t){s.root.setTimeout(function(){throw t})})},e}(a.Observable);n.PromiseObservable=u},{"../Observable":15,"../util/root":58}],29:[function(t,e,n){"use strict";var r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},i=t("../Observable"),o=function(t){function e(e,n){t.call(this),this.value=e,this.scheduler=n,this._isScalar=!0,n&&(this._isScalar=!1)}return r(e,t),e.create=function(t,n){return new e(t,n)},e.dispatch=function(t){var e=t.done,n=t.value,r=t.subscriber;return e?void r.complete():(r.next(n),void(r.closed||(t.done=!0,this.schedule(t))))},e.prototype._subscribe=function(t){var n=this.value,r=this.scheduler;return r?r.schedule(e.dispatch,0,{done:!1,value:n,subscriber:t}):(t.next(n),void(t.closed||t.complete()))},e}(i.Observable);n.ScalarObservable=o},{"../Observable":15}],30:[function(t,e,n){"use strict";var r=t("./FromObservable");n.from=r.FromObservable.create},{"./FromObservable":26}],31:[function(t,e,n){"use strict";var r=t("./PromiseObservable");n.fromPromise=r.PromiseObservable.create},{"./PromiseObservable":28}],32:[function(t,e,n){"use strict";var r=t("./ArrayObservable");n.of=r.ArrayObservable.of},{"./ArrayObservable":24}],33:[function(t,e,n){"use strict";function r(t){var e=new a(t),n=this.lift(e);return e.caught=n}var i=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},o=t("../OuterSubscriber"),s=t("../util/subscribeToResult");n._catch=r;var a=function(){function t(t){this.selector=t}return t.prototype.call=function(t,e){return e.subscribe(new u(t,this.selector,this.caught))},t}(),u=function(t){function e(e,n,r){t.call(this,e),this.selector=n,this.caught=r}return i(e,t),e.prototype.error=function(e){if(!this.isStopped){var n=void 0;try{n=this.selector(e,this.caught)}catch(r){return void t.prototype.error.call(this,r)}this._unsubscribeAndRecycle(),this.add(s.subscribeToResult(this,n))}},e}(o.OuterSubscriber)},{"../OuterSubscriber":17,"../util/subscribeToResult":59}],34:[function(t,e,n){"use strict";function r(){return this.lift(new i.MergeAllOperator(1))}var i=t("./mergeAll");n.concatAll=r},{"./mergeAll":41}],35:[function(t,e,n){"use strict";function r(t,e){return this.lift(new i.MergeMapOperator(t,e,1))}var i=t("./mergeMap");n.concatMap=r},{"./mergeMap":42}],36:[function(t,e,n){"use strict";function r(t,e){return this.lift(new s(t,e,this))}var i=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},o=t("../Subscriber");n.every=r;var s=function(){function t(t,e,n){this.predicate=t,this.thisArg=e,this.source=n}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.predicate,this.thisArg,this.source))},t}(),a=function(t){function e(e,n,r,i){t.call(this,e),this.predicate=n,this.thisArg=r,this.source=i,this.index=0,this.thisArg=r||this}return i(e,t),e.prototype.notifyComplete=function(t){this.destination.next(t),this.destination.complete()},e.prototype._next=function(t){var e=!1;try{e=this.predicate.call(this.thisArg,t,this.index++,this.source)}catch(n){return void this.destination.error(n)}e||this.notifyComplete(!1)},e.prototype._complete=function(){this.notifyComplete(!0)},e}(o.Subscriber)},{"../Subscriber":20}],37:[function(t,e,n){"use strict";function r(t,e){return this.lift(new s(t,e))}var i=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},o=t("../Subscriber");n.filter=r;var s=function(){function t(t,e){this.predicate=t,this.thisArg=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.predicate,this.thisArg))},t}(),a=function(t){function e(e,n,r){t.call(this,e),this.predicate=n,this.thisArg=r,this.count=0,this.predicate=n}return i(e,t),e.prototype._next=function(t){var e;try{e=this.predicate.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}e&&this.destination.next(t)},e}(o.Subscriber)},{"../Subscriber":20}],38:[function(t,e,n){"use strict";function r(t,e,n){return this.lift(new a(t,e,n,this))}var i=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},o=t("../Subscriber"),s=t("../util/EmptyError");n.first=r;var a=function(){function t(t,e,n,r){this.predicate=t,this.resultSelector=e,this.defaultValue=n,this.source=r}return t.prototype.call=function(t,e){return e.subscribe(new u(t,this.predicate,this.resultSelector,this.defaultValue,this.source));
+
+},t}(),u=function(t){function e(e,n,r,i,o){t.call(this,e),this.predicate=n,this.resultSelector=r,this.defaultValue=i,this.source=o,this.index=0,this.hasCompleted=!1,this._emitted=!1}return i(e,t),e.prototype._next=function(t){var e=this.index++;this.predicate?this._tryPredicate(t,e):this._emit(t,e)},e.prototype._tryPredicate=function(t,e){var n;try{n=this.predicate(t,e,this.source)}catch(r){return void this.destination.error(r)}n&&this._emit(t,e)},e.prototype._emit=function(t,e){return this.resultSelector?void this._tryResultSelector(t,e):void this._emitFinal(t)},e.prototype._tryResultSelector=function(t,e){var n;try{n=this.resultSelector(t,e)}catch(r){return void this.destination.error(r)}this._emitFinal(n)},e.prototype._emitFinal=function(t){var e=this.destination;this._emitted||(this._emitted=!0,e.next(t),e.complete(),this.hasCompleted=!0)},e.prototype._complete=function(){var t=this.destination;this.hasCompleted||"undefined"==typeof this.defaultValue?this.hasCompleted||t.error(new s.EmptyError):(t.next(this.defaultValue),t.complete())},e}(o.Subscriber)},{"../Subscriber":20,"../util/EmptyError":48}],39:[function(t,e,n){"use strict";function r(t,e,n){return this.lift(new a(t,e,n,this))}var i=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},o=t("../Subscriber"),s=t("../util/EmptyError");n.last=r;var a=function(){function t(t,e,n,r){this.predicate=t,this.resultSelector=e,this.defaultValue=n,this.source=r}return t.prototype.call=function(t,e){return e.subscribe(new u(t,this.predicate,this.resultSelector,this.defaultValue,this.source))},t}(),u=function(t){function e(e,n,r,i,o){t.call(this,e),this.predicate=n,this.resultSelector=r,this.defaultValue=i,this.source=o,this.hasValue=!1,this.index=0,"undefined"!=typeof i&&(this.lastValue=i,this.hasValue=!0)}return i(e,t),e.prototype._next=function(t){var e=this.index++;if(this.predicate)this._tryPredicate(t,e);else{if(this.resultSelector)return void this._tryResultSelector(t,e);this.lastValue=t,this.hasValue=!0}},e.prototype._tryPredicate=function(t,e){var n;try{n=this.predicate(t,e,this.source)}catch(r){return void this.destination.error(r)}if(n){if(this.resultSelector)return void this._tryResultSelector(t,e);this.lastValue=t,this.hasValue=!0}},e.prototype._tryResultSelector=function(t,e){var n;try{n=this.resultSelector(t,e)}catch(r){return void this.destination.error(r)}this.lastValue=n,this.hasValue=!0},e.prototype._complete=function(){var t=this.destination;this.hasValue?(t.next(this.lastValue),t.complete()):t.error(new s.EmptyError)},e}(o.Subscriber)},{"../Subscriber":20,"../util/EmptyError":48}],40:[function(t,e,n){"use strict";function r(t,e){if("function"!=typeof t)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return this.lift(new s(t,e))}var i=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},o=t("../Subscriber");n.map=r;var s=function(){function t(t,e){this.project=t,this.thisArg=e}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.project,this.thisArg))},t}();n.MapOperator=s;var a=function(t){function e(e,n,r){t.call(this,e),this.project=n,this.count=0,this.thisArg=r||this}return i(e,t),e.prototype._next=function(t){var e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(n){return void this.destination.error(n)}this.destination.next(e)},e}(o.Subscriber)},{"../Subscriber":20}],41:[function(t,e,n){"use strict";function r(t){return void 0===t&&(t=Number.POSITIVE_INFINITY),this.lift(new a(t))}var i=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},o=t("../OuterSubscriber"),s=t("../util/subscribeToResult");n.mergeAll=r;var a=function(){function t(t){this.concurrent=t}return t.prototype.call=function(t,e){return e.subscribe(new u(t,this.concurrent))},t}();n.MergeAllOperator=a;var u=function(t){function e(e,n){t.call(this,e),this.concurrent=n,this.hasCompleted=!1,this.buffer=[],this.active=0}return i(e,t),e.prototype._next=function(t){this.active<this.concurrent?(this.active++,this.add(s.subscribeToResult(this,t))):this.buffer.push(t)},e.prototype._complete=function(){this.hasCompleted=!0,0===this.active&&0===this.buffer.length&&this.destination.complete()},e.prototype.notifyComplete=function(t){var e=this.buffer;this.remove(t),this.active--,e.length>0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},e}(o.OuterSubscriber);n.MergeAllSubscriber=u},{"../OuterSubscriber":17,"../util/subscribeToResult":59}],42:[function(t,e,n){"use strict";function r(t,e,n){return void 0===n&&(n=Number.POSITIVE_INFINITY),"number"==typeof e&&(n=e,e=null),this.lift(new a(t,e,n))}var i=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},o=t("../util/subscribeToResult"),s=t("../OuterSubscriber");n.mergeMap=r;var a=function(){function t(t,e,n){void 0===n&&(n=Number.POSITIVE_INFINITY),this.project=t,this.resultSelector=e,this.concurrent=n}return t.prototype.call=function(t,e){return e.subscribe(new u(t,this.project,this.resultSelector,this.concurrent))},t}();n.MergeMapOperator=a;var u=function(t){function e(e,n,r,i){void 0===i&&(i=Number.POSITIVE_INFINITY),t.call(this,e),this.project=n,this.resultSelector=r,this.concurrent=i,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}return i(e,t),e.prototype._next=function(t){this.active<this.concurrent?this._tryNext(t):this.buffer.push(t)},e.prototype._tryNext=function(t){var e,n=this.index++;try{e=this.project(t,n)}catch(r){return void this.destination.error(r)}this.active++,this._innerSub(e,t,n)},e.prototype._innerSub=function(t,e,n){this.add(o.subscribeToResult(this,t,e,n))},e.prototype._complete=function(){this.hasCompleted=!0,0===this.active&&0===this.buffer.length&&this.destination.complete()},e.prototype.notifyNext=function(t,e,n,r){this.resultSelector?this._notifyResultSelector(t,e,n,r):this.destination.next(e)},e.prototype._notifyResultSelector=function(t,e,n,r){var i;try{i=this.resultSelector(t,e,n,r)}catch(o){return void this.destination.error(o)}this.destination.next(i)},e.prototype.notifyComplete=function(t){var e=this.buffer;this.remove(t),this.active--,e.length>0?this._next(e.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()},e}(s.OuterSubscriber);n.MergeMapSubscriber=u},{"../OuterSubscriber":17,"../util/subscribeToResult":59}],43:[function(t,e,n){"use strict";function r(t,e){return void 0===e&&(e=0),this.lift(new a(t,e))}var i=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},o=t("../Subscriber"),s=t("../Notification");n.observeOn=r;var a=function(){function t(t,e){void 0===e&&(e=0),this.scheduler=t,this.delay=e}return t.prototype.call=function(t,e){return e.subscribe(new u(t,this.scheduler,this.delay))},t}();n.ObserveOnOperator=a;var u=function(t){function e(e,n,r){void 0===r&&(r=0),t.call(this,e),this.scheduler=n,this.delay=r}return i(e,t),e.dispatch=function(t){var e=t.notification,n=t.destination;e.observe(n),this.unsubscribe()},e.prototype.scheduleMessage=function(t){this.add(this.scheduler.schedule(e.dispatch,this.delay,new c(t,this.destination)))},e.prototype._next=function(t){this.scheduleMessage(s.Notification.createNext(t))},e.prototype._error=function(t){this.scheduleMessage(s.Notification.createError(t))},e.prototype._complete=function(){this.scheduleMessage(s.Notification.createComplete())},e}(o.Subscriber);n.ObserveOnSubscriber=u;var c=function(){function t(t,e){this.notification=t,this.destination=e}return t}();n.ObserveOnMessage=c},{"../Notification":14,"../Subscriber":20}],44:[function(t,e,n){"use strict";function r(t,e){var n=!1;return arguments.length>=2&&(n=!0),this.lift(new s(t,e,n))}var i=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},o=t("../Subscriber");n.reduce=r;var s=function(){function t(t,e,n){void 0===n&&(n=!1),this.accumulator=t,this.seed=e,this.hasSeed=n}return t.prototype.call=function(t,e){return e.subscribe(new a(t,this.accumulator,this.seed,this.hasSeed))},t}();n.ReduceOperator=s;var a=function(t){function e(e,n,r,i){t.call(this,e),this.accumulator=n,this.hasSeed=i,this.index=0,this.hasValue=!1,this.acc=r,this.hasSeed||this.index++}return i(e,t),e.prototype._next=function(t){this.hasValue||(this.hasValue=this.hasSeed)?this._tryReduce(t):(this.acc=t,this.hasValue=!0)},e.prototype._tryReduce=function(t){var e;try{e=this.accumulator(this.acc,t,this.index++)}catch(n){return void this.destination.error(n)}this.acc=e},e.prototype._complete=function(){(this.hasValue||this.hasSeed)&&this.destination.next(this.acc),this.destination.complete()},e}(o.Subscriber);n.ReduceSubscriber=a},{"../Subscriber":20}],45:[function(t,e,n){"use strict";function r(t){var e=t.Symbol;if("function"==typeof e)return e.iterator||(e.iterator=e("iterator polyfill")),e.iterator;var n=t.Set;if(n&&"function"==typeof(new n)["@@iterator"])return"@@iterator";var r=t.Map;if(r)for(var i=Object.getOwnPropertyNames(r.prototype),o=0;o<i.length;++o){var s=i[o];if("entries"!==s&&"size"!==s&&r.prototype[s]===r.prototype.entries)return s}return"@@iterator"}var i=t("../util/root");n.symbolIteratorPonyfill=r,n.$$iterator=r(i.root)},{"../util/root":58}],46:[function(t,e,n){"use strict";function r(t){var e,n=t.Symbol;return"function"==typeof n?n.observable?e=n.observable:(e=n("observable"),n.observable=e):e="@@observable",e}var i=t("../util/root");n.getSymbolObservable=r,n.$$observable=r(i.root)},{"../util/root":58}],47:[function(t,e,n){"use strict";var r=t("../util/root"),i=r.root.Symbol;n.$$rxSubscriber="function"==typeof i&&"function"==typeof i["for"]?i["for"]("rxSubscriber"):"@@rxSubscriber"},{"../util/root":58}],48:[function(t,e,n){"use strict";var r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},i=function(t){function e(){var e=t.call(this,"no elements in sequence");this.name=e.name="EmptyError",this.stack=e.stack,this.message=e.message}return r(e,t),e}(Error);n.EmptyError=i},{}],49:[function(t,e,n){"use strict";var r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},i=function(t){function e(){var e=t.call(this,"object unsubscribed");this.name=e.name="ObjectUnsubscribedError",this.stack=e.stack,this.message=e.message}return r(e,t),e}(Error);n.ObjectUnsubscribedError=i},{}],50:[function(t,e,n){"use strict";var r=this&&this.__extends||function(t,e){function n(){this.constructor=t}for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r]);t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)},i=function(t){function e(e){t.call(this),this.errors=e;var n=Error.call(this,e?e.length+" errors occurred during unsubscription:\n  "+e.map(function(t,e){return e+1+") "+t.toString()}).join("\n  "):"");this.name=n.name="UnsubscriptionError",this.stack=n.stack,this.message=n.message}return r(e,t),e}(Error);n.UnsubscriptionError=i},{}],51:[function(t,e,n){"use strict";n.errorObject={e:{}}},{}],52:[function(t,e,n){"use strict";n.isArray=Array.isArray||function(t){return t&&"number"==typeof t.length}},{}],53:[function(t,e,n){"use strict";n.isArrayLike=function(t){return t&&"number"==typeof t.length}},{}],54:[function(t,e,n){"use strict";function r(t){return"function"==typeof t}n.isFunction=r},{}],55:[function(t,e,n){"use strict";function r(t){return null!=t&&"object"==typeof t}n.isObject=r},{}],56:[function(t,e,n){"use strict";function r(t){return t&&"function"!=typeof t.subscribe&&"function"==typeof t.then}n.isPromise=r},{}],57:[function(t,e,n){"use strict";function r(t){return t&&"function"==typeof t.schedule}n.isScheduler=r},{}],58:[function(t,e,n){(function(t){"use strict";if(n.root="object"==typeof window&&window.window===window&&window||"object"==typeof self&&self.self===self&&self||"object"==typeof t&&t.global===t&&t,!n.root)throw new Error("RxJS could not find any global context (window, self, global)")}).call(this,"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{}],59:[function(t,e,n){"use strict";function r(t,e,n,r){var h=new p.InnerSubscriber(t,n,r);if(h.closed)return null;if(e instanceof u.Observable)return e._isScalar?(h.next(e.value),h.complete(),null):e.subscribe(h);if(o.isArrayLike(e)){for(var f=0,d=e.length;d>f&&!h.closed;f++)h.next(e[f]);h.closed||h.complete()}else{if(s.isPromise(e))return e.then(function(t){h.closed||(h.next(t),h.complete())},function(t){return h.error(t)}).then(null,function(t){i.root.setTimeout(function(){throw t})}),h;if(e&&"function"==typeof e[c.$$iterator])for(var y=e[c.$$iterator]();;){var m=y.next();if(m.done){h.complete();break}if(h.next(m.value),h.closed)break}else if(e&&"function"==typeof e[l.$$observable]){var v=e[l.$$observable]();if("function"==typeof v.subscribe)return v.subscribe(new p.InnerSubscriber(t,n,r));h.error(new TypeError("Provided object does not correctly implement Symbol.observable"))}else{var g=a.isObject(e)?"an invalid object":"'"+e+"'",_="You provided "+g+" where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.";h.error(new TypeError(_))}}return null}var i=t("./root"),o=t("./isArrayLike"),s=t("./isPromise"),a=t("./isObject"),u=t("../Observable"),c=t("../symbol/iterator"),p=t("../InnerSubscriber"),l=t("../symbol/observable");n.subscribeToResult=r},{"../InnerSubscriber":13,"../Observable":15,"../symbol/iterator":45,"../symbol/observable":46,"./isArrayLike":53,"./isObject":55,"./isPromise":56,"./root":58}],60:[function(t,e,n){"use strict";function r(t,e,n){if(t){if(t instanceof i.Subscriber)return t;if(t[o.$$rxSubscriber])return t[o.$$rxSubscriber]()}return t||e||n?new i.Subscriber(t,e,n):new i.Subscriber(s.empty)}var i=t("../Subscriber"),o=t("../symbol/rxSubscriber"),s=t("../Observer");n.toSubscriber=r},{"../Observer":16,"../Subscriber":20,"../symbol/rxSubscriber":47}],61:[function(t,e,n){"use strict";function r(){try{return o.apply(this,arguments)}catch(t){return s.errorObject.e=t,s.errorObject}}function i(t){return o=t,r}var o,s=t("./errorObject");n.tryCatch=i},{"./errorObject":51}]},{},[4])(4)});
\ No newline at end of file
diff --git a/apps/maarch_entreprise/js/functions.js b/apps/maarch_entreprise/js/functions.js
index d0acc4ce9d40a1bec1bbd4fb0667e8a2b9f15589..c796a5c23523ba403f2e3ae6b316a2be944d5dd2 100755
--- a/apps/maarch_entreprise/js/functions.js
+++ b/apps/maarch_entreprise/js/functions.js
@@ -1224,27 +1224,19 @@ function end_actions()
 function close_action(id_action, page, path_manage_script, mode_req, res_id_values, tablename, id_coll)
 {
     var modal = $('modal_'+id_action);
-    if(modal)
-    {
+    if(modal) {
         destroyModal('modal_'+id_action);
     }
-    if(pile_actions.values.length == 0)
-    {
-        if(actions_status.values.length > 0)
-        {
+    if(pile_actions.values.length == 0) {
+        if(actions_status.values.length > 0) {
             var status = actions_status.values[actions_status.values.length -1];
             action_done = action_change_status(path_manage_script, mode_req, res_id_values, tablename, id_coll, status,page);
-        }
-        else
-        {
-            if(page != '' && page != NaN && page && page != null )
-            {
+        } else {
+            if(page != '' && page != NaN && page && page != null ) {
                 do_nothing = false;
                 window.top.location.href=page;
 
-            }
-            else if(do_nothing == false)
-            {
+            } else if(do_nothing == false) {
                 window.top.location.hash = "";
                 window.top.location.reload();
             }
@@ -1630,7 +1622,9 @@ function action_send_form_confirm_result(path_manage_script, mode_req, id_action
                               },
                 onCreate: function(answer) {
                     //show loading image in toolbar
-                    $$("input[type='button']").each(function(v) {v.setAttribute("disabled","disabled");v.style.opacity="0.5";})
+                    $$("input[type='button']").each(function(v) {
+                        v.setAttribute("disabled","disabled");v.style.opacity="0.5";
+                    });
                     /*if($('send_action')){
                         $('send_action').disabled=true;
                         $('send_action').style.opacity="0.5";
@@ -1688,7 +1682,6 @@ function action_send_form_confirm_result(path_manage_script, mode_req, id_action
 
 function action_change_status(path_manage_script, mode_req, res_id_values, tablename, id_coll, status,page)
 {
-  // alert('path '+path_manage_script+', mode '+mode_req+', status '+status+', res_id_value '+res_id_values+', coll '+id_coll+', table '+tablename);
     if(res_id_values != '' && (mode_req == 'mass' || mode_req == 'page')
               && tablename != '' &&  id_coll != '')
         {
@@ -1704,53 +1697,48 @@ function action_change_status(path_manage_script, mode_req, res_id_values, table
                               new_status : status
                               },
                 onSuccess: function(answer){
-                    //console.log('answer '+answer.responseText);
-                    //alert('answer '+answer.responseText);
                     eval('response='+answer.responseText);
-                    if(response.status == 0 )
-                    {
+                    if(response.status == 0 ) {
                         actions_status.values = [];
                         // Status changed
-                    }
-                    else
-                    {
+                    } else {
                         try{
                             //$('frm_error').updateContent(response.error_txt); // update the error div in the modal form
                             $('frm_error').innerHTML = response.error_txt;
                             }
                         catch(e){}
                     }
-                    //alert(page);
-                    if(page != '' && page != NaN && page && page != null )
-                    {
+                    if(page != '' && page != NaN && page && page != null ) {
                         do_nothing = false;
                         window.top.location.href=page;
 
-                    }
-                    else if(do_nothing == false)
-                    {
-						            var cur_url = window.top.location.href;
-						            if (cur_url.indexOf("&directLinkToAction") != -1) {
-							              window.top.location = cur_url.replace("&directLinkToAction","");
-                        }	else {
-                            window.top.location.hash = "";
-                            window.top.location.reload();
+                    } else if(do_nothing == false) {
+
+                        var cur_url = window.top.location.href;
+                        if (cur_url.indexOf("&directLinkToAction") != -1) {
+                            if (typeof window['angularSignatureBookComponent'] != "undefined") {
+                                window.angularSignatureBookComponent.componentAfterAction();
+                            } else {
+                                window.top.location = cur_url.replace("&directLinkToAction", "");
+                            }
+                        } else {
+                            if (typeof window['angularSignatureBookComponent'] != "undefined") {
+                                window.angularSignatureBookComponent.componentAfterAction();
+                            } else {
+                                window.top.location.hash = "";
+                                window.top.location.reload();
+                            }
                         }
                     }
                     
                     // fix for Chrome and firefox
                     if (page_result_final != '') {
-                        //console.log(page_result_final);
                         window.top.location.href=page_result_final;
                     }
                     
                     do_nothing = false;
                 },
                 onFailure: function(){
-                    if(console)
-                    {
-                        //console.log('the console');
-                    }
                 }
             });
         }
@@ -1898,20 +1886,10 @@ function unlock(path_script, id, coll)
             onSuccess: function(answer){
 
                 eval('response='+answer.responseText);
-                if(response.status == 0 )
-                {
-
-                        //console.log('Unlock OK');
-
-                }
-                else
-                {
-                    if(console)
-                    {
+                if(response.status != 0 ) {
+                    if(console) {
                         console.log('Pb unlock');
-                    }
-                    else
-                    {
+                    } else {
                         alert('Pb unlock');
                     }
                 }
diff --git a/apps/maarch_entreprise/services/Table.php b/apps/maarch_entreprise/services/Table.php
index 3c3dc39e94314c196df3231ed8bf475f2ad98e85..7044b296a76f485e4a57170df9c73ee5fee2081c 100644
--- a/apps/maarch_entreprise/services/Table.php
+++ b/apps/maarch_entreprise/services/Table.php
@@ -200,9 +200,14 @@ class Apps_Table_Service extends Core_Abstract_Service {
         $queryExtJokers = [];
         $queryExtValues = [];
         foreach ($aData as $key => $value) {
+            if ($value == 'SYSDATE' ||
+                $value == 'CURRENT_TIMESTAMP') {
+                $queryExtJokers[] = $value;
+            } else {
+                $queryExtJokers[] = '?';
+                $queryExtValues[] = $value;
+            }
             $queryExtFields[] = $key;
-            $queryExtJokers[] = '?';
-            $queryExtValues[] = $value;
         }
         $queryExt = 'INSERT INTO '.$table.'('.implode(',', $queryExtFields).')values('.implode(',', $queryExtJokers).')';
         //echo "the query " . $queryExt . PHP_EOL;var_export($queryExtFields). PHP_EOL;var_export($queryExtValues). PHP_EOL;
diff --git a/core/Controllers/ResController.php b/core/Controllers/ResController.php
index 60c147692e171c83886f12ea86cfc000e04d8af1..d6b754b066afd91541d82e7a134e8127137e2be1 100644
--- a/core/Controllers/ResController.php
+++ b/core/Controllers/ResController.php
@@ -18,10 +18,15 @@ namespace Core\Controllers;
 use Psr\Http\Message\RequestInterface;
 use Psr\Http\Message\ResponseInterface;
 use Respect\Validation\Validator;
+use Core\Models\DocserverModel;
+use Core\Models\DocserverTypeModel;
 use Core\Models\UserModel;
 use Core\Models\ResModel;
 use Entities\Models\EntitiesModel;
 use Core\Controllers\DocserverController;
+use Core\Controllers\DocserverToolsController;
+
+require_once 'core/class/class_db_pdo.php';
 
 class ResController
 {
@@ -31,7 +36,6 @@ class ResController
             $aArgs = $aArgs;
         } else {
             $aArgs = $request->getQueryParams();
-            //print_r($aArgs['data']);
             $aArgs['data'] = json_decode($aArgs['data']);
             $aArgs['data'] = $this->object2array($aArgs['data']);
         }
@@ -49,6 +53,51 @@ class ResController
         return $response->withJson($return);
     }
 
+    public function delete(RequestInterface $request, ResponseInterface $response, $aArgs)
+    {
+        if (isset($aArgs['id'])) {
+            $obj = $this->deleteRes([
+                'id' => $aArgs['id']
+            ]);
+            if (!$obj) {
+                return $response
+                    ->withStatus(500)
+                    ->withJson(['errors' => _NOT_DELETE]);
+            }
+        } else {
+            return $response
+                ->withStatus(500)
+                ->withJson(['errors' => _NOT_DELETE]);
+        }
+        
+        $datas = [
+            $obj,
+        ];
+
+        return $response->withJson($datas);
+    }
+
+    /**
+     * Deletes ext resource on database.
+     * @param  $resId  integer
+     * @param  $table  string
+     * @return res_id
+     */
+    public function deleteRes($aArgs)
+    {
+        if (isset($aArgs['id'])) {
+            $obj = ResModel::delete([
+                'id' => $aArgs['id']
+            ]);
+        } else {
+            return false;
+        }
+        
+        $datas = $obj;
+
+        return $datas;
+    }
+
     /**
      * Store resource on database.
      * @param  $encodedFile  string
@@ -138,19 +187,29 @@ class ResController
             $data = $this->prepareStorage($aArgs);
             
             unlink($Fnm);
+
+            $aArgs = [
+                'table'         => $table,
+                'path'          => $storeResult['destination_dir'],
+                'filename'      => $storeResult['file_destination_name'],
+                'docserverPath' => $storeResult['path_template'],
+                'docserverId'   => $storeResult['docserver_id'],
+                'docserverPath' => $storeResult['path_template'],
+                'data'          => $data,
+            ];
+
+            $this->loadIntoDb($aArgs);
+
+            $resDetails = ResModel::getByPath([
+                'docserverId' => $storeResult['docserver_id'],
+                'path'        => $storeResult['destination_dir'],
+                'filename'    => $storeResult['file_destination_name'],
+                'table'       => $aArgs['table'],
+                'select'      => ['res_id']
+            ]);
+            
+            $resId = $resDetails[0]['res_id'];
             
-            require_once 'core/class/class_resource.php';
-            $resource = new \resource();
-            $resId = $resource->load_into_db(
-                $table,
-                $storeResult['destination_dir'],
-                $storeResult['file_destination_name'],
-                $storeResult['path_template'],
-                $storeResult['docserver_id'],
-                $data,
-                $_SESSION['config']['databasetype'],
-                true
-            );
 
             if (!is_numeric($resId)) {
                 return ['errors' => 'Pb with SQL insertion : ' .$resId];
@@ -166,6 +225,246 @@ class ResController
         }
     }
 
+    /**
+    * Inserts the Resource Object data into the data base
+    *
+    * @param  $table string Resource table where to insert
+    * @param  $path  string Resource path in the docserver
+    * @param  $filename string Resource file name
+    * @param  $docserverPath  string Docserver path
+    * @param  $docserverId  string Docserver identifier
+    * @param  boolean
+    */
+    public function loadIntoDb($aArgs)
+    {
+        $db = new \Database();
+        if (empty($aArgs['table'])) {
+            return ['errors' => 'table ' . _EMPTY];
+        }
+
+        if (empty($aArgs['path'])) {
+            return ['errors' => 'path ' . _EMPTY];
+        }
+
+        if (empty($aArgs['filename'])) {
+            return ['errors' => 'filename ' . _EMPTY];
+        }
+
+        if (empty($aArgs['docserverPath'])) {
+            return ['errors' => 'docserverPath ' . _EMPTY];
+        }
+
+        if (empty($aArgs['docserverId'])) {
+            return ['errors' => 'docserverId ' . _EMPTY];
+        }
+
+        if (empty($aArgs['data'])) {
+            return ['errors' => 'data ' . _EMPTY];
+        }
+        $table = $aArgs['table'];
+        $path = $aArgs['path'];
+        $filename = $aArgs['filename'];
+        $docserverPath = $aArgs['docserverPath'];
+        $docserverId = $aArgs['docserverId'];
+        $data = $aArgs['data'];
+
+        $filetmp = $docserverPath;
+        $tmp = $path;
+        $tmp = str_replace('#', DIRECTORY_SEPARATOR, $tmp);
+        $filetmp .= $tmp;
+        $filetmp .= $filename;
+        
+        $docserver = DocserverModel::getById([
+            'id' => $docserverId
+        ]);
+        $docserverType = DocserverTypeModel::getById([
+            'id' => $docserver[0]['docserver_type_id']
+        ]);
+
+        $fingerprint = DocserverToolsController::doFingerprint(
+            [
+                'path'            => $filetmp,
+                'fingerprintMode' => $docserverType[0]['fingerprint_mode'],
+            ]
+        );
+
+        $filesize = filesize($filetmp);
+        array_push(
+            $data,
+            array(
+                'column' => "fingerprint",
+                'value' => $fingerprint['fingerprint'],
+                'type' => "string"
+            )
+        );
+        array_push(
+            $data,
+            array(
+                'column' => "filesize",
+                'value' => $filesize,
+                'type' => "int"
+            )
+        );
+        array_push(
+            $data,
+            array(
+                'column' => "path",
+                'value' => $path,
+                'type' => "string"
+            )
+        );
+        array_push(
+            $data,
+            array(
+                'column' => "filename",
+                'value' => $filename,
+                'type' => "string"
+            )
+        );
+        array_push(
+            $data,
+            array(
+                'column' => 'creation_date',
+                'value' => $db->current_datetime(),
+                'type' => "function"
+            )
+        );
+        $testBasicFields = $this->checkBasicFields($data);
+
+        if (!$testBasicFields['status']) {
+            return ['error' => $testBasicFields['error']];
+        } else {
+            $prepareData = [];
+            $countD = count($data);
+            for ($i = 0; $i < $countD; $i++) {
+                //COLUMN
+                $data[$i]['column'] = strtolower($data[$i]['column']);
+                //VALUE
+                $prepareData[$data[$i]['column']] = $data[$i]['value'];
+            }
+
+            $resInsert = ResModel::create([
+                'table' => 'res_letterbox',
+                'data'  => $prepareData
+            ]);
+
+            return true;
+        }
+    }
+
+    /**
+    * Checks the mininum fields required for an insert into the database
+    *
+    * @param  $data array Array of the fields to insert into the database
+    * @return error $error
+    */
+    private function checkBasicFields($data)
+    {
+        $error = '';
+        $db = new \Database();
+        $find_format = false;
+        $find_typist = false;
+        $find_creation_date = false;
+        $find_docserver_id = false;
+        $find_path = false;
+        $find_filename = false;
+        $find_offset = false;
+        $find_logical_adr = false;
+        $find_fingerprint = false;
+        $find_filesize = false;
+        $find_status = false;
+        for ($i=0; $i < count($data); $i++) {
+            if ($data[$i]['column'] == 'format') {
+                $find_format = true;
+                // must be tested in the file_index.php file (module = indexing_searching)
+            } elseif ($data[$i]['column'] == 'typist') {
+                $find_typist = true;
+            } elseif ($data[$i]['column'] == 'creation_date') {
+                $find_creation_date = true;
+                if ($data[$i]['value'] <> $db->current_datetime()) {
+                    $error .= _CREATION_DATE_ERROR;
+                }
+            } elseif ($data[$i]['column'] == 'docserver_id') {
+                $find_docserver_id =  true;
+            } elseif ($data[$i]['column'] == 'path') {
+                $find_path = true;
+                if (empty($data[$i]['value'])) {
+                    $error .= _PATH_ERROR;
+                }
+            } elseif ($data[$i]['column'] == 'filename') {
+                $find_filename = true;
+                if (!preg_match(
+                    "/^[\w-.]+.([a-zA-Z-0-9][a-zA-Z-0-9][a-zA-Z-0-9][a-zA-Z-0-9]?|maarch)$/",
+                    $data[$i]['value']
+                )
+                ) {
+                    $error .= _FILENAME_ERROR . ' ' . $data[$i]['value'] . '<br/>';
+                }
+            } elseif ($data[$i]['column'] == "offset_doc") {
+                $find_offset = true;
+            } elseif ($data[$i]['column'] == 'logical_adr') {
+                $find_logical_adr = true;
+            } elseif ($data[$i]['column'] == 'fingerprint') {
+                $find_fingerprint  = true;
+                if (!preg_match("/^[0-9A-Fa-f]+$/", $data[$i]['value'])) {
+                    $error .= _FINGERPRINT_ERROR;
+                }
+            } elseif ($data[$i]['column'] == 'filesize') {
+                $find_filesize = true;
+                if ($data[$i]['value'] <= 0) {
+                    $error .= _FILESIZE_ERROR;
+                }
+            } elseif ($data[$i]['column'] == 'status') {
+                $find_status = true;
+            }
+        }
+
+        if ($find_format == false) {
+            $error .= _MISSING_FORMAT;
+        }
+        if ($find_typist == false) {
+            $error .= _MISSING_TYPIST;
+        }
+        if ($find_creation_date == false) {
+            $error .= _MISSING_CREATION_DATE;
+        }
+        if ($find_docserver_id == false) {
+            $error .= _MISSING_DOCSERVER_ID;
+        }
+        if ($find_path == false) {
+            $error .= _MISSING_PATH;
+        }
+        if ($find_filename == false) {
+            $error .= _MISSING_FILENAME;
+        }
+        if ($find_offset == false) {
+            $error .= _MISSING_OFFSET;
+        }
+        if ($find_logical_adr == false) {
+            $error .= _MISSING_LOGICAL_ADR;
+        }
+        if ($find_fingerprint == false) {
+            $error .= _MISSING_FINGERPRINT;
+        }
+        if ($find_filesize == false) {
+            $error .= _MISSING_FILESIZE;
+        }
+        if ($find_status == false) {
+            $error .= _MISSING_STATUS;
+        }
+
+        if (!empty($error)) {
+            $status = false;
+        } else {
+            $status = true;
+        }
+
+        return [
+            'status' => $status,
+            'error'  => $error
+        ];
+    }
+
     /**
      * Prepares storage on database.
      * @param  $data array
@@ -390,61 +689,6 @@ class ResController
         return $data;
     }
 
-    /**
-     * Store ext resource on database.
-     * @param  $resId  integer
-     * @param  $data array
-     * @param  $table  string
-     * @return res_id
-     */
-    public function storeExtResource($aArgs, $resId, $data, $table)
-    {
-        if (empty($aArgs['resId'])) {
-            return ['errors' => 'resId ' . _EMPTY];
-        }
-
-        if (empty($aArgs['data'])) {
-            return ['errors' => 'data ' . _EMPTY];
-        }
-
-        if (empty($aArgs['table'])) {
-            return ['errors' => 'table ' . _EMPTY];
-        }
-
-        if (empty($aArgs['resTable'])) {
-            return ['errors' => 'resTable ' . _EMPTY];
-        }
-
-        $resDetails = ResModel::getById([
-            'resId'  => $aArgs['resId'],
-            'table'  => $aArgs['resTable'],
-            'select' => ['res_id']
-        ]);
-        
-        if (empty($resDetails[0]['res_id'])) {
-            return ['errors' => 'res_id ' . _OF . ' ' . $aArgs['resTable'] . ' ' . _NOT_EXISTS];
-        }
-
-        $resDetails = ResModel::getById([
-            'resId' => $aArgs['resId'],
-            'table' => $aArgs['table'],
-            'select' => ['res_id']
-        ]);
-        
-        if ($resDetails[0]['res_id'] > 0) {
-            return ['errors' => 'res_id ' . _OF . ' '  . $aArgs['table'] . ' ' . _EXISTS];
-        }
-        
-        $prepareData = $this->prepareStorageExt($aArgs);
-        
-        $resExtInsert = ResModel::create([
-            'table' => 'mlb_coll_ext',
-            'data'  => $prepareData
-        ]);
-
-        return true;
-    }
-
     /**
     * Convert an object to an array
     * @param  $object object to convert
@@ -472,147 +716,4 @@ class ResController
         }
         return $return;
     }
-
-    /**
-     * Prepares storage on database for resExt.
-     * @param  $data array
-     * @return array $data
-     */
-    public function prepareStorageExt($aArgs)
-    {
-        if (empty($aArgs['resId'])) {
-            return ['errors' => 'resId ' . _EMPTY];
-        }
-        if (empty($aArgs['data'])) {
-            return ['errors' => 'data ' . _EMPTY];
-        }
-        if (empty($aArgs['table'])) {
-            return ['errors' => 'table ' . _EMPTY];
-        }
-        $queryExtFields = '(';
-        $queryExtValues = '(';
-        $queryExtValuesFinal = '(';
-        $parameters = array();
-        $findProcessLimitDate = false;
-        $findProcessNotes = false;
-        $delayProcessNotes = 0;
-
-        $resId = $aArgs['resId'];
-        $table = $aArgs['table'];
-        $data = $aArgs['data'];
-        $countD = count($data);
-        for ($i = 0; $i < $countD; $i++) {
-            if ($data[$i]['column'] == 'process_limit_date') {
-                $findProcessLimitDate = true;
-            }
-            if ($data[$i]['column'] == 'process_notes') {
-                $findProcessNotes = true;
-                $don = explode(',', $data[$i]['value']);
-                $delayProcessNotes = $don['0'];
-                $calendarType = $don['1'];
-            }
-        }
-
-        if ($table == 'mlb_coll_ext') {
-            if ($delayProcessNotes > 0) {
-                $processLimitDate = ResModel::retrieveProcessLimitDate([
-                    'resId' => $resId,
-                    'delayProcessNotes' => $delayProcessNotes,
-                    'calendarType' => $calendarType,
-                ]);
-            } else {
-                $processLimitDate = ResModel::retrieveProcessLimitDate([
-                    'resId' => $resId
-                ]);
-            }
-        }
-
-        if (!$findProcessLimitDate && $processLimitDate <> '') {
-            array_push(
-                $data,
-                array(
-                'column' => 'process_limit_date',
-                'value' => $processLimitDate,
-                'type' => 'date',
-                )
-            );
-        }
-        require_once 'apps/maarch_entreprise/class/class_chrono.php';
-        $chronoX = new \chrono();
-        require_once 'apps/maarch_entreprise/Models/ContactsModel.php';
-        $contacts = new \ContactsModel();
-        for ($i=0; $i<count($data); $i++) {
-            if (strtoupper($data[$i]['type']) == 'INTEGER' ||
-                strtoupper($data[$i]['type']) == 'FLOAT'
-            ) {
-                if ($data[$i]['value'] == '') {
-                    $data[$i]['value'] = '0';
-                }
-                $data[$i]['value'] = str_replace(',', '.', $data[$i]['value']);
-            }
-            if (strtoupper($data[$i]['column']) == strtoupper('category_id')) {
-                $categoryId = $data[$i]['value'];
-            }
-            if (strtoupper($data[$i]['column']) == strtoupper('alt_identifier') &&
-                $data[$i]['value'] == ""
-            ) {
-                if ($table == 'mlb_coll_ext') {
-                    $resDetails = ResModel::getById([
-                        'resId' => $resId,
-                        'table' => 'res_letterbox',
-                        'select' => ['destination, type_id']
-                    ]);
-                    $myVars = array(
-                        'entity_id' => $resDetails[0]['destination'],
-                        'type_id' => $resDetails[0]['type_id'],
-                        'category_id' => $categoryId,
-                        'folder_id' => "",
-                    );
-                    $myChrono = $chronoX->generate_chrono($categoryId, $myVars, 'false');
-                    $data[$i]['value'] = $myChrono;
-                }
-            }
-            if (strtoupper($data[$i]['column']) == strtoupper('exp_contact_id') &&
-                $data[$i]['value'] <> "" &&
-                !is_numeric($data[$i]['value'])
-            ) {
-                $theString = str_replace(">", "", $data[$i]['value']);
-                $mail = explode("<", $theString);
-                $contactDetails =$contacts->getByEmail([
-                    'email' => $mail[count($mail) -1],
-                    'select' => ['contact_id']
-                ]);
-                if ($contactDetails[0]['contact_id'] <> "") {
-                    $data[$i]['value'] = $contactDetails[0]['contact_id'];
-                } else {
-                    $data[$i]['value'] = 0;
-                }
-                $data[$i]['type'] = 'integer';
-            }
-            if (strtoupper($data[$i]['column']) == strtoupper('address_id') &&
-                $data[$i]['value'] <> "" &&
-                !is_numeric($data[$i]['value'])
-            ) {
-                $theString = str_replace(">", "", $data[$i]['value']);
-                $mail = explode("<", $theString);
-                $contactDetails =$contacts->getByEmail([
-                    'email' => $mail[count($mail) -1],
-                    'select' => ['ca_id']
-                ]);
-                if ($contactDetails[0]['ca_id'] <> "") {
-                    $data[$i]['value'] = $contactDetails[0]['ca_id'];
-                } else {
-                    $data[$i]['value'] = 0;
-                }
-                $data[$i]['type'] = 'integer';
-            }
-            //COLUMN
-            $data[$i]['column'] = strtolower($data[$i]['column']);
-            //VALUE
-            $parameters[$data[$i]['column']] = $data[$i]['value'];
-        }
-        $parameters['res_id'] = $resId;
-
-        return $parameters;
-    }
 }
diff --git a/core/Controllers/ResExtController.php b/core/Controllers/ResExtController.php
new file mode 100644
index 0000000000000000000000000000000000000000..b63720bade170512d08a5564a955c9022a72b270
--- /dev/null
+++ b/core/Controllers/ResExtController.php
@@ -0,0 +1,321 @@
+<?php
+
+/**
+* Copyright Maarch since 2008 under licence GPLv3.
+* See LICENCE.txt file at the root folder for more details.
+* This file is part of Maarch software.
+*
+*/
+
+/**
+* @brief Resource Controller
+* @author dev@maarch.org
+* @ingroup core
+*/
+
+namespace Core\Controllers;
+
+use Psr\Http\Message\RequestInterface;
+use Psr\Http\Message\ResponseInterface;
+use Respect\Validation\Validator;
+use Core\Models\ResExtModel;
+
+require_once 'core/class/class_db_pdo.php';
+
+class ResExtController
+{
+    public function create(RequestInterface $request, ResponseInterface $response, $aArgs)
+    {
+        if (!empty($aArgs)) {
+            $aArgs = $aArgs;
+        } else {
+            $aArgs = $request->getQueryParams();
+            $aArgs['data'] = json_decode($aArgs['data']);
+            $aArgs['data'] = $this->object2array($aArgs['data']);
+        }
+
+        $return = $this->storeExtResource($aArgs);
+
+        if ($return['errors']) {
+            return $response
+                ->withStatus(500)
+                ->withJson(
+                    ['errors' => _NOT_CREATE . ' ' . $return['errors']]
+                );
+        }
+        
+        return $response->withJson([$return]);
+    }
+
+    public function delete(RequestInterface $request, ResponseInterface $response, $aArgs)
+    {
+        if (isset($aArgs['id'])) {
+            $obj = $this->deleteExtRes([
+                'id' => $aArgs['id']
+            ]);
+            if (!$obj) {
+                return $response
+                    ->withStatus(500)
+                    ->withJson(['errors' => _NOT_DELETE]);
+            }
+        } else {
+            return $response
+                ->withStatus(500)
+                ->withJson(['errors' => _NOT_DELETE]);
+        }
+        
+        $datas = [
+            $obj,
+        ];
+
+        return $response->withJson($datas);
+    }
+
+    /**
+     * Deletes ext resource on database.
+     * @param  $resId  integer
+     * @param  $table  string
+     * @return res_id
+     */
+    public function deleteExtRes($aArgs)
+    {
+        if (isset($aArgs['id'])) {
+            $obj = ResExtModel::delete([
+                'id' => $aArgs['id']
+            ]);
+        } else {
+            return false;
+        }
+        
+        $datas = $obj;
+
+        return $datas;
+    }
+
+    /**
+     * Store ext resource on database.
+     * @param  $resId  integer
+     * @param  $data array
+     * @param  $table  string
+     * @return res_id
+     */
+    public function storeExtResource($aArgs)
+    {
+        if (empty($aArgs['resId'])) {
+            return ['errors' => 'resId ' . _EMPTY];
+        }
+
+        if (empty($aArgs['data'])) {
+            return ['errors' => 'data ' . _EMPTY];
+        }
+
+        if (empty($aArgs['table'])) {
+            return ['errors' => 'table ' . _EMPTY];
+        }
+
+        if (empty($aArgs['resTable'])) {
+            return ['errors' => 'resTable ' . _EMPTY];
+        }
+
+        $resDetails = ResExtModel::getById([
+            'resId'  => $aArgs['resId'],
+            'table'  => $aArgs['resTable'],
+            'select' => ['res_id']
+        ]);
+        
+        if (empty($resDetails[0]['res_id'])) {
+            return ['errors' => 'res_id ' . _OF . ' ' . $aArgs['resTable'] . ' ' . _NOT_EXISTS];
+        }
+
+        $resDetails = ResExtModel::getById([
+            'resId' => $aArgs['resId'],
+            'table' => $aArgs['table'],
+            'select' => ['res_id']
+        ]);
+        
+        if ($resDetails[0]['res_id'] > 0) {
+            return ['errors' => 'res_id ' . _OF . ' '  . $aArgs['table'] . ' ' . _EXISTS];
+        }
+        
+        $prepareData = $this->prepareStorageExt($aArgs);
+        
+        $resExtInsert = ResExtModel::create([
+            'table' => 'mlb_coll_ext',
+            'data'  => $prepareData
+        ]);
+
+        return true;
+    }
+
+    /**
+    * Convert an object to an array
+    * @param  $object object to convert
+    */
+    private function object2array($object)
+    {
+        $return = null;
+        if (is_array($object)) {
+            foreach ($object as $key => $value) {
+                $return[$key] = $this->object2array($value);
+            }
+        } else {
+            if (is_object($object)) {
+                $var = get_object_vars($object);
+                if ($var) {
+                    foreach ($var as $key => $value) {
+                        $return[$key] = ($key && !$value) ? null : $this->object2array($value);
+                    }
+                } else {
+                    return $object;
+                }
+            } else {
+                return $object;
+            }
+        }
+        return $return;
+    }
+
+    /**
+     * Prepares storage on database for resExt.
+     * @param  $data array
+     * @return array $data
+     */
+    public function prepareStorageExt($aArgs)
+    {
+        if (empty($aArgs['resId'])) {
+            return ['errors' => 'resId ' . _EMPTY];
+        }
+        if (empty($aArgs['data'])) {
+            return ['errors' => 'data ' . _EMPTY];
+        }
+        if (empty($aArgs['table'])) {
+            return ['errors' => 'table ' . _EMPTY];
+        }
+        $queryExtFields = '(';
+        $queryExtValues = '(';
+        $queryExtValuesFinal = '(';
+        $parameters = array();
+        $findProcessLimitDate = false;
+        $findProcessNotes = false;
+        $delayProcessNotes = 0;
+
+        $resId = $aArgs['resId'];
+        $table = $aArgs['table'];
+        $data = $aArgs['data'];
+        $countD = count($data);
+        for ($i = 0; $i < $countD; $i++) {
+            if ($data[$i]['column'] == 'process_limit_date') {
+                $findProcessLimitDate = true;
+            }
+            if ($data[$i]['column'] == 'process_notes') {
+                $findProcessNotes = true;
+                $don = explode(',', $data[$i]['value']);
+                $delayProcessNotes = $don['0'];
+                $calendarType = $don['1'];
+            }
+        }
+        
+        if ($table == 'mlb_coll_ext') {
+            $ResExtModel = new ResExtModel();
+            if ($delayProcessNotes > 0) {
+                $processLimitDate = $ResExtModel->retrieveProcessLimitDate([
+                    'resId' => $resId,
+                    'delayProcessNotes' => $delayProcessNotes,
+                    'calendarType' => $calendarType,
+                ]);
+            } else {
+                $processLimitDate = $ResExtModel->retrieveProcessLimitDate([
+                    'resId' => $resId
+                ]);
+            }
+        }
+
+        if (!$findProcessLimitDate && $processLimitDate <> '') {
+            array_push(
+                $data,
+                array(
+                'column' => 'process_limit_date',
+                'value' => $processLimitDate,
+                'type' => 'date',
+                )
+            );
+        }
+        require_once 'apps/maarch_entreprise/class/class_chrono.php';
+        $chronoX = new \chrono();
+        require_once 'apps/maarch_entreprise/Models/ContactsModel.php';
+        $contacts = new \ContactsModel();
+        for ($i=0; $i<count($data); $i++) {
+            if (strtoupper($data[$i]['type']) == 'INTEGER' ||
+                strtoupper($data[$i]['type']) == 'FLOAT'
+            ) {
+                if ($data[$i]['value'] == '') {
+                    $data[$i]['value'] = '0';
+                }
+                $data[$i]['value'] = str_replace(',', '.', $data[$i]['value']);
+            }
+            if (strtoupper($data[$i]['column']) == strtoupper('category_id')) {
+                $categoryId = $data[$i]['value'];
+            }
+            if (strtoupper($data[$i]['column']) == strtoupper('alt_identifier') &&
+                $data[$i]['value'] == ""
+            ) {
+                if ($table == 'mlb_coll_ext') {
+                    $resDetails = ResExtModel::getById([
+                        'resId' => $resId,
+                        'table' => 'res_letterbox',
+                        'select' => ['destination, type_id']
+                    ]);
+                    $myVars = array(
+                        'entity_id' => $resDetails[0]['destination'],
+                        'type_id' => $resDetails[0]['type_id'],
+                        'category_id' => $categoryId,
+                        'folder_id' => "",
+                    );
+                    $myChrono = $chronoX->generate_chrono($categoryId, $myVars, 'false');
+                    $data[$i]['value'] = $myChrono;
+                }
+            }
+            if (strtoupper($data[$i]['column']) == strtoupper('exp_contact_id') &&
+                $data[$i]['value'] <> "" &&
+                !is_numeric($data[$i]['value'])
+            ) {
+                $theString = str_replace(">", "", $data[$i]['value']);
+                $mail = explode("<", $theString);
+                $contactDetails =$contacts->getByEmail([
+                    'email' => $mail[count($mail) -1],
+                    'select' => ['contact_id']
+                ]);
+                if ($contactDetails[0]['contact_id'] <> "") {
+                    $data[$i]['value'] = $contactDetails[0]['contact_id'];
+                } else {
+                    $data[$i]['value'] = 0;
+                }
+                $data[$i]['type'] = 'integer';
+            }
+            if (strtoupper($data[$i]['column']) == strtoupper('address_id') &&
+                $data[$i]['value'] <> "" &&
+                !is_numeric($data[$i]['value'])
+            ) {
+                $theString = str_replace(">", "", $data[$i]['value']);
+                $mail = explode("<", $theString);
+                $contactDetails =$contacts->getByEmail([
+                    'email' => $mail[count($mail) -1],
+                    'select' => ['ca_id']
+                ]);
+                if ($contactDetails[0]['ca_id'] <> "") {
+                    $data[$i]['value'] = $contactDetails[0]['ca_id'];
+                } else {
+                    $data[$i]['value'] = 0;
+                }
+                $data[$i]['type'] = 'integer';
+            }
+            //COLUMN
+            $data[$i]['column'] = strtolower($data[$i]['column']);
+            //VALUE
+            $parameters[$data[$i]['column']] = $data[$i]['value'];
+        }
+        $parameters['res_id'] = $resId;
+
+        return $parameters;
+    }
+}
diff --git a/core/Models/ResExtModel.php b/core/Models/ResExtModel.php
new file mode 100644
index 0000000000000000000000000000000000000000..3ba2c8f7e0f80c624e3b754bd0e52d184bf87cbf
--- /dev/null
+++ b/core/Models/ResExtModel.php
@@ -0,0 +1,21 @@
+<?php
+
+/**
+* Copyright Maarch since 2008 under licence GPLv3.
+* See LICENCE.txt file at the root folder for more details.
+* This file is part of Maarch software.
+*
+*/
+
+/**
+* @brief ResExt Model
+* @author dev@maarch.org
+* @ingroup core
+*/
+
+namespace Core\Models;
+
+class ResExtModel extends ResExtModelAbstract
+{
+    // Do your stuff in this class
+}
diff --git a/core/Models/ResExtModelAbstract.php b/core/Models/ResExtModelAbstract.php
new file mode 100644
index 0000000000000000000000000000000000000000..d673194e041979b4d99cb612356e3fd5039cc4d2
--- /dev/null
+++ b/core/Models/ResExtModelAbstract.php
@@ -0,0 +1,197 @@
+<?php
+
+/**
+* Copyright Maarch since 2008 under licence GPLv3.
+* See LICENCE.txt file at the root folder for more details.
+* This file is part of Maarch software.
+*
+*/
+
+/**
+* @brief Res Model
+* @author dev@maarch.org
+* @ingroup core
+*/
+
+namespace Core\Models;
+
+require_once 'apps/maarch_entreprise/services/Table.php';
+
+class ResExtModelAbstract extends \Apps_Table_Service
+{
+    /**
+     * Retrieve info of resId
+     * @param  $resId integer
+     * @param  $table string
+     * @param  $select string
+     * @return array $res
+     */
+    public static function getById(array $aArgs = [])
+    {
+        static::checkRequired($aArgs, ['resId']);
+        static::checkNumeric($aArgs, ['resId']);
+
+        if (!empty($aArgs['table'])) {
+            $table = $aArgs['table'];
+        } else {
+            $table = 'mlb_coll_ext';
+        }
+
+        $aReturn = static::select([
+            'select'    => empty($aArgs['select']) ? ['*'] : $aArgs['select'],
+            'table'     => [$table],
+            'where'     => ['res_id = ?'],
+            'data'      => [$aArgs['resId']]
+        ]);
+
+        return $aReturn;
+    }
+
+    /**
+     * Retrieve info of last resId
+     * @param  $table string
+     * @param  $select string
+     * @return array $res
+     */
+    public static function getLastId(array $aArgs = [])
+    {
+        if (!empty($aArgs['table'])) {
+            $table = $aArgs['table'];
+        } else {
+            $table = 'mlb_coll_ext';
+        }
+
+        $aReturn = static::select([
+            'select'    => empty($aArgs['select']) ? ['*'] : $aArgs['select'],
+            'table'     => [$table],
+            'data'      => [$aArgs['resId']],
+            'order_by'  => ['res_id desc'],
+            'limit'     => 1,
+        ]);
+
+        return $aReturn;
+    }
+
+    /**
+     * Retrieve process_limit_date for resource in extension table if mlb
+     * @param  $resId integer
+     * @param  $defaultDelay integer
+     * @param  $calendarType sring => calendar or workingDay
+     * @return integer $processLimitDate
+     */
+    public function retrieveProcessLimitDate($aArgs)
+    {
+        static::checkRequired($aArgs, ['resId']);
+        static::checkNumeric($aArgs, ['resId']);
+        if (!empty($aArgs['table'])) {
+            $table = $aArgs['table'];
+        } else {
+            $table = 'res_view_letterbox';
+        }
+        $processLimitDate = '';
+        $aArgs['select'] = ['creation_date, admission_date, type_id'];
+        $aReturn = static::select([
+            'select'    => empty($aArgs['select']) ? ['*'] : $aArgs['select'],
+            'table'     => [$table],
+            'where'     => ['res_id = ?'],
+            'data'      => [$aArgs['resId']]
+        ]);
+        require_once('core/class/class_functions.php');
+        $func = new \functions();
+
+        if ($aReturn[0]['type_id'] <> '') {
+            $typeId = $aReturn[0]['type_id'];
+            $admissionDate = $aReturn[0]['admission_date'];
+            $creationDate = $aReturn[0]['creation_date'];
+            $aArgs['select'] = ['process_delay'];
+            $aReturnT = static::select([
+                'select'    => empty($aArgs['select']) ? ['*'] : $aArgs['select'],
+                'table'     => ['mlb_doctype_ext'],
+                'where'     => ['type_id = ?'],
+                'data'      => [$aReturn[0]['type_id']]
+            ]);
+            $delay = $aReturnT[0]['process_delay'];
+        }
+
+        if ($admissionDate == '') {
+            $dateToCompute = $creationDate;
+        } else {
+            $dateToCompute = $admissionDate;
+        }
+        if ($aArgs['defaultDelay'] > 0) {
+            $delay = $aArgs['defaultDelay'];
+        } elseif ($delay == 0) {
+            $delay = 5;
+        }
+        require_once('core/class/class_alert_engine.php');
+        $alert_engine = new \alert_engine();
+        if (isset($dateToCompute) && !empty($dateToCompute)) {
+            $convertedDate = $alert_engine->dateFR2Time(
+                str_replace(
+                    "-",
+                    "/",
+                    $func->format_date_db(
+                        $dateToCompute,
+                        'true',
+                        '',
+                        'true'
+                    )
+                ),
+                true
+            );
+            $date = $alert_engine->WhenOpenDay(
+                $convertedDate,
+                $delay,
+                false,
+                $aArgs['calendarType']
+            );
+        } else {
+            $date = $alert_engine->date_max_treatment($delay, false);
+        }
+        
+        $processLimitDate = $func->dateformat($date, '-');
+
+        return $processLimitDate;
+    }
+
+    /**
+     * insert into a resTable
+     * @param  $resId integer
+     * @param  $table string
+     * @return boolean $status
+     */
+    public static function create(array $aArgs = [])
+    {
+        if (empty($aArgs['table'])) {
+            $aArgs['table'] = 'mlb_coll_ext';
+        }
+
+        $aReturn = static::insertInto($aArgs['data'], $aArgs['table']);
+
+        return $aReturn;
+    }
+
+    /**
+     * deletes into a resTable
+     * @param  $resId integer
+     * @param  $table string
+     * @return boolean $status
+     */
+    public static function delete(array $aArgs = [])
+    {
+        static::checkRequired($aArgs, ['id']);
+        static::checkNumeric($aArgs, ['id']);
+
+        if (empty($aArgs['table'])) {
+            $aArgs['table'] = 'mlb_coll_ext';
+        }
+
+        $aReturn = static::deleteFrom([
+                'table' => $aArgs['table'],
+                'where' => ['res_id = ?'],
+                'data'  => [$aArgs['id']]
+            ]);
+
+        return $aReturn;
+    }
+}
diff --git a/core/Models/ResModelAbstract.php b/core/Models/ResModelAbstract.php
index 27c910f210370426dd42c7a455590e2bd263f7d4..10ce464d8ea10ec63169b189e5146619203577c6 100644
--- a/core/Models/ResModelAbstract.php
+++ b/core/Models/ResModelAbstract.php
@@ -41,92 +41,68 @@ class ResModelAbstract extends \Apps_Table_Service
             'select'    => empty($aArgs['select']) ? ['*'] : $aArgs['select'],
             'table'     => [$table],
             'where'     => ['res_id = ?'],
-            'data'      => [$aArgs['resId']]
+            'data'      => [$aArgs['resId']],
+            'order_by'  => [$aArgs['orderBy']]
         ]);
 
         return $aReturn;
     }
 
     /**
-     * Retrieve process_limit_date for resource in extension table if mlb
-     * @param  $resId integer
-     * @param  $defaultDelay integer
-     * @param  $calendarType sring => calendar or workingDay
-     * @return integer $processLimitDate
+     * Retrieve info of last resId
+     * @param  $table string
+     * @param  $select string
+     * @return array $res
      */
-    public function retrieveProcessLimitDate($aArgs)
+    public static function getLastId(array $aArgs = [])
     {
-        static::checkRequired($aArgs, ['resId']);
-        static::checkNumeric($aArgs, ['resId']);
         if (!empty($aArgs['table'])) {
             $table = $aArgs['table'];
         } else {
-            $table = 'res_view_letterbox';
+            $table = 'res_letterbox';
         }
-        $processLimitDate = '';
-        $aArgs['select'] = ['creation_date, admission_date, type_id'];
+
         $aReturn = static::select([
             'select'    => empty($aArgs['select']) ? ['*'] : $aArgs['select'],
             'table'     => [$table],
-            'where'     => ['res_id = ?'],
-            'data'      => [$aArgs['resId']]
+            'data'      => [$aArgs['resId']],
+            'order_by'  => ['res_id desc'],
+            'limit'     => 1,
         ]);
-        require_once('core/class/class_functions.php');
-        $func = new \functions();
-
-        if ($aReturn[0]['type_id'] <> '') {
-            $typeId = $aReturn[0]['type_id'];
-            $admissionDate = $aReturn[0]['admission_date'];
-            $creationDate = $aReturn[0]['creation_date'];
-            $aArgs['select'] = ['process_delay'];
-            $aReturnT = static::select([
-                'select'    => empty($aArgs['select']) ? ['*'] : $aArgs['select'],
-                'table'     => ['mlb_doctype_ext'],
-                'where'     => ['type_id = ?'],
-                'data'      => [$aReturn[0]['type_id']]
-            ]);
-            $delay = $aReturnT[0]['process_delay'];
-        }
 
-        if ($admissionDate == '') {
-            $dateToCompute = $creationDate;
-        } else {
-            $dateToCompute = $admissionDate;
-        }
-        if ($aArgs['defaultDelay'] > 0) {
-            $delay = $aArgs['defaultDelay'];
-        } elseif ($delay == 0) {
-            $delay = 5;
-        }
-        require_once('core/class/class_alert_engine.php');
-        $alert_engine = new \alert_engine();
-        if (isset($dateToCompute) && !empty($dateToCompute)) {
-            $convertedDate = $alert_engine->dateFR2Time(
-                str_replace(
-                    "-",
-                    "/",
-                    $func->format_date_db(
-                        $dateToCompute,
-                        'true',
-                        '',
-                        'true'
-                    )
-                ),
-                true
-            );
-            $date = $alert_engine->WhenOpenDay(
-                $convertedDate,
-                $delay,
-                false,
-                $aArgs['calendarType']
-            );
+        return $aReturn;
+    }
+
+    /**
+     * Retrieve info of resId by path
+     * @param  $docserverId string
+     * @param  $path string
+     * @param  $filename string
+     * @param  $table string
+     * @param  $select string
+     * @return array $res
+     */
+    public static function getByPath(array $aArgs = [])
+    {
+        static::checkRequired($aArgs, ['docserverId']);
+        static::checkRequired($aArgs, ['path']);
+        static::checkRequired($aArgs, ['filename']);
+
+        if (!empty($aArgs['table'])) {
+            $table = $aArgs['table'];
         } else {
-            $date = $alert_engine->date_max_treatment($delay, false);
+            $table = 'res_letterbox';
         }
-        
-        $processLimitDate = $func->dateformat($date, '-');
 
-        return $processLimitDate;
+        $aReturn = static::select([
+            'select'    => empty($aArgs['select']) ? ['*'] : $aArgs['select'],
+            'table'     => [$table],
+            'where'     => ['docserver_id = ? and path = ? and filename = ?'],
+            'data'      => [$aArgs['docserverId'], $aArgs['path'], $aArgs['filename']],
+            'order_by'  => ['res_id desc'],
+        ]);
+
+        return $aReturn;
     }
 
     /**
@@ -139,16 +115,34 @@ class ResModelAbstract extends \Apps_Table_Service
     {
         if (empty($aArgs['table'])) {
             $aArgs['table'] = 'res_letterbox';
-        } else {
-            if ($aArgs['table'] <> 'res_letterbox' &&
-                $aArgs['table'] <> 'mlb_coll_ext'
-            ) {
-                $aArgs['table'] = 'res_letterbox';
-            }
         }
 
         $aReturn = static::insertInto($aArgs['data'], $aArgs['table']);
 
         return $aReturn;
     }
+
+    /**
+     * deletes into a resTable
+     * @param  $resId integer
+     * @param  $table string
+     * @return boolean $status
+     */
+    public static function delete(array $aArgs = [])
+    {
+        static::checkRequired($aArgs, ['id']);
+        static::checkNumeric($aArgs, ['id']);
+
+        if (empty($aArgs['table'])) {
+            $aArgs['table'] = 'res_letterbox';
+        }
+
+        $aReturn = static::deleteFrom([
+                'table' => $aArgs['table'],
+                'where' => ['res_id = ?'],
+                'data'  => [$aArgs['id']]
+            ]);
+
+        return $aReturn;
+    }
 }
diff --git a/core/Test/ResControllerTest.php b/core/Test/ResControllerTest.php
index ccec883019fbce43654a2aff8964eba5905e99ac..ac7df0ddd4f7ea4c675b046d000cc9a212af08b7 100644
--- a/core/Test/ResControllerTest.php
+++ b/core/Test/ResControllerTest.php
@@ -121,6 +121,29 @@ class ResControllerTest extends \PHPUnit_Framework_TestCase
         $this->assertGreaterThanOrEqual(0, $response[0]);
     }
 
+    public function testDelete()
+    {
+        $action = new \Core\Controllers\ResController();
+
+        $environment = \Slim\Http\Environment::mock(
+            [
+                'REQUEST_METHOD' => 'DELETE',
+            ]
+        );
+
+        $resId = \Core\Models\ResModel::getLastId(['select' => 'res_id']);
+
+        $aArgs = [
+            'id'=> $resId[0]['res_id']
+        ];
+
+        $request = \Slim\Http\Request::createFromEnvironment($environment);
+        $response = new \Slim\Http\Response();
+        $response = $action->delete($request, $response, $aArgs);
+        
+        $this->assertSame((string)$response->getBody(), '[true]');
+    }
+
     public function testCreate()
     {
         $action = new \Core\Controllers\ResController();
@@ -206,183 +229,18 @@ class ResControllerTest extends \PHPUnit_Framework_TestCase
         $this->assertGreaterThan(1, json_decode($response->getBody())[0]);
     }
 
-    public function testPrepareStorageExt()
+    public function testDeleteRes()
     {
         $action = new \Core\Controllers\ResController();
 
-        $data = [];
-
-        array_push(
-            $data,
-            array(
-                'column' => 'process_limit_date',
-                'value' => '29/03/2017',
-                'type' => 'date',
-            )
-        );
-
-        array_push(
-            $data,
-            array(
-                'column' => 'process_notes',
-                'value' => '50,workingDay',
-                'type' => 'string',
-            )
-        );
-
-        array_push(
-            $data,
-            array(
-                'column' => 'category_id',
-                'value' => 'incoming',
-                'type' => 'string',
-            )
-        );
-
-        array_push(
-            $data,
-            array(
-                'column' => 'alt_identifier',
-                'value' => '',
-                'type' => 'string',
-            )
-        );
-
-        array_push(
-            $data,
-            array(
-                'column' => 'exp_contact_id',
-                'value' => 'jeanlouis.ercolani@maarch.org',
-                'type' => 'string',
-            )
-        );
-
-        array_push(
-            $data,
-            array(
-                'column' => 'address_id',
-                'value' => 'jeanlouis.ercolani@maarch.org',
-                'type' => 'string',
-            )
-        );
-
-        array_push(
-            $data,
-            array(
-                'column' => 'nature_id',
-                'value' => 'simple_mail',
-                'type' => 'string',
-            )
-        );
-
-        array_push(
-            $data,
-            array(
-                'column' => 'admission_date',
-                'value' => date('d/m/Y'),
-                'type' => 'date',
-            )
-        );
+        $resId = \Core\Models\ResModel::getLastId(['select' => 'res_id']);
 
         $aArgs = [
-            'resId' => 100,
-            'data'  => $data,
-            'table' => 'mlb_coll_ext',
+            'id'=> $resId[0]['res_id']
         ];
 
-        $response = $action->prepareStorageExt($aArgs);
-
-        $this->assertArrayHasKey('res_id', $response);
-    }
-
-    public function testStoreExtResource()
-    {
-        $action = new \Core\Controllers\ResController();
-        
-        $data = [];
-
-        array_push(
-            $data,
-            array(
-                'column' => 'process_limit_date',
-                'value' => '29/03/2017',
-                'type' => 'date',
-            )
-        );
-
-        array_push(
-            $data,
-            array(
-                'column' => 'process_notes',
-                'value' => '50,workingDay',
-                'type' => 'string',
-            )
-        );
-
-        array_push(
-            $data,
-            array(
-                'column' => 'category_id',
-                'value' => 'incoming',
-                'type' => 'string',
-            )
-        );
-
-        array_push(
-            $data,
-            array(
-                'column' => 'alt_identifier',
-                'value' => '',
-                'type' => 'string',
-            )
-        );
-
-        array_push(
-            $data,
-            array(
-                'column' => 'exp_contact_id',
-                'value' => 'jeanlouis.ercolani@maarch.org',
-                'type' => 'string',
-            )
-        );
-
-        array_push(
-            $data,
-            array(
-                'column' => 'address_id',
-                'value' => 'jeanlouis.ercolani@maarch.org',
-                'type' => 'string',
-            )
-        );
-
-        array_push(
-            $data,
-            array(
-                'column' => 'nature_id',
-                'value' => 'simple_mail',
-                'type' => 'string',
-            )
-        );
+        $response = $action->deleteRes($aArgs);
 
-        array_push(
-            $data,
-            array(
-                'column' => 'admission_date',
-                'value' => date('d/m/Y'),
-                'type' => 'date',
-            )
-        );
-
-        $aArgs = [
-            'resId'    => 100,
-            'data'     => $data,
-            'table'    => 'mlb_coll_ext',
-            'resTable' => 'res_letterbox',
-        ];
-
-        //TODO
-        $response = $action->storeExtResource($aArgs);
-        
         $this->assertTrue($response);
     }
 }
diff --git a/core/Test/ResExtControllerTest.php b/core/Test/ResExtControllerTest.php
new file mode 100644
index 0000000000000000000000000000000000000000..762772b01d3a0d82ce2d5f7568137e0fc43e3cdf
--- /dev/null
+++ b/core/Test/ResExtControllerTest.php
@@ -0,0 +1,420 @@
+<?php
+
+namespace MaarchTest;
+
+/**
+* Copyright Maarch since 2008 under licence GPLv3.
+* See LICENCE.txt file at the root folder for more details.
+* This file is part of Maarch software.
+*
+*/
+
+require_once __DIR__.'/define.php';
+
+class ResExtControllerTest extends \PHPUnit_Framework_TestCase
+{
+    public function testCreate()
+    {
+        $resId = $this->createResArtefact();
+
+        $action = new \Core\Controllers\ResExtController();
+
+        $environment = \Slim\Http\Environment::mock(
+            [
+                'REQUEST_METHOD' => 'POST',
+            ]
+        );
+        
+        $data = [];
+
+        array_push(
+            $data,
+            array(
+                'column' => 'process_limit_date',
+                'value' => '29/03/2017',
+                'type' => 'date',
+            )
+        );
+
+        array_push(
+            $data,
+            array(
+                'column' => 'process_notes',
+                'value' => '50,workingDay',
+                'type' => 'string',
+            )
+        );
+
+        array_push(
+            $data,
+            array(
+                'column' => 'category_id',
+                'value' => 'incoming',
+                'type' => 'string',
+            )
+        );
+
+        array_push(
+            $data,
+            array(
+                'column' => 'alt_identifier',
+                'value' => '',
+                'type' => 'string',
+            )
+        );
+
+        array_push(
+            $data,
+            array(
+                'column' => 'exp_contact_id',
+                'value' => 'jeanlouis.ercolani@maarch.org',
+                'type' => 'string',
+            )
+        );
+
+        array_push(
+            $data,
+            array(
+                'column' => 'address_id',
+                'value' => 'jeanlouis.ercolani@maarch.org',
+                'type' => 'string',
+            )
+        );
+
+        array_push(
+            $data,
+            array(
+                'column' => 'nature_id',
+                'value' => 'simple_mail',
+                'type' => 'string',
+            )
+        );
+
+        array_push(
+            $data,
+            array(
+                'column' => 'admission_date',
+                'value' => date('d/m/Y'),
+                'type' => 'date',
+            )
+        );
+
+        $aArgs = [
+            'resId'    => $resId,
+            'data'     => $data,
+            'table'    => 'mlb_coll_ext',
+            'resTable' => 'res_letterbox',
+        ];
+
+        $request = \Slim\Http\Request::createFromEnvironment($environment);
+        $response = new \Slim\Http\Response();
+        $response = $action->create($request, $response, $aArgs);
+        
+        $this->assertTrue(json_decode($response->getBody())[0]);
+
+        $this->deleteResArtefact($resId);
+    }
+
+    public function testDelete()
+    {
+        $action = new \Core\Controllers\ResExtController();
+
+        $environment = \Slim\Http\Environment::mock(
+            [
+                'REQUEST_METHOD' => 'DELETE',
+            ]
+        );
+
+        $resId = \Core\Models\ResExtModel::getLastId(['select' => 'res_id']);
+
+        $aArgs = [
+            'id'=> $resId[0]['res_id']
+        ];
+
+        $request = \Slim\Http\Request::createFromEnvironment($environment);
+        $response = new \Slim\Http\Response();
+        $response = $action->delete($request, $response, $aArgs);
+        
+        $this->assertSame((string)$response->getBody(), '[true]');
+    }
+
+    public function testPrepareStorageExt()
+    {
+        $action = new \Core\Controllers\ResExtController();
+
+        $data = [];
+
+        array_push(
+            $data,
+            array(
+                'column' => 'process_limit_date',
+                'value' => '29/03/2017',
+                'type' => 'date',
+            )
+        );
+
+        array_push(
+            $data,
+            array(
+                'column' => 'process_notes',
+                'value' => '50,workingDay',
+                'type' => 'string',
+            )
+        );
+
+        array_push(
+            $data,
+            array(
+                'column' => 'category_id',
+                'value' => 'incoming',
+                'type' => 'string',
+            )
+        );
+
+        array_push(
+            $data,
+            array(
+                'column' => 'alt_identifier',
+                'value' => '',
+                'type' => 'string',
+            )
+        );
+
+        array_push(
+            $data,
+            array(
+                'column' => 'exp_contact_id',
+                'value' => 'jeanlouis.ercolani@maarch.org',
+                'type' => 'string',
+            )
+        );
+
+        array_push(
+            $data,
+            array(
+                'column' => 'address_id',
+                'value' => 'jeanlouis.ercolani@maarch.org',
+                'type' => 'string',
+            )
+        );
+
+        array_push(
+            $data,
+            array(
+                'column' => 'nature_id',
+                'value' => 'simple_mail',
+                'type' => 'string',
+            )
+        );
+
+        array_push(
+            $data,
+            array(
+                'column' => 'admission_date',
+                'value' => date('d/m/Y'),
+                'type' => 'date',
+            )
+        );
+
+        $aArgs = [
+            'resId' => 100,
+            'data'  => $data,
+            'table' => 'mlb_coll_ext',
+        ];
+
+        $response = $action->prepareStorageExt($aArgs);
+
+        $this->assertArrayHasKey('res_id', $response);
+    }
+
+    public function testStoreExtResource()
+    {
+        $resId = $this->createResArtefact();
+
+        $action = new \Core\Controllers\ResExtController();
+        
+        $data = [];
+
+        array_push(
+            $data,
+            array(
+                'column' => 'process_limit_date',
+                'value' => '29/03/2017',
+                'type' => 'date',
+            )
+        );
+
+        array_push(
+            $data,
+            array(
+                'column' => 'process_notes',
+                'value' => '50,workingDay',
+                'type' => 'string',
+            )
+        );
+
+        array_push(
+            $data,
+            array(
+                'column' => 'category_id',
+                'value' => 'incoming',
+                'type' => 'string',
+            )
+        );
+
+        array_push(
+            $data,
+            array(
+                'column' => 'alt_identifier',
+                'value' => '',
+                'type' => 'string',
+            )
+        );
+
+        array_push(
+            $data,
+            array(
+                'column' => 'exp_contact_id',
+                'value' => 'jeanlouis.ercolani@maarch.org',
+                'type' => 'string',
+            )
+        );
+
+        array_push(
+            $data,
+            array(
+                'column' => 'address_id',
+                'value' => 'jeanlouis.ercolani@maarch.org',
+                'type' => 'string',
+            )
+        );
+
+        array_push(
+            $data,
+            array(
+                'column' => 'nature_id',
+                'value' => 'simple_mail',
+                'type' => 'string',
+            )
+        );
+
+        array_push(
+            $data,
+            array(
+                'column' => 'admission_date',
+                'value' => date('d/m/Y'),
+                'type' => 'date',
+            )
+        );
+
+        $aArgs = [
+            'resId'    => $resId,
+            'data'     => $data,
+            'table'    => 'mlb_coll_ext',
+            'resTable' => 'res_letterbox',
+        ];
+
+        $response = $action->storeExtResource($aArgs);
+        
+        $this->assertTrue($response);
+
+        $this->deleteResArtefact($resId);
+    }
+
+    public function testDeleteExtRes()
+    {
+        $action = new \Core\Controllers\ResExtController();
+
+        $resId = \Core\Models\ResExtModel::getLastId(['select' => 'res_id']);
+
+        $aArgs = [
+            'id'=> $resId[0]['res_id']
+        ];
+
+        $response = $action->deleteExtRes($aArgs);
+
+        $this->assertTrue($response);
+    }
+
+    public function createResArtefact()
+    {
+        $action = new \Core\Controllers\ResController();
+
+        $path = $_SESSION['config']['tmppath'] . '/test/';
+
+        if (!is_dir($path)) {
+            mkdir($path);
+        }
+
+        $fileSource = 'test_source.txt';
+
+        $fp = fopen($path . $fileSource, 'a');
+        fwrite($fp, 'a unit test');
+        fclose($fp);
+
+        $fileContent = file_get_contents($path . $fileSource, FILE_BINARY);
+        $encodedFile = base64_encode($fileContent);
+        
+        $data = [];
+
+        array_push(
+            $data,
+            array(
+                'column' => 'subject',
+                'value' => 'UNIT TEST',
+                'type' => 'string',
+            )
+        );
+
+        array_push(
+            $data,
+            array(
+                'column' => 'type_id',
+                'value' => 110,
+                'type' => 'integer',
+            )
+        );
+
+        array_push(
+            $data,
+            array(
+                'column' => 'custom_t1',
+                'value' => 'TEST',
+                'type' => 'string',
+            )
+        );
+
+        array_push(
+            $data,
+            array(
+                'column' => 'custom_t10',
+                'value' => 'lgi@maarch.org',
+                'type' => 'string',
+            )
+        );
+
+        $aArgs = [
+            'encodedFile'   => $encodedFile,
+            'data'          => $data,
+            'collId'        => 'letterbox_coll',
+            'table'         => 'res_letterbox',
+            'fileFormat'    => 'txt',
+            'status'        => 'new',
+        ];
+
+        $response = $action->storeResource($aArgs);
+
+        return $response[0];
+    }
+
+    public function deleteResArtefact($resId)
+    {
+        $action = new \Core\Controllers\ResController();
+
+        $aArgs = [
+            'id' => $resId
+        ];
+
+        $response = $action->deleteRes($aArgs);
+    }
+}
diff --git a/core/Test/build/Controllers/DocserverController.php.html b/core/Test/build/Controllers/DocserverController.php.html
new file mode 100644
index 0000000000000000000000000000000000000000..b5dbdd0a2813c7aa00e92b704064f0d42c8c2f81
--- /dev/null
+++ b/core/Test/build/Controllers/DocserverController.php.html
@@ -0,0 +1,1031 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+  <meta charset="UTF-8">
+  <title>Code Coverage for /var/www/html/MaarchCourrier/core/Controllers/DocserverController.php</title>
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <link href="../css/bootstrap.min.css" rel="stylesheet">
+  <link href="../css/style.css" rel="stylesheet">
+  <!--[if lt IE 9]>
+  <script src="../js/html5shiv.min.js"></script>
+  <script src="../js/respond.min.js"></script>
+  <![endif]-->
+ </head>
+ <body>
+  <header>
+   <div class="container">
+    <div class="row">
+     <div class="col-md-12">
+      <ol class="breadcrumb">
+        <li><a href="../index.html">/var/www/html/MaarchCourrier/core</a></li>
+        <li><a href="index.html">Controllers</a></li>
+        <li class="active">DocserverController.php</li>
+
+      </ol>
+     </div>
+    </div>
+   </div>
+  </header>
+  <div class="container">
+   <table class="table table-bordered">
+    <thead>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td>
+     </tr>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td>
+      <td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td>
+      <td colspan="3"><div align="center"><strong>Lines</strong></div></td>
+     </tr>
+    </thead>
+    <tbody>
+     <tr>
+      <td class="danger">Total</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;11</div></td>
+      <td class="danger small"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></td>
+      <td class="warning big">       <div class="progress">
+         <div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="41.72" aria-valuemin="0" aria-valuemax="100" style="width: 41.72%">
+           <span class="sr-only">41.72% covered (warning)</span>
+         </div>
+       </div>
+</td>
+      <td class="warning small"><div align="right">41.72%</div></td>
+      <td class="warning small"><div align="right">121&nbsp;/&nbsp;290</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger">DocserverController</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;11</div></td>
+      <td class="danger small">1188.24</td>
+      <td class="warning big">       <div class="progress">
+         <div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="41.72" aria-valuemin="0" aria-valuemax="100" style="width: 41.72%">
+           <span class="sr-only">41.72% covered (warning)</span>
+         </div>
+       </div>
+</td>
+      <td class="warning small"><div align="right">41.72%</div></td>
+      <td class="warning small"><div align="right">121&nbsp;/&nbsp;290</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#25"><abbr title="getList(RequestInterface $request, ResponseInterface $response)">getList</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">2</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;3</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#36"><abbr title="getById(RequestInterface $request, ResponseInterface $response, $aArgs)">getById</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">6</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;8</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#56"><abbr title="create(RequestInterface $request, ResponseInterface $response, $aArgs)">create</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">12</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;15</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#90"><abbr title="update(RequestInterface $request, ResponseInterface $response, $aArgs)">update</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">12</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;15</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#124"><abbr title="delete(RequestInterface $request, ResponseInterface $response, $aArgs)">delete</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">6</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;8</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#144"><abbr title="control($request, $mode)">control</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">650</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;61</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#250"><abbr title="getDocserverToInsert($aArgs)">getDocserverToInsert</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">2.01</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="85.71" aria-valuemin="0" aria-valuemax="100" style="width: 85.71%">
+           <span class="sr-only">85.71% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">85.71%</div></td>
+      <td class="success small"><div align="right">6&nbsp;/&nbsp;7</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#274"><abbr title="checkSize($aArgs)">checkSize</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">6.81</td>
+      <td class="warning big">       <div class="progress">
+         <div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="58.33" aria-valuemin="0" aria-valuemax="100" style="width: 58.33%">
+           <span class="sr-only">58.33% covered (warning)</span>
+         </div>
+       </div>
+</td>
+      <td class="warning small"><div align="right">58.33%</div></td>
+      <td class="warning small"><div align="right">7&nbsp;/&nbsp;12</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#314"><abbr title="setSize($aArgs)">setSize</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">3.21</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="71.43" aria-valuemin="0" aria-valuemax="100" style="width: 71.43%">
+           <span class="sr-only">71.43% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">71.43%</div></td>
+      <td class="success small"><div align="right">5&nbsp;/&nbsp;7</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#341"><abbr title="getNextFileNameInDocserver($aArgs)">getNextFileNameInDocserver</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">30.00</td>
+      <td class="warning big">       <div class="progress">
+         <div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="50.00" aria-valuemin="0" aria-valuemax="100" style="width: 50.00%">
+           <span class="sr-only">50.00% covered (warning)</span>
+         </div>
+       </div>
+</td>
+      <td class="warning small"><div align="right">50.00%</div></td>
+      <td class="warning small"><div align="right">36&nbsp;/&nbsp;72</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#496"><abbr title="storeResourceOnDocserver($aArgs)">storeResourceOnDocserver</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">18.77</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="81.71" aria-valuemin="0" aria-valuemax="100" style="width: 81.71%">
+           <span class="sr-only">81.71% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">81.71%</div></td>
+      <td class="success small"><div align="right">67&nbsp;/&nbsp;82</div></td>
+     </tr>
+
+
+    </tbody>
+   </table>
+   <table id="code" class="table table-borderless table-condensed">
+    <tbody>
+     <tr><td><div align="right"><a name="1"></a><a href="#1">1</a></div></td><td class="codeLine"><span class="default">&lt;?php</span></td></tr>
+     <tr><td><div align="right"><a name="2"></a><a href="#2">2</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="3"></a><a href="#3">3</a></div></td><td class="codeLine"><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="4"></a><a href="#4">4</a></div></td><td class="codeLine"><span class="comment">*&nbsp;Copyright&nbsp;Maarch&nbsp;since&nbsp;2008&nbsp;under&nbsp;licence&nbsp;GPLv3.</span></td></tr>
+     <tr><td><div align="right"><a name="5"></a><a href="#5">5</a></div></td><td class="codeLine"><span class="comment">*&nbsp;See&nbsp;LICENCE.txt&nbsp;file&nbsp;at&nbsp;the&nbsp;root&nbsp;folder&nbsp;for&nbsp;more&nbsp;details.</span></td></tr>
+     <tr><td><div align="right"><a name="6"></a><a href="#6">6</a></div></td><td class="codeLine"><span class="comment">*&nbsp;This&nbsp;file&nbsp;is&nbsp;part&nbsp;of&nbsp;Maarch&nbsp;software.</span></td></tr>
+     <tr><td><div align="right"><a name="7"></a><a href="#7">7</a></div></td><td class="codeLine"><span class="comment">*</span></td></tr>
+     <tr><td><div align="right"><a name="8"></a><a href="#8">8</a></div></td><td class="codeLine"><span class="comment">*/</span></td></tr>
+     <tr><td><div align="right"><a name="9"></a><a href="#9">9</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="10"></a><a href="#10">10</a></div></td><td class="codeLine"><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="11"></a><a href="#11">11</a></div></td><td class="codeLine"><span class="comment">*&nbsp;@brief&nbsp;Docserver&nbsp;Controller</span></td></tr>
+     <tr><td><div align="right"><a name="12"></a><a href="#12">12</a></div></td><td class="codeLine"><span class="comment">*&nbsp;@author&nbsp;dev@maarch.org</span></td></tr>
+     <tr><td><div align="right"><a name="13"></a><a href="#13">13</a></div></td><td class="codeLine"><span class="comment">*&nbsp;@ingroup&nbsp;core</span></td></tr>
+     <tr><td><div align="right"><a name="14"></a><a href="#14">14</a></div></td><td class="codeLine"><span class="comment">*/</span></td></tr>
+     <tr><td><div align="right"><a name="15"></a><a href="#15">15</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="16"></a><a href="#16">16</a></div></td><td class="codeLine"><span class="keyword">namespace</span><span class="default">&nbsp;</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="17"></a><a href="#17">17</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="18"></a><a href="#18">18</a></div></td><td class="codeLine"><span class="keyword">use</span><span class="default">&nbsp;</span><span class="default">Psr</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Message</span><span class="default">\</span><span class="default">RequestInterface</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="19"></a><a href="#19">19</a></div></td><td class="codeLine"><span class="keyword">use</span><span class="default">&nbsp;</span><span class="default">Psr</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Message</span><span class="default">\</span><span class="default">ResponseInterface</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="20"></a><a href="#20">20</a></div></td><td class="codeLine"><span class="keyword">use</span><span class="default">&nbsp;</span><span class="default">Respect</span><span class="default">\</span><span class="default">Validation</span><span class="default">\</span><span class="default">Validator</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="21"></a><a href="#21">21</a></div></td><td class="codeLine"><span class="keyword">use</span><span class="default">&nbsp;</span><span class="default">Core</span><span class="default">\</span><span class="default">Models</span><span class="default">\</span><span class="default">DocserverModel</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="22"></a><a href="#22">22</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="23"></a><a href="#23">23</a></div></td><td class="codeLine"><span class="keyword">class</span><span class="default">&nbsp;</span><span class="default">DocserverController</span></td></tr>
+     <tr><td><div align="right"><a name="24"></a><a href="#24">24</a></div></td><td class="codeLine"><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="25"></a><a href="#25">25</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">getList</span><span class="keyword">(</span><span class="default">RequestInterface</span><span class="default">&nbsp;</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">ResponseInterface</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="26"></a><a href="#26">26</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="27"></a><a href="#27">27</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">DocserverModel</span><span class="default">::</span><span class="default">getList</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="28"></a><a href="#28">28</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="29"></a><a href="#29">29</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="30"></a><a href="#30">30</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="31"></a><a href="#31">31</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="32"></a><a href="#32">32</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="33"></a><a href="#33">33</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="default">$datas</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="34"></a><a href="#34">34</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="35"></a><a href="#35">35</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="36"></a><a href="#36">36</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">getById</span><span class="keyword">(</span><span class="default">RequestInterface</span><span class="default">&nbsp;</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">ResponseInterface</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="37"></a><a href="#37">37</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="38"></a><a href="#38">38</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">isset</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'id'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="39"></a><a href="#39">39</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$id</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'id'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="40"></a><a href="#40">40</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">DocserverModel</span><span class="default">::</span><span class="default">getById</span><span class="keyword">(</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="41"></a><a href="#41">41</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$id</span></td></tr>
+     <tr><td><div align="right"><a name="42"></a><a href="#42">42</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="43"></a><a href="#43">43</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="44"></a><a href="#44">44</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="45"></a><a href="#45">45</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withStatus</span><span class="keyword">(</span><span class="default">500</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="46"></a><a href="#46">46</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">_ID</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_IS_EMPTY</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="47"></a><a href="#47">47</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="48"></a><a href="#48">48</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="49"></a><a href="#49">49</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="50"></a><a href="#50">50</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="51"></a><a href="#51">51</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="52"></a><a href="#52">52</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="53"></a><a href="#53">53</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="default">$datas</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="54"></a><a href="#54">54</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="55"></a><a href="#55">55</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="56"></a><a href="#56">56</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">create</span><span class="keyword">(</span><span class="default">RequestInterface</span><span class="default">&nbsp;</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">ResponseInterface</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="57"></a><a href="#57">57</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="58"></a><a href="#58">58</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$errors</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="59"></a><a href="#59">59</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="60"></a><a href="#60">60</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$errors</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">control</span><span class="keyword">(</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'create'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="61"></a><a href="#61">61</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="62"></a><a href="#62">62</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$errors</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="63"></a><a href="#63">63</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="64"></a><a href="#64">64</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withStatus</span><span class="keyword">(</span><span class="default">500</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="65"></a><a href="#65">65</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$errors</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="66"></a><a href="#66">66</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="67"></a><a href="#67">67</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="68"></a><a href="#68">68</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getQueryParams</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="69"></a><a href="#69">69</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="70"></a><a href="#70">70</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$return</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">DocserverModel</span><span class="default">::</span><span class="default">create</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="71"></a><a href="#71">71</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="72"></a><a href="#72">72</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$return</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="73"></a><a href="#73">73</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$id</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'id'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="74"></a><a href="#74">74</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">DocserverModel</span><span class="default">::</span><span class="default">getById</span><span class="keyword">(</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="75"></a><a href="#75">75</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$id</span></td></tr>
+     <tr><td><div align="right"><a name="76"></a><a href="#76">76</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="77"></a><a href="#77">77</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="78"></a><a href="#78">78</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="79"></a><a href="#79">79</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withStatus</span><span class="keyword">(</span><span class="default">500</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="80"></a><a href="#80">80</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">_NOT_CREATE</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="81"></a><a href="#81">81</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="82"></a><a href="#82">82</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="83"></a><a href="#83">83</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="84"></a><a href="#84">84</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="85"></a><a href="#85">85</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="86"></a><a href="#86">86</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="87"></a><a href="#87">87</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="default">$datas</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="88"></a><a href="#88">88</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="89"></a><a href="#89">89</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="90"></a><a href="#90">90</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">update</span><span class="keyword">(</span><span class="default">RequestInterface</span><span class="default">&nbsp;</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">ResponseInterface</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="91"></a><a href="#91">91</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="92"></a><a href="#92">92</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$errors</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="93"></a><a href="#93">93</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="94"></a><a href="#94">94</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$errors</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">control</span><span class="keyword">(</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'update'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="95"></a><a href="#95">95</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="96"></a><a href="#96">96</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$errors</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="97"></a><a href="#97">97</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="98"></a><a href="#98">98</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withStatus</span><span class="keyword">(</span><span class="default">500</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="99"></a><a href="#99">99</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$errors</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="100"></a><a href="#100">100</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="101"></a><a href="#101">101</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="102"></a><a href="#102">102</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getQueryParams</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="103"></a><a href="#103">103</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="104"></a><a href="#104">104</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$return</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">DocserverModel</span><span class="default">::</span><span class="default">update</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="105"></a><a href="#105">105</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="106"></a><a href="#106">106</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$return</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="107"></a><a href="#107">107</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$id</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'id'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="108"></a><a href="#108">108</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">DocserverModel</span><span class="default">::</span><span class="default">getById</span><span class="keyword">(</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="109"></a><a href="#109">109</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$id</span></td></tr>
+     <tr><td><div align="right"><a name="110"></a><a href="#110">110</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="111"></a><a href="#111">111</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="112"></a><a href="#112">112</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="113"></a><a href="#113">113</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withStatus</span><span class="keyword">(</span><span class="default">500</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="114"></a><a href="#114">114</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">_NOT_UPDATE</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="115"></a><a href="#115">115</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="116"></a><a href="#116">116</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="117"></a><a href="#117">117</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="118"></a><a href="#118">118</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="119"></a><a href="#119">119</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="120"></a><a href="#120">120</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="121"></a><a href="#121">121</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="default">$datas</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="122"></a><a href="#122">122</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="123"></a><a href="#123">123</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="124"></a><a href="#124">124</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">delete</span><span class="keyword">(</span><span class="default">RequestInterface</span><span class="default">&nbsp;</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">ResponseInterface</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="125"></a><a href="#125">125</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="126"></a><a href="#126">126</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">isset</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'id'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="127"></a><a href="#127">127</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$id</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'id'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="128"></a><a href="#128">128</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">DocserverModel</span><span class="default">::</span><span class="default">delete</span><span class="keyword">(</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="129"></a><a href="#129">129</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$id</span></td></tr>
+     <tr><td><div align="right"><a name="130"></a><a href="#130">130</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="131"></a><a href="#131">131</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="132"></a><a href="#132">132</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="133"></a><a href="#133">133</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withStatus</span><span class="keyword">(</span><span class="default">500</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="134"></a><a href="#134">134</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">_NOT_DELETE</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="135"></a><a href="#135">135</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="136"></a><a href="#136">136</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="137"></a><a href="#137">137</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="138"></a><a href="#138">138</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="139"></a><a href="#139">139</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="140"></a><a href="#140">140</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="141"></a><a href="#141">141</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="default">$datas</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="142"></a><a href="#142">142</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="143"></a><a href="#143">143</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="144"></a><a href="#144">144</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">protected</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">control</span><span class="keyword">(</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$mode</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="145"></a><a href="#145">145</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="146"></a><a href="#146">146</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$errors</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="147"></a><a href="#147">147</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="148"></a><a href="#148">148</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$mode</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">'update'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="149"></a><a href="#149">149</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">DocserverModel</span><span class="default">::</span><span class="default">getById</span><span class="keyword">(</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="150"></a><a href="#150">150</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'id'</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="151"></a><a href="#151">151</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="152"></a><a href="#152">152</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$obj</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="153"></a><a href="#153">153</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="154"></a><a href="#154">154</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$errors</span><span class="keyword">,</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="155"></a><a href="#155">155</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">_ID</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'id'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NOT_EXISTS</span></td></tr>
+     <tr><td><div align="right"><a name="156"></a><a href="#156">156</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="157"></a><a href="#157">157</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="158"></a><a href="#158">158</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="159"></a><a href="#159">159</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="160"></a><a href="#160">160</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">notEmpty</span><span class="keyword">(</span><span class="keyword">)</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'id'</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="161"></a><a href="#161">161</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span><span class="default">$errors</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">_ID</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_IS_EMPTY</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="162"></a><a href="#162">162</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">elseif</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$mode</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">'create'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="163"></a><a href="#163">163</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">DocserverModel</span><span class="default">::</span><span class="default">getById</span><span class="keyword">(</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="164"></a><a href="#164">164</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'id'</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="165"></a><a href="#165">165</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="166"></a><a href="#166">166</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$obj</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="167"></a><a href="#167">167</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="168"></a><a href="#168">168</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$errors</span><span class="keyword">,</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="169"></a><a href="#169">169</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">_ID</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$obj</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'id'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_ALREADY_EXISTS</span></td></tr>
+     <tr><td><div align="right"><a name="170"></a><a href="#170">170</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="171"></a><a href="#171">171</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="172"></a><a href="#172">172</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="173"></a><a href="#173">173</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="174"></a><a href="#174">174</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">regex</span><span class="keyword">(</span><span class="default">'/^[\w.-]*$/'</span><span class="keyword">)</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'id'</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="175"></a><a href="#175">175</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span><span class="default">$errors</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">_ID</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NOT</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_VALID</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="176"></a><a href="#176">176</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="177"></a><a href="#177">177</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="178"></a><a href="#178">178</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">notEmpty</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="179"></a><a href="#179">179</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'label_status'</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="180"></a><a href="#180">180</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span><span class="default">$errors</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">_LABEL_STATUS</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_IS_EMPTY</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="181"></a><a href="#181">181</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="182"></a><a href="#182">182</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="183"></a><a href="#183">183</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">Validator</span><span class="default">::</span><span class="default">notEmpty</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="184"></a><a href="#184">184</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'is_system'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="185"></a><a href="#185">185</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">contains</span><span class="keyword">(</span><span class="default">'Y'</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="186"></a><a href="#186">186</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'is_system'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="187"></a><a href="#187">187</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">contains</span><span class="keyword">(</span><span class="default">'N'</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="188"></a><a href="#188">188</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'is_system'</span><span class="keyword">)</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="189"></a><a href="#189">189</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="190"></a><a href="#190">190</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span><span class="default">$errors</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">_IS_SYSTEM</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NOT</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_VALID</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="191"></a><a href="#191">191</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="192"></a><a href="#192">192</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="193"></a><a href="#193">193</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">Validator</span><span class="default">::</span><span class="default">notEmpty</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="194"></a><a href="#194">194</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'is_folder_status'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="195"></a><a href="#195">195</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">contains</span><span class="keyword">(</span><span class="default">'Y'</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="196"></a><a href="#196">196</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'is_folder_status'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="197"></a><a href="#197">197</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">contains</span><span class="keyword">(</span><span class="default">'N'</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="198"></a><a href="#198">198</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'is_folder_status'</span><span class="keyword">)</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="199"></a><a href="#199">199</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="200"></a><a href="#200">200</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span><span class="default">$errors</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">_IS_FOLDER_STATUS</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NOT</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_VALID</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="201"></a><a href="#201">201</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="202"></a><a href="#202">202</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="203"></a><a href="#203">203</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">Validator</span><span class="default">::</span><span class="default">notEmpty</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="204"></a><a href="#204">204</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'img_filename'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="205"></a><a href="#205">205</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">regex</span><span class="keyword">(</span><span class="default">'/^[\w-.]+$/'</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="206"></a><a href="#206">206</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'img_filename'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">||</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="207"></a><a href="#207">207</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">length</span><span class="keyword">(</span><span class="default">null</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">255</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="208"></a><a href="#208">208</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'img_filename'</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="209"></a><a href="#209">209</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="210"></a><a href="#210">210</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span><span class="default">$errors</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">_IMG_FILENAME</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NOT</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_VALID</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="211"></a><a href="#211">211</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="212"></a><a href="#212">212</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="213"></a><a href="#213">213</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">Validator</span><span class="default">::</span><span class="default">notEmpty</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="214"></a><a href="#214">214</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'maarch_module'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="215"></a><a href="#215">215</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">length</span><span class="keyword">(</span><span class="default">null</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">255</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="216"></a><a href="#216">216</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'maarch_module'</span><span class="keyword">)</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="217"></a><a href="#217">217</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="218"></a><a href="#218">218</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span><span class="default">$errors</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">_MAARCH_MODULE</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NOT</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_VALID</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="219"></a><a href="#219">219</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="220"></a><a href="#220">220</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="221"></a><a href="#221">221</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">Validator</span><span class="default">::</span><span class="default">notEmpty</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="222"></a><a href="#222">222</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'can_be_searched'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="223"></a><a href="#223">223</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">contains</span><span class="keyword">(</span><span class="default">'Y'</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="224"></a><a href="#224">224</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'can_be_searched'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="225"></a><a href="#225">225</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">contains</span><span class="keyword">(</span><span class="default">'N'</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="226"></a><a href="#226">226</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'can_be_searched'</span><span class="keyword">)</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="227"></a><a href="#227">227</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="228"></a><a href="#228">228</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span><span class="default">$errors</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">_CAN_BE_SEARCHED</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NOT</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_VALID</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="229"></a><a href="#229">229</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="230"></a><a href="#230">230</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="231"></a><a href="#231">231</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">Validator</span><span class="default">::</span><span class="default">notEmpty</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="232"></a><a href="#232">232</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'can_be_modified'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="233"></a><a href="#233">233</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">contains</span><span class="keyword">(</span><span class="default">'Y'</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="234"></a><a href="#234">234</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'can_be_modified'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="235"></a><a href="#235">235</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">contains</span><span class="keyword">(</span><span class="default">'N'</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="236"></a><a href="#236">236</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'can_be_modified'</span><span class="keyword">)</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="237"></a><a href="#237">237</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="238"></a><a href="#238">238</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span><span class="default">$errors</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">_CAN_BE_MODIFIED</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NOT</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_VALID</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="239"></a><a href="#239">239</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="240"></a><a href="#240">240</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="241"></a><a href="#241">241</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$errors</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="242"></a><a href="#242">242</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="243"></a><a href="#243">243</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="244"></a><a href="#244">244</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="245"></a><a href="#245">245</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Get&nbsp;docservers&nbsp;to&nbsp;insert&nbsp;a&nbsp;new&nbsp;doc.</span></td></tr>
+     <tr><td><div align="right"><a name="246"></a><a href="#246">246</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Can&nbsp;return&nbsp;null&nbsp;if&nbsp;no&nbsp;corresponding&nbsp;object.</span></td></tr>
+     <tr><td><div align="right"><a name="247"></a><a href="#247">247</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;$coll_id&nbsp;&nbsp;string&nbsp;Collection&nbsp;identifier</span></td></tr>
+     <tr><td><div align="right"><a name="248"></a><a href="#248">248</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;docservers</span></td></tr>
+     <tr><td><div align="right"><a name="249"></a><a href="#249">249</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span></td></tr>
+     <tr><td><div align="right"><a name="250"></a><a href="#250">250</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">getDocserverToInsert</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="251"></a><a href="#251">251</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="8 tests cover line 252" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetDocserverToInsert&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testCheckSize&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testSetSize&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="252"></a><a href="#252">252</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">isset</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'collId'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="8 tests cover line 253" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetDocserverToInsert&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testCheckSize&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testSetSize&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="253"></a><a href="#253">253</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$collId</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'collId'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="8 tests cover line 254" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetDocserverToInsert&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testCheckSize&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testSetSize&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="254"></a><a href="#254">254</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">DocserverModel</span><span class="default">::</span><span class="default">getDocserverToInsert</span><span class="keyword">(</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="8 tests cover line 255" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetDocserverToInsert&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testCheckSize&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testSetSize&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="255"></a><a href="#255">255</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'collId'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$collId</span></td></tr>
+     <tr><td><div align="right"><a name="256"></a><a href="#256">256</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="257"></a><a href="#257">257</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="258"></a><a href="#258">258</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'collId&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="259"></a><a href="#259">259</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="260"></a><a href="#260">260</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="8 tests cover line 261" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetDocserverToInsert&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testCheckSize&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testSetSize&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="261"></a><a href="#261">261</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$obj</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="262"></a><a href="#262">262</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="8 tests cover line 263" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetDocserverToInsert&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testCheckSize&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testSetSize&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="263"></a><a href="#263">263</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="264"></a><a href="#264">264</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="265"></a><a href="#265">265</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="266"></a><a href="#266">266</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="267"></a><a href="#267">267</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Checks&nbsp;the&nbsp;size&nbsp;of&nbsp;the&nbsp;docserver&nbsp;plus&nbsp;a&nbsp;new&nbsp;file&nbsp;to&nbsp;see</span></td></tr>
+     <tr><td><div align="right"><a name="268"></a><a href="#268">268</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;if&nbsp;there&nbsp;is&nbsp;enough&nbsp;disk&nbsp;space</span></td></tr>
+     <tr><td><div align="right"><a name="269"></a><a href="#269">269</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*</span></td></tr>
+     <tr><td><div align="right"><a name="270"></a><a href="#270">270</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;$docserver&nbsp;docservers&nbsp;object</span></td></tr>
+     <tr><td><div align="right"><a name="271"></a><a href="#271">271</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;$filesize&nbsp;integer&nbsp;File&nbsp;size</span></td></tr>
+     <tr><td><div align="right"><a name="272"></a><a href="#272">272</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;integer&nbsp;New&nbsp;docserver&nbsp;size&nbsp;or&nbsp;0&nbsp;if&nbsp;not&nbsp;enough&nbsp;disk&nbsp;space&nbsp;available</span></td></tr>
+     <tr><td><div align="right"><a name="273"></a><a href="#273">273</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*/</span></td></tr>
+     <tr><td><div align="right"><a name="274"></a><a href="#274">274</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">checkSize</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="275"></a><a href="#275">275</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 276" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testCheckSize&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="276"></a><a href="#276">276</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$newDsSize</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'docserver'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'actual_size_number'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">+</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'filesize'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="277"></a><a href="#277">277</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 278" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testCheckSize&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="278"></a><a href="#278">278</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'docserver'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'actual_size_number'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="279"></a><a href="#279">279</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="280"></a><a href="#280">280</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'actual_size_number'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="281"></a><a href="#281">281</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="282"></a><a href="#282">282</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="283"></a><a href="#283">283</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="284"></a><a href="#284">284</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="285"></a><a href="#285">285</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 286" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testCheckSize&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="286"></a><a href="#286">286</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'filesize'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="287"></a><a href="#287">287</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="288"></a><a href="#288">288</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'filesize'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="289"></a><a href="#289">289</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="290"></a><a href="#290">290</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="291"></a><a href="#291">291</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="292"></a><a href="#292">292</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="293"></a><a href="#293">293</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 294" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testCheckSize&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="294"></a><a href="#294">294</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'docserver'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'size_limit_number'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">&gt;</span><span class="default">&nbsp;</span><span class="default">0</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 295" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testCheckSize&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="295"></a><a href="#295">295</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$newDsSize</span><span class="default">&nbsp;</span><span class="default">&gt;=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'docserver'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'size_limit_number'</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="296"></a><a href="#296">296</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="297"></a><a href="#297">297</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="298"></a><a href="#298">298</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'newDsSize'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">0</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="299"></a><a href="#299">299</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="300"></a><a href="#300">300</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="301"></a><a href="#301">301</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 302" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testCheckSize&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="302"></a><a href="#302">302</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'newDsSize'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$newDsSize</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="303"></a><a href="#303">303</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="304"></a><a href="#304">304</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="305"></a><a href="#305">305</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 306" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testCheckSize&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="306"></a><a href="#306">306</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="307"></a><a href="#307">307</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="308"></a><a href="#308">308</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="309"></a><a href="#309">309</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="310"></a><a href="#310">310</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Sets&nbsp;the&nbsp;size&nbsp;of&nbsp;the&nbsp;docserver</span></td></tr>
+     <tr><td><div align="right"><a name="311"></a><a href="#311">311</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;$docserver&nbsp;docservers&nbsp;object</span></td></tr>
+     <tr><td><div align="right"><a name="312"></a><a href="#312">312</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;$newSize&nbsp;integer&nbsp;New&nbsp;size&nbsp;of&nbsp;the&nbsp;docserver</span></td></tr>
+     <tr><td><div align="right"><a name="313"></a><a href="#313">313</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*/</span></td></tr>
+     <tr><td><div align="right"><a name="314"></a><a href="#314">314</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">setSize</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="315"></a><a href="#315">315</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 316" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testSetSize&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="316"></a><a href="#316">316</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'docserver_id'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="317"></a><a href="#317">317</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'docserver_id&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="318"></a><a href="#318">318</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="319"></a><a href="#319">319</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 320" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testSetSize&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="320"></a><a href="#320">320</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'actual_size_number'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="321"></a><a href="#321">321</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'actual_size_number&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="322"></a><a href="#322">322</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="323"></a><a href="#323">323</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="324"></a><a href="#324">324</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//$obj&nbsp;=&nbsp;DocserverModel::setSize($aArgs);</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 325" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testSetSize&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="325"></a><a href="#325">325</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$return</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">DocserverModel</span><span class="default">::</span><span class="default">update</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="326"></a><a href="#326">326</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="327"></a><a href="#327">327</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 328" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testSetSize&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="328"></a><a href="#328">328</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'setSize'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">true</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="329"></a><a href="#329">329</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="330"></a><a href="#330">330</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 331" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testSetSize&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="331"></a><a href="#331">331</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="332"></a><a href="#332">332</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="333"></a><a href="#333">333</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="334"></a><a href="#334">334</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="335"></a><a href="#335">335</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="336"></a><a href="#336">336</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Calculates&nbsp;the&nbsp;next&nbsp;file&nbsp;name&nbsp;in&nbsp;the&nbsp;docserver</span></td></tr>
+     <tr><td><div align="right"><a name="337"></a><a href="#337">337</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;$pathOnDocserver&nbsp;docservers&nbsp;path</span></td></tr>
+     <tr><td><div align="right"><a name="338"></a><a href="#338">338</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;array&nbsp;Contains&nbsp;3&nbsp;items&nbsp;:</span></td></tr>
+     <tr><td><div align="right"><a name="339"></a><a href="#339">339</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;subdirectory&nbsp;path&nbsp;and&nbsp;new&nbsp;filename&nbsp;and&nbsp;error</span></td></tr>
+     <tr><td><div align="right"><a name="340"></a><a href="#340">340</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*/</span></td></tr>
+     <tr><td><div align="right"><a name="341"></a><a href="#341">341</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">getNextFileNameInDocserver</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="342"></a><a href="#342">342</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 343" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="343"></a><a href="#343">343</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'pathOnDocserver'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="344"></a><a href="#344">344</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="345"></a><a href="#345">345</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'pathOnDocserver&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="346"></a><a href="#346">346</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="347"></a><a href="#347">347</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="348"></a><a href="#348">348</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="349"></a><a href="#349">349</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="350"></a><a href="#350">350</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 351" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="351"></a><a href="#351">351</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">is_dir</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'pathOnDocserver'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="352"></a><a href="#352">352</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="353"></a><a href="#353">353</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'pathOnDocserver&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NOT_EXISTS</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="354"></a><a href="#354">354</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="355"></a><a href="#355">355</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="356"></a><a href="#356">356</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="357"></a><a href="#357">357</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="358"></a><a href="#358">358</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 359" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="359"></a><a href="#359">359</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$pathOnDocserver</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'pathOnDocserver'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="360"></a><a href="#360">360</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 361" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="361"></a><a href="#361">361</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$dsTools</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">DocserverToolsController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="362"></a><a href="#362">362</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 363" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="363"></a><a href="#363">363</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">umask</span><span class="keyword">(</span><span class="default">0022</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="364"></a><a href="#364">364</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//Scans&nbsp;the&nbsp;docserver&nbsp;path</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 365" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="365"></a><a href="#365">365</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fileTab</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">scandir</span><span class="keyword">(</span><span class="default">$pathOnDocserver</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="366"></a><a href="#366">366</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//Removes&nbsp;.&nbsp;and&nbsp;..&nbsp;lines</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 367" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="367"></a><a href="#367">367</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_shift</span><span class="keyword">(</span><span class="default">$fileTab</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 368" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="368"></a><a href="#368">368</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_shift</span><span class="keyword">(</span><span class="default">$fileTab</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="369"></a><a href="#369">369</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 370" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="370"></a><a href="#370">370</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">file_exists</span><span class="keyword">(</span><span class="default">$pathOnDocserver</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">DIRECTORY_SEPARATOR</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'package_information'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="371"></a><a href="#371">371</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">unset</span><span class="keyword">(</span><span class="default">$fileTab</span><span class="keyword">[</span><span class="default">array_search</span><span class="keyword">(</span><span class="default">'package_information'</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$fileTab</span><span class="keyword">)</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="372"></a><a href="#372">372</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="373"></a><a href="#373">373</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 374" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="374"></a><a href="#374">374</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">is_dir</span><span class="keyword">(</span><span class="default">$pathOnDocserver</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">DIRECTORY_SEPARATOR</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'BATCH'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="375"></a><a href="#375">375</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">unset</span><span class="keyword">(</span><span class="default">$fileTab</span><span class="keyword">[</span><span class="default">array_search</span><span class="keyword">(</span><span class="default">'BATCH'</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$fileTab</span><span class="keyword">)</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="376"></a><a href="#376">376</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="377"></a><a href="#377">377</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 378" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="378"></a><a href="#378">378</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$nbFiles</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">count</span><span class="keyword">(</span><span class="default">$fileTab</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="379"></a><a href="#379">379</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//Docserver&nbsp;is&nbsp;empty</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 380" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="380"></a><a href="#380">380</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$nbFiles</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">0</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="381"></a><a href="#381">381</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//Creates&nbsp;the&nbsp;directory</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="382"></a><a href="#382">382</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">mkdir</span><span class="keyword">(</span><span class="default">$pathOnDocserver</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'0001'</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">0770</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="383"></a><a href="#383">383</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr><td><div align="right"><a name="384"></a><a href="#384">384</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'Pb&nbsp;to&nbsp;create&nbsp;directory&nbsp;on&nbsp;the&nbsp;docserver:'</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="385"></a><a href="#385">385</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$pathOnDocserver</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="386"></a><a href="#386">386</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="387"></a><a href="#387">387</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="388"></a><a href="#388">388</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="389"></a><a href="#389">389</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="390"></a><a href="#390">390</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$dsTools</span><span class="default">-&gt;</span><span class="default">setRights</span><span class="keyword">(</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="391"></a><a href="#391">391</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span><span class="default">'path'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$pathOnDocserver</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'0001'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">DIRECTORY_SEPARATOR</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="392"></a><a href="#392">392</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="393"></a><a href="#393">393</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$destinationDir</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$pathOnDocserver</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'0001'</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="394"></a><a href="#394">394</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">DIRECTORY_SEPARATOR</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="395"></a><a href="#395">395</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fileDestinationName</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'0001'</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="396"></a><a href="#396">396</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fileDestinationName</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$fileDestinationName</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'_'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">mt_rand</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="397"></a><a href="#397">397</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="398"></a><a href="#398">398</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'destinationDir'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$destinationDir</span><span class="keyword">,</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="399"></a><a href="#399">399</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'fileDestinationName'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$fileDestinationName</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="400"></a><a href="#400">400</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="401"></a><a href="#401">401</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="402"></a><a href="#402">402</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="403"></a><a href="#403">403</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="404"></a><a href="#404">404</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="405"></a><a href="#405">405</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//Gets&nbsp;next&nbsp;usable&nbsp;subdirectory&nbsp;in&nbsp;the&nbsp;docserver</span></td></tr>
+     <tr><td><div align="right"><a name="406"></a><a href="#406">406</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$destinationDir</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$pathOnDocserver</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 407" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="407"></a><a href="#407">407</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">str_pad</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="408"></a><a href="#408">408</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">count</span><span class="keyword">(</span><span class="default">$fileTab</span><span class="keyword">)</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 409" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="409"></a><a href="#409">409</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">4</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 410" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="410"></a><a href="#410">410</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'0'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 411" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="411"></a><a href="#411">411</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">STR_PAD_LEFT</span></td></tr>
+     <tr><td><div align="right"><a name="412"></a><a href="#412">412</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 413" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="413"></a><a href="#413">413</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">DIRECTORY_SEPARATOR</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 414" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="414"></a><a href="#414">414</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fileTabBis</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">scandir</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="415"></a><a href="#415">415</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$pathOnDocserver</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 416" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="416"></a><a href="#416">416</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">strval</span><span class="keyword">(</span><span class="default">str_pad</span><span class="keyword">(</span><span class="default">count</span><span class="keyword">(</span><span class="default">$fileTab</span><span class="keyword">)</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">4</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'0'</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">STR_PAD_LEFT</span><span class="keyword">)</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="417"></a><a href="#417">417</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="418"></a><a href="#418">418</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//Removes&nbsp;.&nbsp;and&nbsp;..&nbsp;lines</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 419" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="419"></a><a href="#419">419</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_shift</span><span class="keyword">(</span><span class="default">$fileTabBis</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 420" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="420"></a><a href="#420">420</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_shift</span><span class="keyword">(</span><span class="default">$fileTabBis</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 421" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="421"></a><a href="#421">421</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$nbFilesBis</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">count</span><span class="keyword">(</span><span class="default">$fileTabBis</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="422"></a><a href="#422">422</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//If&nbsp;number&nbsp;of&nbsp;files&nbsp;=&gt;&nbsp;1000&nbsp;then&nbsp;creates&nbsp;a&nbsp;new&nbsp;subdirectory</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 423" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="423"></a><a href="#423">423</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$nbFilesBis</span><span class="default">&nbsp;</span><span class="default">&gt;=</span><span class="default">&nbsp;</span><span class="default">1000</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="424"></a><a href="#424">424</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$newDir</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$nbFiles</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">+</span><span class="default">&nbsp;</span><span class="default">1</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="425"></a><a href="#425">425</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">mkdir</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="426"></a><a href="#426">426</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$pathOnDocserver</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="427"></a><a href="#427">427</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">str_pad</span><span class="keyword">(</span><span class="default">$newDir</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">4</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'0'</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">STR_PAD_LEFT</span><span class="keyword">)</span><span class="keyword">,</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="428"></a><a href="#428">428</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">0770</span></td></tr>
+     <tr><td><div align="right"><a name="429"></a><a href="#429">429</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="430"></a><a href="#430">430</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="431"></a><a href="#431">431</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr><td><div align="right"><a name="432"></a><a href="#432">432</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'Pb&nbsp;to&nbsp;create&nbsp;directory&nbsp;on&nbsp;the&nbsp;docserver:'</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="433"></a><a href="#433">433</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$pathOnDocserver</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="434"></a><a href="#434">434</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">str_pad</span><span class="keyword">(</span><span class="default">$newDir</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">4</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'0'</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">STR_PAD_LEFT</span><span class="keyword">)</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="435"></a><a href="#435">435</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="436"></a><a href="#436">436</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="437"></a><a href="#437">437</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="438"></a><a href="#438">438</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="439"></a><a href="#439">439</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$dsTools</span><span class="default">-&gt;</span><span class="default">setRights</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="440"></a><a href="#440">440</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr><td><div align="right"><a name="441"></a><a href="#441">441</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'path'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$pathOnDocserver</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="442"></a><a href="#442">442</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">str_pad</span><span class="keyword">(</span><span class="default">$newDir</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">4</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'0'</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">STR_PAD_LEFT</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="443"></a><a href="#443">443</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">DIRECTORY_SEPARATOR</span></td></tr>
+     <tr><td><div align="right"><a name="444"></a><a href="#444">444</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="445"></a><a href="#445">445</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="446"></a><a href="#446">446</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$destinationDir</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$pathOnDocserver</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="447"></a><a href="#447">447</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">str_pad</span><span class="keyword">(</span><span class="default">$newDir</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">4</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'0'</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">STR_PAD_LEFT</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="448"></a><a href="#448">448</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">DIRECTORY_SEPARATOR</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="449"></a><a href="#449">449</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fileDestinationName</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'0001'</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="450"></a><a href="#450">450</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fileDestinationName</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$fileDestinationName</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'_'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">mt_rand</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="451"></a><a href="#451">451</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="452"></a><a href="#452">452</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'destinationDir'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$destinationDir</span><span class="keyword">,</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="453"></a><a href="#453">453</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'fileDestinationName'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$fileDestinationName</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="454"></a><a href="#454">454</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="455"></a><a href="#455">455</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="456"></a><a href="#456">456</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="457"></a><a href="#457">457</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="458"></a><a href="#458">458</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="459"></a><a href="#459">459</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//Docserver&nbsp;contains&nbsp;less&nbsp;than&nbsp;1000&nbsp;files</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 460" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="460"></a><a href="#460">460</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$newFileName</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$nbFilesBis</span><span class="default">&nbsp;</span><span class="keyword">+</span><span class="default">&nbsp;</span><span class="default">1</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 461" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="461"></a><a href="#461">461</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$greater</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$newFileName</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 462" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="462"></a><a href="#462">462</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">for</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$n</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">0</span><span class="keyword">;</span><span class="default">&nbsp;</span><span class="default">$n</span><span class="default">&nbsp;</span><span class="keyword">&lt;</span><span class="default">&nbsp;</span><span class="default">count</span><span class="keyword">(</span><span class="default">$fileTabBis</span><span class="keyword">)</span><span class="keyword">;</span><span class="default">&nbsp;</span><span class="default">$n</span><span class="default">++</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 463" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="463"></a><a href="#463">463</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$currentFileName</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 464" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="464"></a><a href="#464">464</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$currentFileName</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">explode</span><span class="keyword">(</span><span class="default">'.'</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$fileTabBis</span><span class="keyword">[</span><span class="default">$n</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 465" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="465"></a><a href="#465">465</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">(int)</span><span class="default">&nbsp;</span><span class="default">$greater</span><span class="default">&nbsp;</span><span class="default">&lt;=</span><span class="default">&nbsp;</span><span class="default">(int)</span><span class="default">&nbsp;</span><span class="default">$currentFileName</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 466" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="466"></a><a href="#466">466</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">(int)</span><span class="default">&nbsp;</span><span class="default">$greater</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">(int)</span><span class="default">&nbsp;</span><span class="default">$currentFileName</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 467" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="467"></a><a href="#467">467</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$greater</span><span class="default">&nbsp;</span><span class="default">++</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="468"></a><a href="#468">468</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="469"></a><a href="#469">469</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//$greater&nbsp;&lt;&nbsp;current</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="470"></a><a href="#470">470</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$greater</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">(int)</span><span class="default">&nbsp;</span><span class="default">$currentFileName</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">+</span><span class="default">&nbsp;</span><span class="default">1</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="471"></a><a href="#471">471</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="472"></a><a href="#472">472</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="473"></a><a href="#473">473</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 474" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="474"></a><a href="#474">474</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fileDestinationName</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">str_pad</span><span class="keyword">(</span><span class="default">$greater</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">4</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'0'</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">STR_PAD_LEFT</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 475" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="475"></a><a href="#475">475</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fileDestinationName</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$fileDestinationName</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'_'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">mt_rand</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="476"></a><a href="#476">476</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 477" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="477"></a><a href="#477">477</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'destinationDir'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$destinationDir</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 478" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="478"></a><a href="#478">478</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'fileDestinationName'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$fileDestinationName</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="479"></a><a href="#479">479</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="480"></a><a href="#480">480</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 481" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="481"></a><a href="#481">481</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="482"></a><a href="#482">482</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="483"></a><a href="#483">483</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="484"></a><a href="#484">484</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="485"></a><a href="#485">485</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="486"></a><a href="#486">486</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="487"></a><a href="#487">487</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Store&nbsp;a&nbsp;new&nbsp;doc&nbsp;in&nbsp;a&nbsp;docserver.</span></td></tr>
+     <tr><td><div align="right"><a name="488"></a><a href="#488">488</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;&nbsp;$collId&nbsp;collection&nbsp;resource</span></td></tr>
+     <tr><td><div align="right"><a name="489"></a><a href="#489">489</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;&nbsp;$fileInfos&nbsp;infos&nbsp;of&nbsp;the&nbsp;doc&nbsp;to&nbsp;store,&nbsp;contains&nbsp;:</span></td></tr>
+     <tr><td><div align="right"><a name="490"></a><a href="#490">490</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmpDir&nbsp;:&nbsp;path&nbsp;to&nbsp;tmp&nbsp;directory</span></td></tr>
+     <tr><td><div align="right"><a name="491"></a><a href="#491">491</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;size&nbsp;:&nbsp;size&nbsp;of&nbsp;the&nbsp;doc</span></td></tr>
+     <tr><td><div align="right"><a name="492"></a><a href="#492">492</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;format&nbsp;:&nbsp;format&nbsp;of&nbsp;the&nbsp;doc</span></td></tr>
+     <tr><td><div align="right"><a name="493"></a><a href="#493">493</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;tmpFileName&nbsp;:&nbsp;file&nbsp;name&nbsp;of&nbsp;the&nbsp;doc&nbsp;in&nbsp;Maarch&nbsp;tmp&nbsp;directory</span></td></tr>
+     <tr><td><div align="right"><a name="494"></a><a href="#494">494</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;&nbsp;array&nbsp;of&nbsp;docserver&nbsp;data&nbsp;for&nbsp;res_x&nbsp;else&nbsp;return&nbsp;error</span></td></tr>
+     <tr><td><div align="right"><a name="495"></a><a href="#495">495</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span></td></tr>
+     <tr><td><div align="right"><a name="496"></a><a href="#496">496</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">storeResourceOnDocserver</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="497"></a><a href="#497">497</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 498" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="498"></a><a href="#498">498</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'collId'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="499"></a><a href="#499">499</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'collId&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="500"></a><a href="#500">500</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="501"></a><a href="#501">501</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 502" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="502"></a><a href="#502">502</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'fileInfos'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="503"></a><a href="#503">503</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'fileInfos&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="504"></a><a href="#504">504</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="505"></a><a href="#505">505</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 506" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="506"></a><a href="#506">506</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'fileInfos'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'tmpDir'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="507"></a><a href="#507">507</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'fileInfos.tmpDir&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="508"></a><a href="#508">508</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="509"></a><a href="#509">509</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 510" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="510"></a><a href="#510">510</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'fileInfos'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'size'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="511"></a><a href="#511">511</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'fileInfos.size&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="512"></a><a href="#512">512</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="513"></a><a href="#513">513</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 514" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="514"></a><a href="#514">514</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'fileInfos'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'format'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="515"></a><a href="#515">515</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'fileInfos.format&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="516"></a><a href="#516">516</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="517"></a><a href="#517">517</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 518" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="518"></a><a href="#518">518</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'fileInfos'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'tmpFileName'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="519"></a><a href="#519">519</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'fileInfos.tmpFileName&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="520"></a><a href="#520">520</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="521"></a><a href="#521">521</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 522" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="522"></a><a href="#522">522</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">is_dir</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'fileInfos'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'tmpDir'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="523"></a><a href="#523">523</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'fileInfos.tmpDir&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NOT_EXISTS</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="524"></a><a href="#524">524</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="525"></a><a href="#525">525</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 526" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="526"></a><a href="#526">526</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">file_exists</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'fileInfos'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'tmpDir'</span><span class="keyword">]</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 527" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="527"></a><a href="#527">527</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'fileInfos'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'tmpFileName'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="528"></a><a href="#528">528</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'fileInfos.tmpDir&nbsp;fileInfos.tmpFileName'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NOT_EXISTS</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="529"></a><a href="#529">529</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="530"></a><a href="#530">530</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 531" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="531"></a><a href="#531">531</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$collId</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'collId'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 532" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="532"></a><a href="#532">532</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fileInfos</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'fileInfos'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 533" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="533"></a><a href="#533">533</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$size</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'fileInfos'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'size'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 534" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="534"></a><a href="#534">534</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$tmpDir</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'fileInfos'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'tmpDir'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="535"></a><a href="#535">535</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 536" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="536"></a><a href="#536">536</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$dsTools</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">DocserverToolsController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="537"></a><a href="#537">537</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 538" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="538"></a><a href="#538">538</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$docserver</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">getDocserverToInsert</span><span class="keyword">(</span><span class="keyword">[</span><span class="default">'collId'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$collId</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 539" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="539"></a><a href="#539">539</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$docserver</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$docserver</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="540"></a><a href="#540">540</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 541" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="541"></a><a href="#541">541</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$tmpSourceCopy</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">''</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="542"></a><a href="#542">542</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 543" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="543"></a><a href="#543">543</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$docserver</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="544"></a><a href="#544">544</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="545"></a><a href="#545">545</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">_DOCSERVER_ERROR</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;:&nbsp;'</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="546"></a><a href="#546">546</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NO_AVAILABLE_DOCSERVER</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;.&nbsp;&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_MORE_INFOS</span></td></tr>
+     <tr><td><div align="right"><a name="547"></a><a href="#547">547</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="548"></a><a href="#548">548</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="549"></a><a href="#549">549</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 550" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="550"></a><a href="#550">550</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$newSize</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">checkSize</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="551"></a><a href="#551">551</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 552" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="552"></a><a href="#552">552</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'docserver'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$docserver</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 553" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="553"></a><a href="#553">553</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'filesize'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$size</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="554"></a><a href="#554">554</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="555"></a><a href="#555">555</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="556"></a><a href="#556">556</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 557" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="557"></a><a href="#557">557</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$newSize</span><span class="keyword">[</span><span class="default">'newDsSize'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">0</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="558"></a><a href="#558">558</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="559"></a><a href="#559">559</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">_DOCSERVER_ERROR</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;:&nbsp;'</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="560"></a><a href="#560">560</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NOT_ENOUGH_DISK_SPACE</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;.&nbsp;&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_MORE_INFOS</span></td></tr>
+     <tr><td><div align="right"><a name="561"></a><a href="#561">561</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="562"></a><a href="#562">562</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="563"></a><a href="#563">563</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 564" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="564"></a><a href="#564">564</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$tmpDir</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">''</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="565"></a><a href="#565">565</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$tmp</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'config'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'tmppath'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="566"></a><a href="#566">566</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 567" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="567"></a><a href="#567">567</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$tmp</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$tmpDir</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="568"></a><a href="#568">568</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="569"></a><a href="#569">569</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 570" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="570"></a><a href="#570">570</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$d</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">dir</span><span class="keyword">(</span><span class="default">$tmp</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 571" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="571"></a><a href="#571">571</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$pathTmp</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$d</span><span class="default">-&gt;</span><span class="default">path</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 572" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="572"></a><a href="#572">572</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">while</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$entry</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$d</span><span class="default">-&gt;</span><span class="default">read</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 573" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="573"></a><a href="#573">573</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$entry</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">$fileInfos</span><span class="keyword">[</span><span class="default">'tmpFileName'</span><span class="keyword">]</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 574" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="574"></a><a href="#574">574</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$tmpSourceCopy</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$pathTmp</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$entry</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 575" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="575"></a><a href="#575">575</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$theFile</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$entry</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 576" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="576"></a><a href="#576">576</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">break</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="577"></a><a href="#577">577</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="578"></a><a href="#578">578</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 579" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="579"></a><a href="#579">579</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$d</span><span class="default">-&gt;</span><span class="default">close</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="580"></a><a href="#580">580</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 581" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="581"></a><a href="#581">581</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$pathOnDocserver</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 582" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="582"></a><a href="#582">582</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$pathOnDocserver</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$dsTools</span><span class="default">-&gt;</span><span class="default">createPathOnDocServer</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 583" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="583"></a><a href="#583">583</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span><span class="default">'path'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$docserver</span><span class="keyword">[</span><span class="default">'path_template'</span><span class="keyword">]</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="584"></a><a href="#584">584</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="585"></a><a href="#585">585</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 586" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="586"></a><a href="#586">586</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$docinfo</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">getNextFileNameInDocserver</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 587" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="587"></a><a href="#587">587</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span><span class="default">'pathOnDocserver'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$pathOnDocserver</span><span class="keyword">[</span><span class="default">'createPathOnDocServer'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'destinationDir'</span><span class="keyword">]</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="588"></a><a href="#588">588</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="589"></a><a href="#589">589</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 590" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="590"></a><a href="#590">590</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$docinfo</span><span class="keyword">[</span><span class="default">'errors'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="default">&lt;&gt;</span><span class="default">&nbsp;</span><span class="default">''</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="591"></a><a href="#591">591</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">_FILE_SEND_ERROR</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="592"></a><a href="#592">592</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="593"></a><a href="#593">593</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 594" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="594"></a><a href="#594">594</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$docserverTypeControler</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Models</span><span class="default">\</span><span class="default">DocserverTypeModel</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 595" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="595"></a><a href="#595">595</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$docserverTypeObject</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$docserverTypeControler</span><span class="default">-&gt;</span><span class="default">getById</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 596" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="596"></a><a href="#596">596</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span><span class="default">'id'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$docserver</span><span class="keyword">[</span><span class="default">'docserver_type_id'</span><span class="keyword">]</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="597"></a><a href="#597">597</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="598"></a><a href="#598">598</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 599" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="599"></a><a href="#599">599</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$docserverTypeObject</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$docserverTypeObject</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="600"></a><a href="#600">600</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 601" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="601"></a><a href="#601">601</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$pathInfoTmpSrc</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">pathinfo</span><span class="keyword">(</span><span class="default">$tmpSourceCopy</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="602"></a><a href="#602">602</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 603" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="603"></a><a href="#603">603</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$docinfo</span><span class="keyword">[</span><span class="default">'fileDestinationName'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="default">.=</span><span class="default">&nbsp;</span><span class="default">'.'</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 604" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="604"></a><a href="#604">604</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">strtolower</span><span class="keyword">(</span><span class="default">$pathInfoTmpSrc</span><span class="keyword">[</span><span class="default">'extension'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="605"></a><a href="#605">605</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 606" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="606"></a><a href="#606">606</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$copyResult</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$dsTools</span><span class="default">-&gt;</span><span class="default">copyOnDocserver</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="607"></a><a href="#607">607</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 608" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="608"></a><a href="#608">608</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'sourceFilePath'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$tmpSourceCopy</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 609" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="609"></a><a href="#609">609</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'destinationDir'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$docinfo</span><span class="keyword">[</span><span class="default">'destinationDir'</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 610" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="610"></a><a href="#610">610</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'fileDestinationName'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$docinfo</span><span class="keyword">[</span><span class="default">'fileDestinationName'</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 611" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="611"></a><a href="#611">611</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'docserverSourceFingerprint'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$docserverTypeObject</span><span class="keyword">[</span><span class="default">'fingerprint_mode'</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="612"></a><a href="#612">612</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="613"></a><a href="#613">613</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="614"></a><a href="#614">614</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 615" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="615"></a><a href="#615">615</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">isset</span><span class="keyword">(</span><span class="default">$copyResult</span><span class="keyword">[</span><span class="default">'errors'</span><span class="keyword">]</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span><span class="default">&nbsp;</span><span class="default">$copyResult</span><span class="keyword">[</span><span class="default">'errors'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="default">&lt;&gt;</span><span class="default">&nbsp;</span><span class="default">''</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="616"></a><a href="#616">616</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$copyResult</span><span class="keyword">[</span><span class="default">'errors'</span><span class="keyword">]</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="617"></a><a href="#617">617</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="618"></a><a href="#618">618</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 619" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="619"></a><a href="#619">619</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$destinationDir</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$copyResult</span><span class="keyword">[</span><span class="default">'copyOnDocserver'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'destinationDir'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 620" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="620"></a><a href="#620">620</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fileDestinationName</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$copyResult</span><span class="keyword">[</span><span class="default">'copyOnDocserver'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'fileDestinationName'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="621"></a><a href="#621">621</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 622" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="622"></a><a href="#622">622</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$destinationDir</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">substr</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="623"></a><a href="#623">623</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$destinationDir</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 624" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="624"></a><a href="#624">624</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">strlen</span><span class="keyword">(</span><span class="default">$docserver</span><span class="keyword">[</span><span class="default">'path_template'</span><span class="keyword">]</span><span class="keyword">)</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 625" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="625"></a><a href="#625">625</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">DIRECTORY_SEPARATOR</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="626"></a><a href="#626">626</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 627" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="627"></a><a href="#627">627</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$destinationDir</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">str_replace</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 628" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="628"></a><a href="#628">628</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">DIRECTORY_SEPARATOR</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 629" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="629"></a><a href="#629">629</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'#'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="630"></a><a href="#630">630</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$destinationDir</span></td></tr>
+     <tr><td><div align="right"><a name="631"></a><a href="#631">631</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="632"></a><a href="#632">632</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 633" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="633"></a><a href="#633">633</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">setSize</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="634"></a><a href="#634">634</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 635" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="635"></a><a href="#635">635</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'docserver_id'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$docserver</span><span class="keyword">[</span><span class="default">'docserver_id'</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 636" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="636"></a><a href="#636">636</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'actual_size_number'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$newSize</span><span class="keyword">[</span><span class="default">'newDsSize'</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="637"></a><a href="#637">637</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="638"></a><a href="#638">638</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="639"></a><a href="#639">639</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="640"></a><a href="#640">640</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 641" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="641"></a><a href="#641">641</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'path_template'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$docserver</span><span class="keyword">[</span><span class="default">'path_template'</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 642" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="642"></a><a href="#642">642</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'destination_dir'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$destinationDir</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 643" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="643"></a><a href="#643">643</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'docserver_id'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$docserver</span><span class="keyword">[</span><span class="default">'docserver_id'</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 644" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="644"></a><a href="#644">644</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'file_destination_name'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$fileDestinationName</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="645"></a><a href="#645">645</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="646"></a><a href="#646">646</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 647" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="647"></a><a href="#647">647</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="648"></a><a href="#648">648</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="649"></a><a href="#649">649</a></div></td><td class="codeLine"><span class="keyword">}</span></td></tr>
+
+    </tbody>
+   </table>
+   <footer>
+    <hr/>
+    <h4>Legend</h4>
+    <p>
+     <span class="success"><strong>Executed</strong></span>
+     <span class="danger"><strong>Not Executed</strong></span>
+     <span class="warning"><strong>Dead Code</strong></span>
+    </p>
+    <p>
+     <small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 3.2.1</a> using <a href="http://php.net/" target="_top">PHP 7.0.16-4+deb.sury.org~xenial+1</a> and <a href="https://phpunit.de/">PHPUnit 5.1.3</a> at Tue Mar 14 18:22:56 CET 2017.</small>
+    </p>
+    <a title="Back to the top" id="toplink" href="#"><span class="glyphicon glyphicon-arrow-up"></span></a>
+   </footer>
+  </div>
+  <script src="../js/jquery.min.js" type="text/javascript"></script>
+  <script src="../js/bootstrap.min.js" type="text/javascript"></script>
+  <script src="../js/holder.min.js" type="text/javascript"></script>
+  <script type="text/javascript">
+  $(function() {
+   var $window   = $(window)
+     , $top_link = $('#toplink')
+     , $body     = $('body, html')
+     , offset    = $('#code').offset().top;
+
+   $top_link.hide().click(function(event) {
+    event.preventDefault();
+    $body.animate({scrollTop:0}, 800);
+   });
+
+   $window.scroll(function() {
+    if($window.scrollTop() > offset) {
+     $top_link.fadeIn();
+    } else {
+     $top_link.fadeOut();
+    }
+   }).scroll();
+
+   $('.popin').popover({trigger: 'hover'});
+  });
+  </script>
+ </body>
+</html>
diff --git a/core/Test/build/Controllers/DocserverToolsController.php.html b/core/Test/build/Controllers/DocserverToolsController.php.html
new file mode 100644
index 0000000000000000000000000000000000000000..ebff098bcb72473af0fb798ab458b0c392453533
--- /dev/null
+++ b/core/Test/build/Controllers/DocserverToolsController.php.html
@@ -0,0 +1,726 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+  <meta charset="UTF-8">
+  <title>Code Coverage for /var/www/html/MaarchCourrier/core/Controllers/DocserverToolsController.php</title>
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <link href="../css/bootstrap.min.css" rel="stylesheet">
+  <link href="../css/style.css" rel="stylesheet">
+  <!--[if lt IE 9]>
+  <script src="../js/html5shiv.min.js"></script>
+  <script src="../js/respond.min.js"></script>
+  <![endif]-->
+ </head>
+ <body>
+  <header>
+   <div class="container">
+    <div class="row">
+     <div class="col-md-12">
+      <ol class="breadcrumb">
+        <li><a href="../index.html">/var/www/html/MaarchCourrier/core</a></li>
+        <li><a href="index.html">Controllers</a></li>
+        <li class="active">DocserverToolsController.php</li>
+
+      </ol>
+     </div>
+    </div>
+   </div>
+  </header>
+  <div class="container">
+   <table class="table table-bordered">
+    <thead>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td>
+     </tr>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td>
+      <td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td>
+      <td colspan="3"><div align="center"><strong>Lines</strong></div></td>
+     </tr>
+    </thead>
+    <tbody>
+     <tr>
+      <td class="danger">Total</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;6</div></td>
+      <td class="danger small"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></td>
+      <td class="warning big">       <div class="progress">
+         <div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="55.28" aria-valuemin="0" aria-valuemax="100" style="width: 55.28%">
+           <span class="sr-only">55.28% covered (warning)</span>
+         </div>
+       </div>
+</td>
+      <td class="warning small"><div align="right">55.28%</div></td>
+      <td class="warning small"><div align="right">89&nbsp;/&nbsp;161</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger">DocserverToolsController</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;6</div></td>
+      <td class="danger small">235.25</td>
+      <td class="warning big">       <div class="progress">
+         <div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="55.28" aria-valuemin="0" aria-valuemax="100" style="width: 55.28%">
+           <span class="sr-only">55.28% covered (warning)</span>
+         </div>
+       </div>
+</td>
+      <td class="warning small"><div align="right">55.28%</div></td>
+      <td class="warning small"><div align="right">89&nbsp;/&nbsp;161</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#31"><abbr title="createPathOnDocServer($aArgs)">createPathOnDocServer</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">21.03</td>
+      <td class="warning big">       <div class="progress">
+         <div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="41.18" aria-valuemin="0" aria-valuemax="100" style="width: 41.18%">
+           <span class="sr-only">41.18% covered (warning)</span>
+         </div>
+       </div>
+</td>
+      <td class="warning small"><div align="right">41.18%</div></td>
+      <td class="warning small"><div align="right">14&nbsp;/&nbsp;34</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#108"><abbr title="setRights($aArgs)">setRights</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">7.10</td>
+      <td class="warning big">       <div class="progress">
+         <div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="68.75" aria-valuemin="0" aria-valuemax="100" style="width: 68.75%">
+           <span class="sr-only">68.75% covered (warning)</span>
+         </div>
+       </div>
+</td>
+      <td class="warning small"><div align="right">68.75%</div></td>
+      <td class="warning small"><div align="right">11&nbsp;/&nbsp;16</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#153"><abbr title="copyOnDocserver($aArgs)">copyOnDocserver</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">26.29</td>
+      <td class="warning big">       <div class="progress">
+         <div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="53.70" aria-valuemin="0" aria-valuemax="100" style="width: 53.70%">
+           <span class="sr-only">53.70% covered (warning)</span>
+         </div>
+       </div>
+</td>
+      <td class="warning small"><div align="right">53.70%</div></td>
+      <td class="warning small"><div align="right">29&nbsp;/&nbsp;54</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#287"><abbr title="doFingerprint($aArgs)">doFingerprint</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">5.47</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="73.33" aria-valuemin="0" aria-valuemax="100" style="width: 73.33%">
+           <span class="sr-only">73.33% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">73.33%</div></td>
+      <td class="success small"><div align="right">11&nbsp;/&nbsp;15</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#334"><abbr title="controlFingerprint($aArgs)">controlFingerprint</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">9.89</td>
+      <td class="warning big">       <div class="progress">
+         <div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="52.38" aria-valuemin="0" aria-valuemax="100" style="width: 52.38%">
+           <span class="sr-only">52.38% covered (warning)</span>
+         </div>
+       </div>
+</td>
+      <td class="warning small"><div align="right">52.38%</div></td>
+      <td class="warning small"><div align="right">11&nbsp;/&nbsp;21</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#398"><abbr title="washTmp($aArgs)">washTmp</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">13.48</td>
+      <td class="warning big">       <div class="progress">
+         <div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="61.90" aria-valuemin="0" aria-valuemax="100" style="width: 61.90%">
+           <span class="sr-only">61.90% covered (warning)</span>
+         </div>
+       </div>
+</td>
+      <td class="warning small"><div align="right">61.90%</div></td>
+      <td class="warning small"><div align="right">13&nbsp;/&nbsp;21</div></td>
+     </tr>
+
+
+    </tbody>
+   </table>
+   <table id="code" class="table table-borderless table-condensed">
+    <tbody>
+     <tr><td><div align="right"><a name="1"></a><a href="#1">1</a></div></td><td class="codeLine"><span class="default">&lt;?php</span></td></tr>
+     <tr><td><div align="right"><a name="2"></a><a href="#2">2</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="3"></a><a href="#3">3</a></div></td><td class="codeLine"><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="4"></a><a href="#4">4</a></div></td><td class="codeLine"><span class="comment">*&nbsp;Copyright&nbsp;Maarch&nbsp;since&nbsp;2008&nbsp;under&nbsp;licence&nbsp;GPLv3.</span></td></tr>
+     <tr><td><div align="right"><a name="5"></a><a href="#5">5</a></div></td><td class="codeLine"><span class="comment">*&nbsp;See&nbsp;LICENCE.txt&nbsp;file&nbsp;at&nbsp;the&nbsp;root&nbsp;folder&nbsp;for&nbsp;more&nbsp;details.</span></td></tr>
+     <tr><td><div align="right"><a name="6"></a><a href="#6">6</a></div></td><td class="codeLine"><span class="comment">*&nbsp;This&nbsp;file&nbsp;is&nbsp;part&nbsp;of&nbsp;Maarch&nbsp;software.</span></td></tr>
+     <tr><td><div align="right"><a name="7"></a><a href="#7">7</a></div></td><td class="codeLine"><span class="comment">*</span></td></tr>
+     <tr><td><div align="right"><a name="8"></a><a href="#8">8</a></div></td><td class="codeLine"><span class="comment">*/</span></td></tr>
+     <tr><td><div align="right"><a name="9"></a><a href="#9">9</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="10"></a><a href="#10">10</a></div></td><td class="codeLine"><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="11"></a><a href="#11">11</a></div></td><td class="codeLine"><span class="comment">*&nbsp;@brief&nbsp;Docserver&nbsp;tools&nbsp;Controller</span></td></tr>
+     <tr><td><div align="right"><a name="12"></a><a href="#12">12</a></div></td><td class="codeLine"><span class="comment">*&nbsp;@author&nbsp;dev@maarch.org</span></td></tr>
+     <tr><td><div align="right"><a name="13"></a><a href="#13">13</a></div></td><td class="codeLine"><span class="comment">*&nbsp;@ingroup&nbsp;core</span></td></tr>
+     <tr><td><div align="right"><a name="14"></a><a href="#14">14</a></div></td><td class="codeLine"><span class="comment">*/</span></td></tr>
+     <tr><td><div align="right"><a name="15"></a><a href="#15">15</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="16"></a><a href="#16">16</a></div></td><td class="codeLine"><span class="keyword">namespace</span><span class="default">&nbsp;</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="17"></a><a href="#17">17</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="18"></a><a href="#18">18</a></div></td><td class="codeLine"><span class="keyword">use</span><span class="default">&nbsp;</span><span class="default">Psr</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Message</span><span class="default">\</span><span class="default">RequestInterface</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="19"></a><a href="#19">19</a></div></td><td class="codeLine"><span class="keyword">use</span><span class="default">&nbsp;</span><span class="default">Psr</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Message</span><span class="default">\</span><span class="default">ResponseInterface</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="20"></a><a href="#20">20</a></div></td><td class="codeLine"><span class="keyword">use</span><span class="default">&nbsp;</span><span class="default">Respect</span><span class="default">\</span><span class="default">Validation</span><span class="default">\</span><span class="default">Validator</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="21"></a><a href="#21">21</a></div></td><td class="codeLine"><span class="keyword">use</span><span class="default">&nbsp;</span><span class="default">Core</span><span class="default">\</span><span class="default">Models</span><span class="default">\</span><span class="default">DocserverModel</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="22"></a><a href="#22">22</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="23"></a><a href="#23">23</a></div></td><td class="codeLine"><span class="keyword">class</span><span class="default">&nbsp;</span><span class="default">DocserverToolsController</span></td></tr>
+     <tr><td><div align="right"><a name="24"></a><a href="#24">24</a></div></td><td class="codeLine"><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="25"></a><a href="#25">25</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="26"></a><a href="#26">26</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="27"></a><a href="#27">27</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Compute&nbsp;the&nbsp;path&nbsp;in&nbsp;the&nbsp;docserver&nbsp;for&nbsp;a&nbsp;batch</span></td></tr>
+     <tr><td><div align="right"><a name="28"></a><a href="#28">28</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;$docServer&nbsp;docservers&nbsp;path</span></td></tr>
+     <tr><td><div align="right"><a name="29"></a><a href="#29">29</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;&nbsp;array&nbsp;Contains&nbsp;2&nbsp;items&nbsp;:&nbsp;subdirectory&nbsp;path&nbsp;and&nbsp;error</span></td></tr>
+     <tr><td><div align="right"><a name="30"></a><a href="#30">30</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span></td></tr>
+     <tr><td><div align="right"><a name="31"></a><a href="#31">31</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">createPathOnDocServer</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="32"></a><a href="#32">32</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 33" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCreatePathOnDocServer&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="33"></a><a href="#33">33</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'path'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="34"></a><a href="#34">34</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="35"></a><a href="#35">35</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'path&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="36"></a><a href="#36">36</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="37"></a><a href="#37">37</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="38"></a><a href="#38">38</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="39"></a><a href="#39">39</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="40"></a><a href="#40">40</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 41" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCreatePathOnDocServer&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="41"></a><a href="#41">41</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">is_dir</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'path'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="42"></a><a href="#42">42</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="43"></a><a href="#43">43</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'path&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NOT_EXISTS</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="44"></a><a href="#44">44</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="45"></a><a href="#45">45</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="46"></a><a href="#46">46</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="47"></a><a href="#47">47</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="48"></a><a href="#48">48</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 49" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCreatePathOnDocServer&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="49"></a><a href="#49">49</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$pathOnDocserver</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'path'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="50"></a><a href="#50">50</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 51" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCreatePathOnDocServer&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="51"></a><a href="#51">51</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">error_reporting</span><span class="keyword">(</span><span class="default">0</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="52"></a><a href="#52">52</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 53" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCreatePathOnDocServer&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="53"></a><a href="#53">53</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">umask</span><span class="keyword">(</span><span class="default">0022</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="54"></a><a href="#54">54</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 55" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCreatePathOnDocServer&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="55"></a><a href="#55">55</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">is_dir</span><span class="keyword">(</span><span class="default">$pathOnDocserver</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">date</span><span class="keyword">(</span><span class="default">'Y'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">DIRECTORY_SEPARATOR</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="56"></a><a href="#56">56</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">mkdir</span><span class="keyword">(</span><span class="default">$pathOnDocserver</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">date</span><span class="keyword">(</span><span class="default">'Y'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">DIRECTORY_SEPARATOR</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">0770</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="57"></a><a href="#57">57</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">setRights</span><span class="keyword">(</span><span class="keyword">[</span><span class="default">'path'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$pathOnDocserver</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">date</span><span class="keyword">(</span><span class="default">'Y'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">DIRECTORY_SEPARATOR</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="58"></a><a href="#58">58</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 59" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCreatePathOnDocServer&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="59"></a><a href="#59">59</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">is_dir</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 60" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCreatePathOnDocServer&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="60"></a><a href="#60">60</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$pathOnDocserver</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">date</span><span class="keyword">(</span><span class="default">'Y'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">DIRECTORY_SEPARATOR</span><span class="keyword">.</span><span class="default">date</span><span class="keyword">(</span><span class="default">'m'</span><span class="keyword">)</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 61" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCreatePathOnDocServer&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="61"></a><a href="#61">61</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">DIRECTORY_SEPARATOR</span></td></tr>
+     <tr><td><div align="right"><a name="62"></a><a href="#62">62</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="63"></a><a href="#63">63</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="64"></a><a href="#64">64</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">mkdir</span><span class="keyword">(</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="65"></a><a href="#65">65</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$pathOnDocserver</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">date</span><span class="keyword">(</span><span class="default">'Y'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">DIRECTORY_SEPARATOR</span><span class="keyword">.</span><span class="default">date</span><span class="keyword">(</span><span class="default">'m'</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="66"></a><a href="#66">66</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">DIRECTORY_SEPARATOR</span><span class="keyword">,</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="67"></a><a href="#67">67</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">0770</span></td></tr>
+     <tr><td><div align="right"><a name="68"></a><a href="#68">68</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="69"></a><a href="#69">69</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">setRights</span><span class="keyword">(</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="70"></a><a href="#70">70</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span><span class="default">'path'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$pathOnDocserver</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">date</span><span class="keyword">(</span><span class="default">'Y'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">DIRECTORY_SEPARATOR</span><span class="keyword">.</span><span class="default">date</span><span class="keyword">(</span><span class="default">'m'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">DIRECTORY_SEPARATOR</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="71"></a><a href="#71">71</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="72"></a><a href="#72">72</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 73" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCreatePathOnDocServer&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="73"></a><a href="#73">73</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">isset</span><span class="keyword">(</span><span class="default">$GLOBALS</span><span class="keyword">[</span><span class="default">'wb'</span><span class="keyword">]</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span><span class="default">&nbsp;</span><span class="default">$GLOBALS</span><span class="keyword">[</span><span class="default">'wb'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="default">&lt;&gt;</span><span class="default">&nbsp;</span><span class="default">''</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="74"></a><a href="#74">74</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$pathOnDocserver</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">date</span><span class="keyword">(</span><span class="default">'Y'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">DIRECTORY_SEPARATOR</span><span class="keyword">.</span><span class="default">date</span><span class="keyword">(</span><span class="default">'m'</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="75"></a><a href="#75">75</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">DIRECTORY_SEPARATOR</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'BATCH'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">DIRECTORY_SEPARATOR</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="76"></a><a href="#76">76</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$GLOBALS</span><span class="keyword">[</span><span class="default">'wb'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">DIRECTORY_SEPARATOR</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="77"></a><a href="#77">77</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">is_dir</span><span class="keyword">(</span><span class="default">$path</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="78"></a><a href="#78">78</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">mkdir</span><span class="keyword">(</span><span class="default">$path</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">0770</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">true</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="79"></a><a href="#79">79</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">setRights</span><span class="keyword">(</span><span class="keyword">[</span><span class="default">'path'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$path</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="80"></a><a href="#80">80</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="81"></a><a href="#81">81</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="82"></a><a href="#82">82</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'Folder&nbsp;alreay&nbsp;exists,&nbsp;workbatch&nbsp;already&nbsp;exist:'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$path</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="83"></a><a href="#83">83</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="84"></a><a href="#84">84</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="85"></a><a href="#85">85</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="86"></a><a href="#86">86</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="87"></a><a href="#87">87</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 88" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCreatePathOnDocServer&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="88"></a><a href="#88">88</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$pathOnDocserver</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">date</span><span class="keyword">(</span><span class="default">'Y'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">DIRECTORY_SEPARATOR</span><span class="keyword">.</span><span class="default">date</span><span class="keyword">(</span><span class="default">'m'</span><span class="keyword">)</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 89" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCreatePathOnDocServer&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="89"></a><a href="#89">89</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">DIRECTORY_SEPARATOR</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="90"></a><a href="#90">90</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="91"></a><a href="#91">91</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="92"></a><a href="#92">92</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span></td></tr>
+     <tr><td><div align="right"><a name="93"></a><a href="#93">93</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr><td><div align="right"><a name="94"></a><a href="#94">94</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'createPathOnDocServer'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span></td></tr>
+     <tr><td><div align="right"><a name="95"></a><a href="#95">95</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 96" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCreatePathOnDocServer&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="96"></a><a href="#96">96</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'destinationDir'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$path</span></td></tr>
+     <tr><td><div align="right"><a name="97"></a><a href="#97">97</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="98"></a><a href="#98">98</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="99"></a><a href="#99">99</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 100" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCreatePathOnDocServer&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="100"></a><a href="#100">100</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="101"></a><a href="#101">101</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="102"></a><a href="#102">102</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="103"></a><a href="#103">103</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="104"></a><a href="#104">104</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Set&nbsp;Rights&nbsp;on&nbsp;resources</span></td></tr>
+     <tr><td><div align="right"><a name="105"></a><a href="#105">105</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;&nbsp;string&nbsp;$dest&nbsp;path&nbsp;of&nbsp;the&nbsp;resource</span></td></tr>
+     <tr><td><div align="right"><a name="106"></a><a href="#106">106</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;&nbsp;nothing</span></td></tr>
+     <tr><td><div align="right"><a name="107"></a><a href="#107">107</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span></td></tr>
+     <tr><td><div align="right"><a name="108"></a><a href="#108">108</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">setRights</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="109"></a><a href="#109">109</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="7 tests cover line 110" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testSetRights&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="110"></a><a href="#110">110</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'path'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="111"></a><a href="#111">111</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="112"></a><a href="#112">112</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'path&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="113"></a><a href="#113">113</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="114"></a><a href="#114">114</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="115"></a><a href="#115">115</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="116"></a><a href="#116">116</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="117"></a><a href="#117">117</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="7 tests cover line 118" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testSetRights&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="118"></a><a href="#118">118</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">is_dir</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'path'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="119"></a><a href="#119">119</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 120" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="120"></a><a href="#120">120</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'path&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NOT_EXISTS</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="121"></a><a href="#121">121</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="122"></a><a href="#122">122</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 123" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="123"></a><a href="#123">123</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="124"></a><a href="#124">124</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="125"></a><a href="#125">125</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 126" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testSetRights&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="126"></a><a href="#126">126</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">DIRECTORY_SEPARATOR</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">'/'</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 127" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testSetRights&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="127"></a><a href="#127">127</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&amp;&amp;</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">isset</span><span class="keyword">(</span><span class="default">$GLOBALS</span><span class="keyword">[</span><span class="default">'apacheUserAndGroup'</span><span class="keyword">]</span><span class="keyword">)</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 128" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testSetRights&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="128"></a><a href="#128">128</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&amp;&amp;</span><span class="default">&nbsp;</span><span class="default">$GLOBALS</span><span class="keyword">[</span><span class="default">'apacheUserAndGroup'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="default">&lt;&gt;</span><span class="default">&nbsp;</span><span class="default">''</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="129"></a><a href="#129">129</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="130"></a><a href="#130">130</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">exec</span><span class="keyword">(</span><span class="default">'chown&nbsp;'</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="131"></a><a href="#131">131</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">escapeshellarg</span><span class="keyword">(</span><span class="default">$GLOBALS</span><span class="keyword">[</span><span class="default">'apacheUserAndGroup'</span><span class="keyword">]</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="132"></a><a href="#132">132</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">escapeshellarg</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'path'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="133"></a><a href="#133">133</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="134"></a><a href="#134">134</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 135" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testSetRights&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="135"></a><a href="#135">135</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">umask</span><span class="keyword">(</span><span class="default">0022</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 136" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testSetRights&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="136"></a><a href="#136">136</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">chmod</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'path'</span><span class="keyword">]</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">0770</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="137"></a><a href="#137">137</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="138"></a><a href="#138">138</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 139" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testSetRights&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="139"></a><a href="#139">139</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'setRights'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">true</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="140"></a><a href="#140">140</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="141"></a><a href="#141">141</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 142" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testSetRights&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="142"></a><a href="#142">142</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="143"></a><a href="#143">143</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="144"></a><a href="#144">144</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="145"></a><a href="#145">145</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="146"></a><a href="#146">146</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;copy&nbsp;doc&nbsp;in&nbsp;a&nbsp;docserver.</span></td></tr>
+     <tr><td><div align="right"><a name="147"></a><a href="#147">147</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;&nbsp;string&nbsp;$sourceFilePath&nbsp;collection&nbsp;resource</span></td></tr>
+     <tr><td><div align="right"><a name="148"></a><a href="#148">148</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;&nbsp;array&nbsp;$infoFileNameInTargetDocserver&nbsp;infos&nbsp;of&nbsp;the&nbsp;doc&nbsp;to&nbsp;store,</span></td></tr>
+     <tr><td><div align="right"><a name="149"></a><a href="#149">149</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;contains&nbsp;:&nbsp;subdirectory&nbsp;path&nbsp;and&nbsp;new&nbsp;filename</span></td></tr>
+     <tr><td><div align="right"><a name="150"></a><a href="#150">150</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;&nbsp;string&nbsp;$docserverSourceFingerprint</span></td></tr>
+     <tr><td><div align="right"><a name="151"></a><a href="#151">151</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;&nbsp;array&nbsp;of&nbsp;docserver&nbsp;data&nbsp;for&nbsp;res_x&nbsp;else&nbsp;return&nbsp;error</span></td></tr>
+     <tr><td><div align="right"><a name="152"></a><a href="#152">152</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span></td></tr>
+     <tr><td><div align="right"><a name="153"></a><a href="#153">153</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">copyOnDocserver</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="154"></a><a href="#154">154</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 155" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="155"></a><a href="#155">155</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'destinationDir'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="156"></a><a href="#156">156</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="157"></a><a href="#157">157</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'destinationDir&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="158"></a><a href="#158">158</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="159"></a><a href="#159">159</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="160"></a><a href="#160">160</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="161"></a><a href="#161">161</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="162"></a><a href="#162">162</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 163" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="163"></a><a href="#163">163</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'fileDestinationName'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="164"></a><a href="#164">164</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="165"></a><a href="#165">165</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'fileDestinationName&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="166"></a><a href="#166">166</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="167"></a><a href="#167">167</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="168"></a><a href="#168">168</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="169"></a><a href="#169">169</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="170"></a><a href="#170">170</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 171" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="171"></a><a href="#171">171</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">file_exists</span><span class="keyword">(</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'destinationDir'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'fileDestinationName'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="172"></a><a href="#172">172</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="173"></a><a href="#173">173</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">''</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'destinationDir'</span><span class="keyword">]</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="174"></a><a href="#174">174</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'fileDestinationName'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_FILE_ALREADY_EXISTS</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="175"></a><a href="#175">175</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="176"></a><a href="#176">176</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="177"></a><a href="#177">177</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="178"></a><a href="#178">178</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="179"></a><a href="#179">179</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 180" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="180"></a><a href="#180">180</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'sourceFilePath'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="181"></a><a href="#181">181</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="182"></a><a href="#182">182</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'sourceFilePath&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="183"></a><a href="#183">183</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="184"></a><a href="#184">184</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="185"></a><a href="#185">185</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="186"></a><a href="#186">186</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="187"></a><a href="#187">187</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 188" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="188"></a><a href="#188">188</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">file_exists</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'sourceFilePath'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="189"></a><a href="#189">189</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="190"></a><a href="#190">190</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'sourceFilePath&nbsp;'</span><span class="default">&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NOT_EXISTS</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="191"></a><a href="#191">191</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="192"></a><a href="#192">192</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="193"></a><a href="#193">193</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="194"></a><a href="#194">194</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="195"></a><a href="#195">195</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 196" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="196"></a><a href="#196">196</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$destinationDir</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'destinationDir'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 197" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="197"></a><a href="#197">197</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fileDestinationName</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'fileDestinationName'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 198" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="198"></a><a href="#198">198</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$sourceFilePath</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">str_replace</span><span class="keyword">(</span><span class="default">'\\\\'</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'\\'</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'sourceFilePath'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 199" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="199"></a><a href="#199">199</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$docserverSourceFingerprint</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'docserverSourceFingerprint'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="200"></a><a href="#200">200</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 201" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="201"></a><a href="#201">201</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">error_reporting</span><span class="keyword">(</span><span class="default">0</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="202"></a><a href="#202">202</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 203" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="203"></a><a href="#203">203</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">is_dir</span><span class="keyword">(</span><span class="default">$destinationDir</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="204"></a><a href="#204">204</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">mkdir</span><span class="keyword">(</span><span class="default">$destinationDir</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">0770</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">true</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="205"></a><a href="#205">205</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="206"></a><a href="#206">206</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'path'</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$destinationDir</span></td></tr>
+     <tr><td><div align="right"><a name="207"></a><a href="#207">207</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="208"></a><a href="#208">208</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="209"></a><a href="#209">209</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">setRights</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="210"></a><a href="#210">210</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="211"></a><a href="#211">211</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 212" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="212"></a><a href="#212">212</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">copy</span><span class="keyword">(</span><span class="default">$sourceFilePath</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$destinationDir</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$fileDestinationName</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="213"></a><a href="#213">213</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="214"></a><a href="#214">214</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">_DOCSERVER_COPY_ERROR</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;source&nbsp;:&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$sourceFilePath</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="215"></a><a href="#215">215</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;dest&nbsp;:&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$destinationDir</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$fileDestinationName</span></td></tr>
+     <tr><td><div align="right"><a name="216"></a><a href="#216">216</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="217"></a><a href="#217">217</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="218"></a><a href="#218">218</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="219"></a><a href="#219">219</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="220"></a><a href="#220">220</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="221"></a><a href="#221">221</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 222" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="222"></a><a href="#222">222</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'path'</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$destinationDir</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$fileDestinationName</span></td></tr>
+     <tr><td><div align="right"><a name="223"></a><a href="#223">223</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="224"></a><a href="#224">224</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 225" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="225"></a><a href="#225">225</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">setRights</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="226"></a><a href="#226">226</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 227" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="227"></a><a href="#227">227</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fingerprintControl</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="228"></a><a href="#228">228</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="229"></a><a href="#229">229</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 230" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="230"></a><a href="#230">230</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'pathInit'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$sourceFilePath</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 231" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="231"></a><a href="#231">231</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'pathTarget'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$destinationDir</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$fileDestinationName</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 232" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="232"></a><a href="#232">232</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'fingerprintMode'</span><span class="default">&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$docserverSourceFingerprint</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="233"></a><a href="#233">233</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="234"></a><a href="#234">234</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 235" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="235"></a><a href="#235">235</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fingerprintControl</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">controlFingerprint</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="236"></a><a href="#236">236</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 237" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="237"></a><a href="#237">237</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$fingerprintControl</span><span class="keyword">[</span><span class="default">'errors'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="238"></a><a href="#238">238</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="239"></a><a href="#239">239</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$fingerprintControl</span><span class="keyword">[</span><span class="default">'errors'</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="240"></a><a href="#240">240</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="241"></a><a href="#241">241</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="242"></a><a href="#242">242</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="243"></a><a href="#243">243</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="244"></a><a href="#244">244</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="245"></a><a href="#245">245</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//for&nbsp;batch&nbsp;like&nbsp;life&nbsp;cycle</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 246" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="246"></a><a href="#246">246</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">isset</span><span class="keyword">(</span><span class="default">$GLOBALS</span><span class="keyword">[</span><span class="default">'currentStep'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="247"></a><a href="#247">247</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$destinationDir</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">str_replace</span><span class="keyword">(</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="248"></a><a href="#248">248</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$GLOBALS</span><span class="keyword">[</span><span class="default">'docservers'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">$GLOBALS</span><span class="keyword">[</span><span class="default">'currentStep'</span><span class="keyword">]</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'docserver'</span><span class="keyword">]</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="249"></a><a href="#249">249</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span><span class="default">'path_template'</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="250"></a><a href="#250">250</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">''</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="251"></a><a href="#251">251</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$destinationDir</span></td></tr>
+     <tr><td><div align="right"><a name="252"></a><a href="#252">252</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="253"></a><a href="#253">253</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="254"></a><a href="#254">254</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 255" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="255"></a><a href="#255">255</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$destinationDir</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">str_replace</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 256" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="256"></a><a href="#256">256</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">DIRECTORY_SEPARATOR</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 257" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="257"></a><a href="#257">257</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'#'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="258"></a><a href="#258">258</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$destinationDir</span></td></tr>
+     <tr><td><div align="right"><a name="259"></a><a href="#259">259</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="260"></a><a href="#260">260</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="261"></a><a href="#261">261</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr><td><div align="right"><a name="262"></a><a href="#262">262</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'copyOnDocserver'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span></td></tr>
+     <tr><td><div align="right"><a name="263"></a><a href="#263">263</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 264" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="264"></a><a href="#264">264</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'destinationDir'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$destinationDir</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 265" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="265"></a><a href="#265">265</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'fileDestinationName'</span><span class="default">&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$fileDestinationName</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 266" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="266"></a><a href="#266">266</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'fileSize'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">filesize</span><span class="keyword">(</span><span class="default">$sourceFilePath</span><span class="keyword">)</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="267"></a><a href="#267">267</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="268"></a><a href="#268">268</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="269"></a><a href="#269">269</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 270" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="270"></a><a href="#270">270</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">isset</span><span class="keyword">(</span><span class="default">$GLOBALS</span><span class="keyword">[</span><span class="default">'TmpDirectory'</span><span class="keyword">]</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span><span class="default">&nbsp;</span><span class="default">$GLOBALS</span><span class="keyword">[</span><span class="default">'TmpDirectory'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="default">&lt;&gt;</span><span class="default">&nbsp;</span><span class="default">''</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="271"></a><a href="#271">271</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="272"></a><a href="#272">272</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'path'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$GLOBALS</span><span class="keyword">[</span><span class="default">'TmpDirectory'</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="273"></a><a href="#273">273</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'contentOnly'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">true</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="274"></a><a href="#274">274</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="275"></a><a href="#275">275</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">washTmp</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="276"></a><a href="#276">276</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="277"></a><a href="#277">277</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="6 tests cover line 278" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="278"></a><a href="#278">278</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="279"></a><a href="#279">279</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="280"></a><a href="#280">280</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="281"></a><a href="#281">281</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="282"></a><a href="#282">282</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Compute&nbsp;the&nbsp;fingerprint&nbsp;of&nbsp;a&nbsp;resource</span></td></tr>
+     <tr><td><div align="right"><a name="283"></a><a href="#283">283</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;&nbsp;string&nbsp;$path&nbsp;path&nbsp;of&nbsp;the&nbsp;resource</span></td></tr>
+     <tr><td><div align="right"><a name="284"></a><a href="#284">284</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;&nbsp;string&nbsp;$fingerprintMode&nbsp;(md5,&nbsp;sha512,&nbsp;...)</span></td></tr>
+     <tr><td><div align="right"><a name="285"></a><a href="#285">285</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;&nbsp;string&nbsp;the&nbsp;fingerprint</span></td></tr>
+     <tr><td><div align="right"><a name="286"></a><a href="#286">286</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span></td></tr>
+     <tr><td><div align="right"><a name="287"></a><a href="#287">287</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">doFingerprint</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="288"></a><a href="#288">288</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="8 tests cover line 289" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testDoFingerprint&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="289"></a><a href="#289">289</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'path'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="290"></a><a href="#290">290</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="291"></a><a href="#291">291</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'path&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="292"></a><a href="#292">292</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="293"></a><a href="#293">293</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="294"></a><a href="#294">294</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="295"></a><a href="#295">295</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="296"></a><a href="#296">296</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="8 tests cover line 297" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testDoFingerprint&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="297"></a><a href="#297">297</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">file_exists</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'path'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="298"></a><a href="#298">298</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 299" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testDoFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="299"></a><a href="#299">299</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'path&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NOT_EXISTS</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="300"></a><a href="#300">300</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="301"></a><a href="#301">301</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 302" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testDoFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="302"></a><a href="#302">302</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="303"></a><a href="#303">303</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="304"></a><a href="#304">304</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="7 tests cover line 305" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="305"></a><a href="#305">305</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'fingerprintMode'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">'NONE'</span><span class="default">&nbsp;</span><span class="default">||</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="7 tests cover line 306" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="306"></a><a href="#306">306</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'fingerprintMode'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">''</span></td></tr>
+     <tr><td><div align="right"><a name="307"></a><a href="#307">307</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="308"></a><a href="#308">308</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="309"></a><a href="#309">309</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'fingerprint'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'0'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="310"></a><a href="#310">310</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="311"></a><a href="#311">311</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="312"></a><a href="#312">312</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="313"></a><a href="#313">313</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="7 tests cover line 314" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="314"></a><a href="#314">314</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fingerprint</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">hash_file</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="7 tests cover line 315" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="315"></a><a href="#315">315</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">strtolower</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'fingerprintMode'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="7 tests cover line 316" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="316"></a><a href="#316">316</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'path'</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="317"></a><a href="#317">317</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="318"></a><a href="#318">318</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="319"></a><a href="#319">319</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="7 tests cover line 320" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="320"></a><a href="#320">320</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'fingerprint'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$fingerprint</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="321"></a><a href="#321">321</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="322"></a><a href="#322">322</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="7 tests cover line 323" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="323"></a><a href="#323">323</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="324"></a><a href="#324">324</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="325"></a><a href="#325">325</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="326"></a><a href="#326">326</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="327"></a><a href="#327">327</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="328"></a><a href="#328">328</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Control&nbsp;fingerprint&nbsp;between&nbsp;two&nbsp;resources</span></td></tr>
+     <tr><td><div align="right"><a name="329"></a><a href="#329">329</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;&nbsp;string&nbsp;$pathInit&nbsp;path&nbsp;of&nbsp;the&nbsp;resource&nbsp;1</span></td></tr>
+     <tr><td><div align="right"><a name="330"></a><a href="#330">330</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;&nbsp;string&nbsp;$pathTarget&nbsp;path&nbsp;of&nbsp;the&nbsp;resource&nbsp;2</span></td></tr>
+     <tr><td><div align="right"><a name="331"></a><a href="#331">331</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;&nbsp;string&nbsp;$fingerprintMode&nbsp;(md5,&nbsp;sha512,&nbsp;...)</span></td></tr>
+     <tr><td><div align="right"><a name="332"></a><a href="#332">332</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;&nbsp;array&nbsp;ok&nbsp;or&nbsp;ko&nbsp;with&nbsp;error</span></td></tr>
+     <tr><td><div align="right"><a name="333"></a><a href="#333">333</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span></td></tr>
+     <tr><td><div align="right"><a name="334"></a><a href="#334">334</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">controlFingerprint</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="335"></a><a href="#335">335</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="7 tests cover line 336" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="336"></a><a href="#336">336</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'pathInit'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="337"></a><a href="#337">337</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="338"></a><a href="#338">338</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'pathInit&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="339"></a><a href="#339">339</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="340"></a><a href="#340">340</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="341"></a><a href="#341">341</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="342"></a><a href="#342">342</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="343"></a><a href="#343">343</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="7 tests cover line 344" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="344"></a><a href="#344">344</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">file_exists</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'pathInit'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="345"></a><a href="#345">345</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="346"></a><a href="#346">346</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'pathInit&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NOT_EXISTS</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="347"></a><a href="#347">347</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="348"></a><a href="#348">348</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="349"></a><a href="#349">349</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="350"></a><a href="#350">350</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="351"></a><a href="#351">351</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="7 tests cover line 352" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="352"></a><a href="#352">352</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'pathTarget'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="353"></a><a href="#353">353</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="354"></a><a href="#354">354</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'pathTarget&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="355"></a><a href="#355">355</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="356"></a><a href="#356">356</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="357"></a><a href="#357">357</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="358"></a><a href="#358">358</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="359"></a><a href="#359">359</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="7 tests cover line 360" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="360"></a><a href="#360">360</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">file_exists</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'pathTarget'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="361"></a><a href="#361">361</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="362"></a><a href="#362">362</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'pathTarget&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NOT_EXISTS</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="363"></a><a href="#363">363</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="364"></a><a href="#364">364</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="365"></a><a href="#365">365</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="366"></a><a href="#366">366</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="367"></a><a href="#367">367</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="368"></a><a href="#368">368</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgsSrc</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="7 tests cover line 369" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="369"></a><a href="#369">369</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'path'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'pathInit'</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="7 tests cover line 370" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="370"></a><a href="#370">370</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'fingerprintMode'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'fingerprintMode'</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="371"></a><a href="#371">371</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="372"></a><a href="#372">372</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="373"></a><a href="#373">373</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgsTarget</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="7 tests cover line 374" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="374"></a><a href="#374">374</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'path'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'pathTarget'</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="7 tests cover line 375" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="375"></a><a href="#375">375</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'fingerprintMode'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'fingerprintMode'</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="376"></a><a href="#376">376</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="377"></a><a href="#377">377</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="7 tests cover line 378" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="378"></a><a href="#378">378</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">doFingerprint</span><span class="keyword">(</span><span class="default">$aArgsSrc</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">&lt;&gt;</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">doFingerprint</span><span class="keyword">(</span><span class="default">$aArgsTarget</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="379"></a><a href="#379">379</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="380"></a><a href="#380">380</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">PB_WITH_FINGERPRINT_OF_DOCUMENT</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'pathInit'</span><span class="keyword">]</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="381"></a><a href="#381">381</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_AND</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'pathTarget'</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="382"></a><a href="#382">382</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="383"></a><a href="#383">383</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="384"></a><a href="#384">384</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="7 tests cover line 385" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="385"></a><a href="#385">385</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'controlFingerprint'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">true</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="386"></a><a href="#386">386</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="387"></a><a href="#387">387</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="388"></a><a href="#388">388</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="7 tests cover line 389" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="389"></a><a href="#389">389</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="390"></a><a href="#390">390</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="391"></a><a href="#391">391</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="392"></a><a href="#392">392</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="393"></a><a href="#393">393</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;del&nbsp;tmp&nbsp;files</span></td></tr>
+     <tr><td><div align="right"><a name="394"></a><a href="#394">394</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;&nbsp;$path&nbsp;dir&nbsp;to&nbsp;wash</span></td></tr>
+     <tr><td><div align="right"><a name="395"></a><a href="#395">395</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;&nbsp;$contentOnly&nbsp;boolean&nbsp;true&nbsp;if&nbsp;only&nbsp;the&nbsp;content</span></td></tr>
+     <tr><td><div align="right"><a name="396"></a><a href="#396">396</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;&nbsp;boolean</span></td></tr>
+     <tr><td><div align="right"><a name="397"></a><a href="#397">397</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span></td></tr>
+     <tr><td><div align="right"><a name="398"></a><a href="#398">398</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">washTmp</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="399"></a><a href="#399">399</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 400" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testWashTmp&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="400"></a><a href="#400">400</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'path'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="401"></a><a href="#401">401</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="402"></a><a href="#402">402</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'path&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="403"></a><a href="#403">403</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="404"></a><a href="#404">404</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="405"></a><a href="#405">405</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="406"></a><a href="#406">406</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="407"></a><a href="#407">407</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 408" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testWashTmp&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="408"></a><a href="#408">408</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">is_dir</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'path'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="409"></a><a href="#409">409</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="410"></a><a href="#410">410</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'path&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NOT_EXISTS</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="411"></a><a href="#411">411</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="412"></a><a href="#412">412</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="413"></a><a href="#413">413</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="414"></a><a href="#414">414</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="415"></a><a href="#415">415</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 416" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testWashTmp&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="416"></a><a href="#416">416</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">is_bool</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'contentOnly'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="417"></a><a href="#417">417</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="418"></a><a href="#418">418</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'contentOnly&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NOT</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_VALID</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="419"></a><a href="#419">419</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="420"></a><a href="#420">420</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="421"></a><a href="#421">421</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="422"></a><a href="#422">422</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="423"></a><a href="#423">423</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 424" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testWashTmp&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="424"></a><a href="#424">424</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$objects</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">scandir</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'path'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 425" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testWashTmp&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="425"></a><a href="#425">425</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">foreach</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$objects</span><span class="default">&nbsp;</span><span class="keyword">as</span><span class="default">&nbsp;</span><span class="default">$object</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 426" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testWashTmp&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="426"></a><a href="#426">426</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$object</span><span class="default">&nbsp;</span><span class="default">!=</span><span class="default">&nbsp;</span><span class="default">'.'</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span><span class="default">&nbsp;</span><span class="default">$object</span><span class="default">&nbsp;</span><span class="default">!=</span><span class="default">&nbsp;</span><span class="default">'..'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 427" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testWashTmp&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="427"></a><a href="#427">427</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">filetype</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'path'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">DIRECTORY_SEPARATOR</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$object</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">'dir'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="428"></a><a href="#428">428</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">washTmp</span><span class="keyword">(</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="429"></a><a href="#429">429</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span><span class="default">'path'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'path'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">DIRECTORY_SEPARATOR</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$object</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="430"></a><a href="#430">430</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="431"></a><a href="#431">431</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 432" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testWashTmp&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="432"></a><a href="#432">432</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">unlink</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'path'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">DIRECTORY_SEPARATOR</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$object</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="433"></a><a href="#433">433</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="434"></a><a href="#434">434</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="435"></a><a href="#435">435</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="436"></a><a href="#436">436</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 437" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testWashTmp&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="437"></a><a href="#437">437</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">reset</span><span class="keyword">(</span><span class="default">$objects</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="438"></a><a href="#438">438</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 439" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testWashTmp&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="439"></a><a href="#439">439</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'contentOnly'</span><span class="keyword">]</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 440" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testWashTmp&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="440"></a><a href="#440">440</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">rmdir</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'path'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="441"></a><a href="#441">441</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="442"></a><a href="#442">442</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="443"></a><a href="#443">443</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 444" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testWashTmp&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="444"></a><a href="#444">444</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'washTmp'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">true</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="445"></a><a href="#445">445</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="446"></a><a href="#446">446</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 447" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testWashTmp&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="447"></a><a href="#447">447</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="448"></a><a href="#448">448</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="449"></a><a href="#449">449</a></div></td><td class="codeLine"><span class="keyword">}</span></td></tr>
+
+    </tbody>
+   </table>
+   <footer>
+    <hr/>
+    <h4>Legend</h4>
+    <p>
+     <span class="success"><strong>Executed</strong></span>
+     <span class="danger"><strong>Not Executed</strong></span>
+     <span class="warning"><strong>Dead Code</strong></span>
+    </p>
+    <p>
+     <small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 3.2.1</a> using <a href="http://php.net/" target="_top">PHP 7.0.16-4+deb.sury.org~xenial+1</a> and <a href="https://phpunit.de/">PHPUnit 5.1.3</a> at Tue Mar 14 18:22:56 CET 2017.</small>
+    </p>
+    <a title="Back to the top" id="toplink" href="#"><span class="glyphicon glyphicon-arrow-up"></span></a>
+   </footer>
+  </div>
+  <script src="../js/jquery.min.js" type="text/javascript"></script>
+  <script src="../js/bootstrap.min.js" type="text/javascript"></script>
+  <script src="../js/holder.min.js" type="text/javascript"></script>
+  <script type="text/javascript">
+  $(function() {
+   var $window   = $(window)
+     , $top_link = $('#toplink')
+     , $body     = $('body, html')
+     , offset    = $('#code').offset().top;
+
+   $top_link.hide().click(function(event) {
+    event.preventDefault();
+    $body.animate({scrollTop:0}, 800);
+   });
+
+   $window.scroll(function() {
+    if($window.scrollTop() > offset) {
+     $top_link.fadeIn();
+    } else {
+     $top_link.fadeOut();
+    }
+   }).scroll();
+
+   $('.popin').popover({trigger: 'hover'});
+  });
+  </script>
+ </body>
+</html>
diff --git a/core/Test/build/Controllers/DocserverTypeController.php.html b/core/Test/build/Controllers/DocserverTypeController.php.html
new file mode 100644
index 0000000000000000000000000000000000000000..5b28fad904ceafbd5a9ee0d6d8660e9c41e0976e
--- /dev/null
+++ b/core/Test/build/Controllers/DocserverTypeController.php.html
@@ -0,0 +1,529 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+  <meta charset="UTF-8">
+  <title>Code Coverage for /var/www/html/MaarchCourrier/core/Controllers/DocserverTypeController.php</title>
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <link href="../css/bootstrap.min.css" rel="stylesheet">
+  <link href="../css/style.css" rel="stylesheet">
+  <!--[if lt IE 9]>
+  <script src="../js/html5shiv.min.js"></script>
+  <script src="../js/respond.min.js"></script>
+  <![endif]-->
+ </head>
+ <body>
+  <header>
+   <div class="container">
+    <div class="row">
+     <div class="col-md-12">
+      <ol class="breadcrumb">
+        <li><a href="../index.html">/var/www/html/MaarchCourrier/core</a></li>
+        <li><a href="index.html">Controllers</a></li>
+        <li class="active">DocserverTypeController.php</li>
+
+      </ol>
+     </div>
+    </div>
+   </div>
+  </header>
+  <div class="container">
+   <table class="table table-bordered">
+    <thead>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td>
+     </tr>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td>
+      <td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td>
+      <td colspan="3"><div align="center"><strong>Lines</strong></div></td>
+     </tr>
+    </thead>
+    <tbody>
+     <tr>
+      <td class="danger">Total</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="16.67" aria-valuemin="0" aria-valuemax="100" style="width: 16.67%">
+           <span class="sr-only">16.67% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">16.67%</div></td>
+      <td class="danger small"><div align="right">1&nbsp;/&nbsp;6</div></td>
+      <td class="danger small"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="8.26" aria-valuemin="0" aria-valuemax="100" style="width: 8.26%">
+           <span class="sr-only">8.26% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">8.26%</div></td>
+      <td class="danger small"><div align="right">9&nbsp;/&nbsp;109</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger">DocserverTypeController</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="16.67" aria-valuemin="0" aria-valuemax="100" style="width: 16.67%">
+           <span class="sr-only">16.67% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">16.67%</div></td>
+      <td class="danger small"><div align="right">1&nbsp;/&nbsp;6</div></td>
+      <td class="danger small">1036.75</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="8.26" aria-valuemin="0" aria-valuemax="100" style="width: 8.26%">
+           <span class="sr-only">8.26% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">8.26%</div></td>
+      <td class="danger small"><div align="right">9&nbsp;/&nbsp;109</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#25"><abbr title="getList(RequestInterface $request, ResponseInterface $response)">getList</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">3&nbsp;/&nbsp;3</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#38"><abbr title="getById(RequestInterface $request, ResponseInterface $response, $aArgs)">getById</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">2.06</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="75.00" aria-valuemin="0" aria-valuemax="100" style="width: 75.00%">
+           <span class="sr-only">75.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">75.00%</div></td>
+      <td class="success small"><div align="right">6&nbsp;/&nbsp;8</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#60"><abbr title="create(RequestInterface $request, ResponseInterface $response, $aArgs)">create</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">12</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;15</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#96"><abbr title="update(RequestInterface $request, ResponseInterface $response, $aArgs)">update</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">12</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;15</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#132"><abbr title="delete(RequestInterface $request, ResponseInterface $response, $aArgs)">delete</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">6</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;8</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#154"><abbr title="control($request, $mode)">control</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">650</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;60</div></td>
+     </tr>
+
+
+    </tbody>
+   </table>
+   <table id="code" class="table table-borderless table-condensed">
+    <tbody>
+     <tr><td><div align="right"><a name="1"></a><a href="#1">1</a></div></td><td class="codeLine"><span class="default">&lt;?php</span></td></tr>
+     <tr><td><div align="right"><a name="2"></a><a href="#2">2</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="3"></a><a href="#3">3</a></div></td><td class="codeLine"><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="4"></a><a href="#4">4</a></div></td><td class="codeLine"><span class="comment">*&nbsp;Copyright&nbsp;Maarch&nbsp;since&nbsp;2008&nbsp;under&nbsp;licence&nbsp;GPLv3.</span></td></tr>
+     <tr><td><div align="right"><a name="5"></a><a href="#5">5</a></div></td><td class="codeLine"><span class="comment">*&nbsp;See&nbsp;LICENCE.txt&nbsp;file&nbsp;at&nbsp;the&nbsp;root&nbsp;folder&nbsp;for&nbsp;more&nbsp;details.</span></td></tr>
+     <tr><td><div align="right"><a name="6"></a><a href="#6">6</a></div></td><td class="codeLine"><span class="comment">*&nbsp;This&nbsp;file&nbsp;is&nbsp;part&nbsp;of&nbsp;Maarch&nbsp;software.</span></td></tr>
+     <tr><td><div align="right"><a name="7"></a><a href="#7">7</a></div></td><td class="codeLine"><span class="comment">*</span></td></tr>
+     <tr><td><div align="right"><a name="8"></a><a href="#8">8</a></div></td><td class="codeLine"><span class="comment">*/</span></td></tr>
+     <tr><td><div align="right"><a name="9"></a><a href="#9">9</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="10"></a><a href="#10">10</a></div></td><td class="codeLine"><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="11"></a><a href="#11">11</a></div></td><td class="codeLine"><span class="comment">*&nbsp;@brief&nbsp;DocerverType&nbsp;Controller</span></td></tr>
+     <tr><td><div align="right"><a name="12"></a><a href="#12">12</a></div></td><td class="codeLine"><span class="comment">*&nbsp;@author&nbsp;dev@maarch.org</span></td></tr>
+     <tr><td><div align="right"><a name="13"></a><a href="#13">13</a></div></td><td class="codeLine"><span class="comment">*&nbsp;@ingroup&nbsp;core</span></td></tr>
+     <tr><td><div align="right"><a name="14"></a><a href="#14">14</a></div></td><td class="codeLine"><span class="comment">*/</span></td></tr>
+     <tr><td><div align="right"><a name="15"></a><a href="#15">15</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="16"></a><a href="#16">16</a></div></td><td class="codeLine"><span class="keyword">namespace</span><span class="default">&nbsp;</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="17"></a><a href="#17">17</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="18"></a><a href="#18">18</a></div></td><td class="codeLine"><span class="keyword">use</span><span class="default">&nbsp;</span><span class="default">Psr</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Message</span><span class="default">\</span><span class="default">RequestInterface</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="19"></a><a href="#19">19</a></div></td><td class="codeLine"><span class="keyword">use</span><span class="default">&nbsp;</span><span class="default">Psr</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Message</span><span class="default">\</span><span class="default">ResponseInterface</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="20"></a><a href="#20">20</a></div></td><td class="codeLine"><span class="keyword">use</span><span class="default">&nbsp;</span><span class="default">Respect</span><span class="default">\</span><span class="default">Validation</span><span class="default">\</span><span class="default">Validator</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="21"></a><a href="#21">21</a></div></td><td class="codeLine"><span class="keyword">use</span><span class="default">&nbsp;</span><span class="default">Core</span><span class="default">\</span><span class="default">Models</span><span class="default">\</span><span class="default">DocserverTypeModel</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="22"></a><a href="#22">22</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="23"></a><a href="#23">23</a></div></td><td class="codeLine"><span class="keyword">class</span><span class="default">&nbsp;</span><span class="default">DocserverTypeController</span></td></tr>
+     <tr><td><div align="right"><a name="24"></a><a href="#24">24</a></div></td><td class="codeLine"><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="25"></a><a href="#25">25</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">getList</span><span class="keyword">(</span><span class="default">RequestInterface</span><span class="default">&nbsp;</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">ResponseInterface</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="26"></a><a href="#26">26</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 27" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="27"></a><a href="#27">27</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">DocserverTypeModel</span><span class="default">::</span><span class="default">getList</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="28"></a><a href="#28">28</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="29"></a><a href="#29">29</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr><td><div align="right"><a name="30"></a><a href="#30">30</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 31" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="31"></a><a href="#31">31</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'DocserverType'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$obj</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="32"></a><a href="#32">32</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="33"></a><a href="#33">33</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="34"></a><a href="#34">34</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 35" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="35"></a><a href="#35">35</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="default">$datas</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="36"></a><a href="#36">36</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="37"></a><a href="#37">37</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="38"></a><a href="#38">38</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">getById</span><span class="keyword">(</span><span class="default">RequestInterface</span><span class="default">&nbsp;</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">ResponseInterface</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="39"></a><a href="#39">39</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 40" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="40"></a><a href="#40">40</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">isset</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'id'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 41" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="41"></a><a href="#41">41</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$id</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'id'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 42" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="42"></a><a href="#42">42</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">DocserverTypeModel</span><span class="default">::</span><span class="default">getById</span><span class="keyword">(</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 43" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="43"></a><a href="#43">43</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$id</span></td></tr>
+     <tr><td><div align="right"><a name="44"></a><a href="#44">44</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="45"></a><a href="#45">45</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="46"></a><a href="#46">46</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="47"></a><a href="#47">47</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withStatus</span><span class="keyword">(</span><span class="default">500</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="48"></a><a href="#48">48</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">_ID</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_IS_EMPTY</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="49"></a><a href="#49">49</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="50"></a><a href="#50">50</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="51"></a><a href="#51">51</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr><td><div align="right"><a name="52"></a><a href="#52">52</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 53" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="53"></a><a href="#53">53</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'DocserverType'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$obj</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="54"></a><a href="#54">54</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="55"></a><a href="#55">55</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="56"></a><a href="#56">56</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 57" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="57"></a><a href="#57">57</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="default">$datas</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="58"></a><a href="#58">58</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="59"></a><a href="#59">59</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="60"></a><a href="#60">60</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">create</span><span class="keyword">(</span><span class="default">RequestInterface</span><span class="default">&nbsp;</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">ResponseInterface</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="61"></a><a href="#61">61</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="62"></a><a href="#62">62</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$errors</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="63"></a><a href="#63">63</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="64"></a><a href="#64">64</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$errors</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">control</span><span class="keyword">(</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'create'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="65"></a><a href="#65">65</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="66"></a><a href="#66">66</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$errors</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="67"></a><a href="#67">67</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="68"></a><a href="#68">68</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withStatus</span><span class="keyword">(</span><span class="default">500</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="69"></a><a href="#69">69</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$errors</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="70"></a><a href="#70">70</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="71"></a><a href="#71">71</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="72"></a><a href="#72">72</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getQueryParams</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="73"></a><a href="#73">73</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="74"></a><a href="#74">74</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$return</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">DocserverTypeModel</span><span class="default">::</span><span class="default">create</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="75"></a><a href="#75">75</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="76"></a><a href="#76">76</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$return</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="77"></a><a href="#77">77</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$id</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'id'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="78"></a><a href="#78">78</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">DocserverTypeModel</span><span class="default">::</span><span class="default">getById</span><span class="keyword">(</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="79"></a><a href="#79">79</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$id</span></td></tr>
+     <tr><td><div align="right"><a name="80"></a><a href="#80">80</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="81"></a><a href="#81">81</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="82"></a><a href="#82">82</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="83"></a><a href="#83">83</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withStatus</span><span class="keyword">(</span><span class="default">500</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="84"></a><a href="#84">84</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">_NOT_CREATE</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="85"></a><a href="#85">85</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="86"></a><a href="#86">86</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="87"></a><a href="#87">87</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr><td><div align="right"><a name="88"></a><a href="#88">88</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="89"></a><a href="#89">89</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'DocserverType'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$obj</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="90"></a><a href="#90">90</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="91"></a><a href="#91">91</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="92"></a><a href="#92">92</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="93"></a><a href="#93">93</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="default">$datas</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="94"></a><a href="#94">94</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="95"></a><a href="#95">95</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="96"></a><a href="#96">96</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">update</span><span class="keyword">(</span><span class="default">RequestInterface</span><span class="default">&nbsp;</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">ResponseInterface</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="97"></a><a href="#97">97</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="98"></a><a href="#98">98</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$errors</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="99"></a><a href="#99">99</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="100"></a><a href="#100">100</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$errors</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">control</span><span class="keyword">(</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'update'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="101"></a><a href="#101">101</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="102"></a><a href="#102">102</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$errors</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="103"></a><a href="#103">103</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="104"></a><a href="#104">104</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withStatus</span><span class="keyword">(</span><span class="default">500</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="105"></a><a href="#105">105</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$errors</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="106"></a><a href="#106">106</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="107"></a><a href="#107">107</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="108"></a><a href="#108">108</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getQueryParams</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="109"></a><a href="#109">109</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="110"></a><a href="#110">110</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$return</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">DocserverTypeModel</span><span class="default">::</span><span class="default">update</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="111"></a><a href="#111">111</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="112"></a><a href="#112">112</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$return</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="113"></a><a href="#113">113</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$id</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'id'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="114"></a><a href="#114">114</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">DocserverTypeModel</span><span class="default">::</span><span class="default">getById</span><span class="keyword">(</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="115"></a><a href="#115">115</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$id</span></td></tr>
+     <tr><td><div align="right"><a name="116"></a><a href="#116">116</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="117"></a><a href="#117">117</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="118"></a><a href="#118">118</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="119"></a><a href="#119">119</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withStatus</span><span class="keyword">(</span><span class="default">500</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="120"></a><a href="#120">120</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">_NOT_UPDATE</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="121"></a><a href="#121">121</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="122"></a><a href="#122">122</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="123"></a><a href="#123">123</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr><td><div align="right"><a name="124"></a><a href="#124">124</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="125"></a><a href="#125">125</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'DocserverType'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$obj</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="126"></a><a href="#126">126</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="127"></a><a href="#127">127</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="128"></a><a href="#128">128</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="129"></a><a href="#129">129</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="default">$datas</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="130"></a><a href="#130">130</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="131"></a><a href="#131">131</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="132"></a><a href="#132">132</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">delete</span><span class="keyword">(</span><span class="default">RequestInterface</span><span class="default">&nbsp;</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">ResponseInterface</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="133"></a><a href="#133">133</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="134"></a><a href="#134">134</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">isset</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'id'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="135"></a><a href="#135">135</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$id</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'id'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="136"></a><a href="#136">136</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">DocserverTypeModel</span><span class="default">::</span><span class="default">delete</span><span class="keyword">(</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="137"></a><a href="#137">137</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$id</span></td></tr>
+     <tr><td><div align="right"><a name="138"></a><a href="#138">138</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="139"></a><a href="#139">139</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="140"></a><a href="#140">140</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="141"></a><a href="#141">141</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withStatus</span><span class="keyword">(</span><span class="default">500</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="142"></a><a href="#142">142</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">_NOT_DELETE</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="143"></a><a href="#143">143</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="144"></a><a href="#144">144</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="145"></a><a href="#145">145</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr><td><div align="right"><a name="146"></a><a href="#146">146</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="147"></a><a href="#147">147</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'DocserverType'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$obj</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="148"></a><a href="#148">148</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="149"></a><a href="#149">149</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="150"></a><a href="#150">150</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="151"></a><a href="#151">151</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="default">$datas</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="152"></a><a href="#152">152</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="153"></a><a href="#153">153</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="154"></a><a href="#154">154</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">protected</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">control</span><span class="keyword">(</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$mode</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="155"></a><a href="#155">155</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="156"></a><a href="#156">156</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$errors</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="157"></a><a href="#157">157</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="158"></a><a href="#158">158</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$mode</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">'update'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="159"></a><a href="#159">159</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">DocserverTypeModel</span><span class="default">::</span><span class="default">getById</span><span class="keyword">(</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="160"></a><a href="#160">160</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'id'</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="161"></a><a href="#161">161</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="162"></a><a href="#162">162</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$obj</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="163"></a><a href="#163">163</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="164"></a><a href="#164">164</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$errors</span><span class="keyword">,</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="165"></a><a href="#165">165</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">_ID</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'id'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NOT_EXISTS</span></td></tr>
+     <tr><td><div align="right"><a name="166"></a><a href="#166">166</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="167"></a><a href="#167">167</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="168"></a><a href="#168">168</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="169"></a><a href="#169">169</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="170"></a><a href="#170">170</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">notEmpty</span><span class="keyword">(</span><span class="keyword">)</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'id'</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="171"></a><a href="#171">171</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span><span class="default">$errors</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">_ID</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_IS_EMPTY</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="172"></a><a href="#172">172</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">elseif</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$mode</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">'create'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="173"></a><a href="#173">173</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">DocserverTypeModel</span><span class="default">::</span><span class="default">getById</span><span class="keyword">(</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="174"></a><a href="#174">174</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'id'</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="175"></a><a href="#175">175</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="176"></a><a href="#176">176</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$obj</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="177"></a><a href="#177">177</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="178"></a><a href="#178">178</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$errors</span><span class="keyword">,</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="179"></a><a href="#179">179</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">_ID</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$obj</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'id'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_ALREADY_EXISTS</span></td></tr>
+     <tr><td><div align="right"><a name="180"></a><a href="#180">180</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="181"></a><a href="#181">181</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="182"></a><a href="#182">182</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="183"></a><a href="#183">183</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="184"></a><a href="#184">184</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">regex</span><span class="keyword">(</span><span class="default">'/^[\w.-]*$/'</span><span class="keyword">)</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'id'</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="185"></a><a href="#185">185</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span><span class="default">$errors</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">_ID</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NOT</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_VALID</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="186"></a><a href="#186">186</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="187"></a><a href="#187">187</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="188"></a><a href="#188">188</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">notEmpty</span><span class="keyword">(</span><span class="keyword">)</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'label_status'</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="189"></a><a href="#189">189</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span><span class="default">$errors</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">_LABEL_STATUS</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_IS_EMPTY</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="190"></a><a href="#190">190</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="191"></a><a href="#191">191</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="192"></a><a href="#192">192</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">Validator</span><span class="default">::</span><span class="default">notEmpty</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="193"></a><a href="#193">193</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'is_system'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="194"></a><a href="#194">194</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">contains</span><span class="keyword">(</span><span class="default">'Y'</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="195"></a><a href="#195">195</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'is_system'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="196"></a><a href="#196">196</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">contains</span><span class="keyword">(</span><span class="default">'N'</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="197"></a><a href="#197">197</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'is_system'</span><span class="keyword">)</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="198"></a><a href="#198">198</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="199"></a><a href="#199">199</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span><span class="default">$errors</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">_IS_SYSTEM</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NOT</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_VALID</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="200"></a><a href="#200">200</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="201"></a><a href="#201">201</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="202"></a><a href="#202">202</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">Validator</span><span class="default">::</span><span class="default">notEmpty</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="203"></a><a href="#203">203</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'is_folder_status'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="204"></a><a href="#204">204</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">contains</span><span class="keyword">(</span><span class="default">'Y'</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="205"></a><a href="#205">205</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'is_folder_status'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="206"></a><a href="#206">206</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">contains</span><span class="keyword">(</span><span class="default">'N'</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="207"></a><a href="#207">207</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'is_folder_status'</span><span class="keyword">)</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="208"></a><a href="#208">208</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="209"></a><a href="#209">209</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span><span class="default">$errors</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">_IS_FOLDER_STATUS</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NOT</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_VALID</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="210"></a><a href="#210">210</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="211"></a><a href="#211">211</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="212"></a><a href="#212">212</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">Validator</span><span class="default">::</span><span class="default">notEmpty</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="213"></a><a href="#213">213</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'img_filename'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="214"></a><a href="#214">214</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">regex</span><span class="keyword">(</span><span class="default">'/^[\w-.]+$/'</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="215"></a><a href="#215">215</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'img_filename'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">||</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="216"></a><a href="#216">216</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">length</span><span class="keyword">(</span><span class="default">null</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">255</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="217"></a><a href="#217">217</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'img_filename'</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="218"></a><a href="#218">218</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="219"></a><a href="#219">219</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span><span class="default">$errors</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">_IMG_FILENAME</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NOT</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_VALID</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="220"></a><a href="#220">220</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="221"></a><a href="#221">221</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="222"></a><a href="#222">222</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">Validator</span><span class="default">::</span><span class="default">notEmpty</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="223"></a><a href="#223">223</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'maarch_module'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="224"></a><a href="#224">224</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">length</span><span class="keyword">(</span><span class="default">null</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">255</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="225"></a><a href="#225">225</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'maarch_module'</span><span class="keyword">)</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="226"></a><a href="#226">226</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="227"></a><a href="#227">227</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span><span class="default">$errors</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">_MAARCH_MODULE</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NOT</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_VALID</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="228"></a><a href="#228">228</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="229"></a><a href="#229">229</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="230"></a><a href="#230">230</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">Validator</span><span class="default">::</span><span class="default">notEmpty</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="231"></a><a href="#231">231</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'can_be_searched'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="232"></a><a href="#232">232</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">contains</span><span class="keyword">(</span><span class="default">'Y'</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="233"></a><a href="#233">233</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'can_be_searched'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="234"></a><a href="#234">234</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">contains</span><span class="keyword">(</span><span class="default">'N'</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="235"></a><a href="#235">235</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'can_be_searched'</span><span class="keyword">)</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="236"></a><a href="#236">236</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="237"></a><a href="#237">237</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span><span class="default">$errors</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">_CAN_BE_SEARCHED</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NOT</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_VALID</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="238"></a><a href="#238">238</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="239"></a><a href="#239">239</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="240"></a><a href="#240">240</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">Validator</span><span class="default">::</span><span class="default">notEmpty</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="241"></a><a href="#241">241</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'can_be_modified'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="242"></a><a href="#242">242</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">contains</span><span class="keyword">(</span><span class="default">'Y'</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="243"></a><a href="#243">243</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'can_be_modified'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="244"></a><a href="#244">244</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">contains</span><span class="keyword">(</span><span class="default">'N'</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="245"></a><a href="#245">245</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'can_be_modified'</span><span class="keyword">)</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="246"></a><a href="#246">246</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="247"></a><a href="#247">247</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span><span class="default">$errors</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">_CAN_BE_MODIFIED</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NOT</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_VALID</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="248"></a><a href="#248">248</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="249"></a><a href="#249">249</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="250"></a><a href="#250">250</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$errors</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="251"></a><a href="#251">251</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="252"></a><a href="#252">252</a></div></td><td class="codeLine"><span class="keyword">}</span></td></tr>
+
+    </tbody>
+   </table>
+   <footer>
+    <hr/>
+    <h4>Legend</h4>
+    <p>
+     <span class="success"><strong>Executed</strong></span>
+     <span class="danger"><strong>Not Executed</strong></span>
+     <span class="warning"><strong>Dead Code</strong></span>
+    </p>
+    <p>
+     <small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 3.2.1</a> using <a href="http://php.net/" target="_top">PHP 7.0.16-4+deb.sury.org~xenial+1</a> and <a href="https://phpunit.de/">PHPUnit 5.1.3</a> at Tue Mar 14 18:22:56 CET 2017.</small>
+    </p>
+    <a title="Back to the top" id="toplink" href="#"><span class="glyphicon glyphicon-arrow-up"></span></a>
+   </footer>
+  </div>
+  <script src="../js/jquery.min.js" type="text/javascript"></script>
+  <script src="../js/bootstrap.min.js" type="text/javascript"></script>
+  <script src="../js/holder.min.js" type="text/javascript"></script>
+  <script type="text/javascript">
+  $(function() {
+   var $window   = $(window)
+     , $top_link = $('#toplink')
+     , $body     = $('body, html')
+     , offset    = $('#code').offset().top;
+
+   $top_link.hide().click(function(event) {
+    event.preventDefault();
+    $body.animate({scrollTop:0}, 800);
+   });
+
+   $window.scroll(function() {
+    if($window.scrollTop() > offset) {
+     $top_link.fadeIn();
+    } else {
+     $top_link.fadeOut();
+    }
+   }).scroll();
+
+   $('.popin').popover({trigger: 'hover'});
+  });
+  </script>
+ </body>
+</html>
diff --git a/core/Test/build/Controllers/ResController.php.html b/core/Test/build/Controllers/ResController.php.html
new file mode 100644
index 0000000000000000000000000000000000000000..3173770b0b04c7295c0ca93e8bb50ddd60429a0e
--- /dev/null
+++ b/core/Test/build/Controllers/ResController.php.html
@@ -0,0 +1,1038 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+  <meta charset="UTF-8">
+  <title>Code Coverage for /var/www/html/MaarchCourrier/core/Controllers/ResController.php</title>
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <link href="../css/bootstrap.min.css" rel="stylesheet">
+  <link href="../css/style.css" rel="stylesheet">
+  <!--[if lt IE 9]>
+  <script src="../js/html5shiv.min.js"></script>
+  <script src="../js/respond.min.js"></script>
+  <![endif]-->
+ </head>
+ <body>
+  <header>
+   <div class="container">
+    <div class="row">
+     <div class="col-md-12">
+      <ol class="breadcrumb">
+        <li><a href="../index.html">/var/www/html/MaarchCourrier/core</a></li>
+        <li><a href="index.html">Controllers</a></li>
+        <li class="active">ResController.php</li>
+
+      </ol>
+     </div>
+    </div>
+   </div>
+  </header>
+  <div class="container">
+   <table class="table table-bordered">
+    <thead>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td>
+     </tr>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td>
+      <td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td>
+      <td colspan="3"><div align="center"><strong>Lines</strong></div></td>
+     </tr>
+    </thead>
+    <tbody>
+     <tr>
+      <td class="danger">Total</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;8</div></td>
+      <td class="danger small"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="77.18" aria-valuemin="0" aria-valuemax="100" style="width: 77.18%">
+           <span class="sr-only">77.18% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">77.18%</div></td>
+      <td class="success small"><div align="right">274&nbsp;/&nbsp;355</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger">ResController</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;8</div></td>
+      <td class="danger small">216.41</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="77.12" aria-valuemin="0" aria-valuemax="100" style="width: 77.12%">
+           <span class="sr-only">77.12% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">77.12%</div></td>
+      <td class="success small"><div align="right">273&nbsp;/&nbsp;354</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#33"><abbr title="create(RequestInterface $request, ResponseInterface $response, $aArgs)">create</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">4.46</td>
+      <td class="warning big">       <div class="progress">
+         <div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="45.45" aria-valuemin="0" aria-valuemax="100" style="width: 45.45%">
+           <span class="sr-only">45.45% covered (warning)</span>
+         </div>
+       </div>
+</td>
+      <td class="warning small"><div align="right">45.45%</div></td>
+      <td class="warning small"><div align="right">5&nbsp;/&nbsp;11</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#56"><abbr title="delete(RequestInterface $request, ResponseInterface $response, $aArgs)">delete</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">3.24</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="70.00" aria-valuemin="0" aria-valuemax="100" style="width: 70.00%">
+           <span class="sr-only">70.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">70.00%</div></td>
+      <td class="success small"><div align="right">7&nbsp;/&nbsp;10</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#86"><abbr title="deleteRes($aArgs)">deleteRes</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">2.02</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="83.33" aria-valuemin="0" aria-valuemax="100" style="width: 83.33%">
+           <span class="sr-only">83.33% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">83.33%</div></td>
+      <td class="success small"><div align="right">5&nbsp;/&nbsp;6</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#111"><abbr title="storeResource($aArgs)">storeResource</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">12.67</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="83.33" aria-valuemin="0" aria-valuemax="100" style="width: 83.33%">
+           <span class="sr-only">83.33% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">83.33%</div></td>
+      <td class="success small"><div align="right">55&nbsp;/&nbsp;66</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#238"><abbr title="loadIntoDb($aArgs)">loadIntoDb</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">9.11</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="89.06" aria-valuemin="0" aria-valuemax="100" style="width: 89.06%">
+           <span class="sr-only">89.06% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">89.06%</div></td>
+      <td class="success small"><div align="right">57&nbsp;/&nbsp;64</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#361"><abbr title="checkBasicFields($data)">checkBasicFields</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">33.69</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="84.00" aria-valuemin="0" aria-valuemax="100" style="width: 84.00%">
+           <span class="sr-only">84.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">84.00%</div></td>
+      <td class="success small"><div align="right">63&nbsp;/&nbsp;75</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#476"><abbr title="prepareStorage($aArgs)">prepareStorage</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">50.76</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="73.64" aria-valuemin="0" aria-valuemax="100" style="width: 73.64%">
+           <span class="sr-only">73.64% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">73.64%</div></td>
+      <td class="success small"><div align="right">81&nbsp;/&nbsp;110</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#696"><abbr title="object2array($object)">object2array</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">72</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;12</div></td>
+     </tr>
+
+
+    </tbody>
+   </table>
+   <table id="code" class="table table-borderless table-condensed">
+    <tbody>
+     <tr><td><div align="right"><a name="1"></a><a href="#1">1</a></div></td><td class="codeLine"><span class="default">&lt;?php</span></td></tr>
+     <tr><td><div align="right"><a name="2"></a><a href="#2">2</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="3"></a><a href="#3">3</a></div></td><td class="codeLine"><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="4"></a><a href="#4">4</a></div></td><td class="codeLine"><span class="comment">*&nbsp;Copyright&nbsp;Maarch&nbsp;since&nbsp;2008&nbsp;under&nbsp;licence&nbsp;GPLv3.</span></td></tr>
+     <tr><td><div align="right"><a name="5"></a><a href="#5">5</a></div></td><td class="codeLine"><span class="comment">*&nbsp;See&nbsp;LICENCE.txt&nbsp;file&nbsp;at&nbsp;the&nbsp;root&nbsp;folder&nbsp;for&nbsp;more&nbsp;details.</span></td></tr>
+     <tr><td><div align="right"><a name="6"></a><a href="#6">6</a></div></td><td class="codeLine"><span class="comment">*&nbsp;This&nbsp;file&nbsp;is&nbsp;part&nbsp;of&nbsp;Maarch&nbsp;software.</span></td></tr>
+     <tr><td><div align="right"><a name="7"></a><a href="#7">7</a></div></td><td class="codeLine"><span class="comment">*</span></td></tr>
+     <tr><td><div align="right"><a name="8"></a><a href="#8">8</a></div></td><td class="codeLine"><span class="comment">*/</span></td></tr>
+     <tr><td><div align="right"><a name="9"></a><a href="#9">9</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="10"></a><a href="#10">10</a></div></td><td class="codeLine"><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="11"></a><a href="#11">11</a></div></td><td class="codeLine"><span class="comment">*&nbsp;@brief&nbsp;Resource&nbsp;Controller</span></td></tr>
+     <tr><td><div align="right"><a name="12"></a><a href="#12">12</a></div></td><td class="codeLine"><span class="comment">*&nbsp;@author&nbsp;dev@maarch.org</span></td></tr>
+     <tr><td><div align="right"><a name="13"></a><a href="#13">13</a></div></td><td class="codeLine"><span class="comment">*&nbsp;@ingroup&nbsp;core</span></td></tr>
+     <tr><td><div align="right"><a name="14"></a><a href="#14">14</a></div></td><td class="codeLine"><span class="comment">*/</span></td></tr>
+     <tr><td><div align="right"><a name="15"></a><a href="#15">15</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="16"></a><a href="#16">16</a></div></td><td class="codeLine"><span class="keyword">namespace</span><span class="default">&nbsp;</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="17"></a><a href="#17">17</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="18"></a><a href="#18">18</a></div></td><td class="codeLine"><span class="keyword">use</span><span class="default">&nbsp;</span><span class="default">Psr</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Message</span><span class="default">\</span><span class="default">RequestInterface</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="19"></a><a href="#19">19</a></div></td><td class="codeLine"><span class="keyword">use</span><span class="default">&nbsp;</span><span class="default">Psr</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Message</span><span class="default">\</span><span class="default">ResponseInterface</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="20"></a><a href="#20">20</a></div></td><td class="codeLine"><span class="keyword">use</span><span class="default">&nbsp;</span><span class="default">Respect</span><span class="default">\</span><span class="default">Validation</span><span class="default">\</span><span class="default">Validator</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="21"></a><a href="#21">21</a></div></td><td class="codeLine"><span class="keyword">use</span><span class="default">&nbsp;</span><span class="default">Core</span><span class="default">\</span><span class="default">Models</span><span class="default">\</span><span class="default">DocserverModel</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="22"></a><a href="#22">22</a></div></td><td class="codeLine"><span class="keyword">use</span><span class="default">&nbsp;</span><span class="default">Core</span><span class="default">\</span><span class="default">Models</span><span class="default">\</span><span class="default">DocserverTypeModel</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="23"></a><a href="#23">23</a></div></td><td class="codeLine"><span class="keyword">use</span><span class="default">&nbsp;</span><span class="default">Core</span><span class="default">\</span><span class="default">Models</span><span class="default">\</span><span class="default">UserModel</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="24"></a><a href="#24">24</a></div></td><td class="codeLine"><span class="keyword">use</span><span class="default">&nbsp;</span><span class="default">Core</span><span class="default">\</span><span class="default">Models</span><span class="default">\</span><span class="default">ResModel</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="25"></a><a href="#25">25</a></div></td><td class="codeLine"><span class="keyword">use</span><span class="default">&nbsp;</span><span class="default">Entities</span><span class="default">\</span><span class="default">Models</span><span class="default">\</span><span class="default">EntitiesModel</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="26"></a><a href="#26">26</a></div></td><td class="codeLine"><span class="keyword">use</span><span class="default">&nbsp;</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">DocserverController</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="27"></a><a href="#27">27</a></div></td><td class="codeLine"><span class="keyword">use</span><span class="default">&nbsp;</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">DocserverToolsController</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="28"></a><a href="#28">28</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 29" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="29"></a><a href="#29">29</a></div></td><td class="codeLine"><span class="keyword">require_once</span><span class="default">&nbsp;</span><span class="default">'core/class/class_db_pdo.php'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="30"></a><a href="#30">30</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="31"></a><a href="#31">31</a></div></td><td class="codeLine"><span class="keyword">class</span><span class="default">&nbsp;</span><span class="default">ResController</span></td></tr>
+     <tr><td><div align="right"><a name="32"></a><a href="#32">32</a></div></td><td class="codeLine"><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="33"></a><a href="#33">33</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">create</span><span class="keyword">(</span><span class="default">RequestInterface</span><span class="default">&nbsp;</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">ResponseInterface</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="34"></a><a href="#34">34</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 35" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="35"></a><a href="#35">35</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 36" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="36"></a><a href="#36">36</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="37"></a><a href="#37">37</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="38"></a><a href="#38">38</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getQueryParams</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="39"></a><a href="#39">39</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'data'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">json_decode</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'data'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="40"></a><a href="#40">40</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'data'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">object2array</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'data'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="41"></a><a href="#41">41</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="42"></a><a href="#42">42</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 43" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="43"></a><a href="#43">43</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$return</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">storeResource</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="44"></a><a href="#44">44</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 45" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="45"></a><a href="#45">45</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$return</span><span class="keyword">[</span><span class="default">'errors'</span><span class="keyword">]</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="46"></a><a href="#46">46</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="47"></a><a href="#47">47</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withStatus</span><span class="keyword">(</span><span class="default">500</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="48"></a><a href="#48">48</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="49"></a><a href="#49">49</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">_NOT_CREATE</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$return</span><span class="keyword">[</span><span class="default">'errors'</span><span class="keyword">]</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="50"></a><a href="#50">50</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="51"></a><a href="#51">51</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="52"></a><a href="#52">52</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 53" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="53"></a><a href="#53">53</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="default">$return</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="54"></a><a href="#54">54</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="55"></a><a href="#55">55</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="56"></a><a href="#56">56</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">delete</span><span class="keyword">(</span><span class="default">RequestInterface</span><span class="default">&nbsp;</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">ResponseInterface</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="57"></a><a href="#57">57</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 58" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="58"></a><a href="#58">58</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">isset</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'id'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 59" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="59"></a><a href="#59">59</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">deleteRes</span><span class="keyword">(</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 60" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="60"></a><a href="#60">60</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'id'</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="61"></a><a href="#61">61</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 62" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="62"></a><a href="#62">62</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">$obj</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="63"></a><a href="#63">63</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="64"></a><a href="#64">64</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withStatus</span><span class="keyword">(</span><span class="default">500</span><span class="keyword">)</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 65" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="65"></a><a href="#65">65</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">_NOT_DELETE</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="66"></a><a href="#66">66</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="67"></a><a href="#67">67</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="68"></a><a href="#68">68</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="69"></a><a href="#69">69</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withStatus</span><span class="keyword">(</span><span class="default">500</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="70"></a><a href="#70">70</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">_NOT_DELETE</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="71"></a><a href="#71">71</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="72"></a><a href="#72">72</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="73"></a><a href="#73">73</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 74" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="74"></a><a href="#74">74</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="75"></a><a href="#75">75</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="76"></a><a href="#76">76</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 77" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="77"></a><a href="#77">77</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="default">$datas</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="78"></a><a href="#78">78</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="79"></a><a href="#79">79</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="80"></a><a href="#80">80</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="81"></a><a href="#81">81</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Deletes&nbsp;ext&nbsp;resource&nbsp;on&nbsp;database.</span></td></tr>
+     <tr><td><div align="right"><a name="82"></a><a href="#82">82</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;$resId&nbsp;&nbsp;integer</span></td></tr>
+     <tr><td><div align="right"><a name="83"></a><a href="#83">83</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;$table&nbsp;&nbsp;string</span></td></tr>
+     <tr><td><div align="right"><a name="84"></a><a href="#84">84</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;res_id</span></td></tr>
+     <tr><td><div align="right"><a name="85"></a><a href="#85">85</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span></td></tr>
+     <tr><td><div align="right"><a name="86"></a><a href="#86">86</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">deleteRes</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="87"></a><a href="#87">87</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 88" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDelete&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDeleteRes&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="88"></a><a href="#88">88</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">isset</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'id'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 89" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDelete&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDeleteRes&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="89"></a><a href="#89">89</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">ResModel</span><span class="default">::</span><span class="default">delete</span><span class="keyword">(</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 90" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDelete&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDeleteRes&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="90"></a><a href="#90">90</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'id'</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="91"></a><a href="#91">91</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="92"></a><a href="#92">92</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="93"></a><a href="#93">93</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="94"></a><a href="#94">94</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="95"></a><a href="#95">95</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 96" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDelete&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDeleteRes&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="96"></a><a href="#96">96</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$obj</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="97"></a><a href="#97">97</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 98" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDelete&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDeleteRes&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="98"></a><a href="#98">98</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="99"></a><a href="#99">99</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="100"></a><a href="#100">100</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="101"></a><a href="#101">101</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="102"></a><a href="#102">102</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Store&nbsp;resource&nbsp;on&nbsp;database.</span></td></tr>
+     <tr><td><div align="right"><a name="103"></a><a href="#103">103</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;$encodedFile&nbsp;&nbsp;string</span></td></tr>
+     <tr><td><div align="right"><a name="104"></a><a href="#104">104</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;$data&nbsp;array</span></td></tr>
+     <tr><td><div align="right"><a name="105"></a><a href="#105">105</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;$collId&nbsp;&nbsp;string</span></td></tr>
+     <tr><td><div align="right"><a name="106"></a><a href="#106">106</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;$table&nbsp;&nbsp;string</span></td></tr>
+     <tr><td><div align="right"><a name="107"></a><a href="#107">107</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;$fileFormat&nbsp;&nbsp;string</span></td></tr>
+     <tr><td><div align="right"><a name="108"></a><a href="#108">108</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;$status&nbsp;&nbsp;string</span></td></tr>
+     <tr><td><div align="right"><a name="109"></a><a href="#109">109</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;res_id</span></td></tr>
+     <tr><td><div align="right"><a name="110"></a><a href="#110">110</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span></td></tr>
+     <tr><td><div align="right"><a name="111"></a><a href="#111">111</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">storeResource</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="112"></a><a href="#112">112</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 113" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="113"></a><a href="#113">113</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'encodedFile'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="114"></a><a href="#114">114</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'encodedFile&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="115"></a><a href="#115">115</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="116"></a><a href="#116">116</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 117" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="117"></a><a href="#117">117</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'data'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="118"></a><a href="#118">118</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'data&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="119"></a><a href="#119">119</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="120"></a><a href="#120">120</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 121" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="121"></a><a href="#121">121</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'collId'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="122"></a><a href="#122">122</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'collId&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="123"></a><a href="#123">123</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="124"></a><a href="#124">124</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 125" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="125"></a><a href="#125">125</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'table'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="126"></a><a href="#126">126</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'table&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="127"></a><a href="#127">127</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="128"></a><a href="#128">128</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 129" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="129"></a><a href="#129">129</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'fileFormat'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="130"></a><a href="#130">130</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'fileFormat&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="131"></a><a href="#131">131</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="132"></a><a href="#132">132</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 133" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="133"></a><a href="#133">133</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'status'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="134"></a><a href="#134">134</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'status&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="135"></a><a href="#135">135</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 136" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="136"></a><a href="#136">136</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$encodedFile</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'encodedFile'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 137" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="137"></a><a href="#137">137</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'data'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 138" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="138"></a><a href="#138">138</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$collId</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'collId'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 139" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="139"></a><a href="#139">139</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$table</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'table'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 140" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="140"></a><a href="#140">140</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fileFormat</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'fileFormat'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 141" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="141"></a><a href="#141">141</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$status</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'status'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="142"></a><a href="#142">142</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="143"></a><a href="#143">143</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">try</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 144" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="144"></a><a href="#144">144</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$count</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">count</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 145" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="145"></a><a href="#145">145</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">for</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$i</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">0</span><span class="keyword">;</span><span class="default">&nbsp;</span><span class="default">$i</span><span class="default">&nbsp;</span><span class="keyword">&lt;</span><span class="default">&nbsp;</span><span class="default">$count</span><span class="keyword">;</span><span class="default">&nbsp;</span><span class="default">$i</span><span class="default">++</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 146" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="146"></a><a href="#146">146</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'column'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">strtolower</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'column'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="147"></a><a href="#147">147</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="148"></a><a href="#148">148</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 149" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="149"></a><a href="#149">149</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$returnCode</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">0</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="150"></a><a href="#150">150</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//copy&nbsp;sended&nbsp;file&nbsp;on&nbsp;tmp</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 151" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="151"></a><a href="#151">151</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fileContent</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">base64_decode</span><span class="keyword">(</span><span class="default">$encodedFile</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 152" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="152"></a><a href="#152">152</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$random</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">rand</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 153" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="153"></a><a href="#153">153</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fileName</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'tmp_file_'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$random</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'.'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$fileFormat</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 154" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="154"></a><a href="#154">154</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$Fnm</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'config'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'tmppath'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$fileName</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 155" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="155"></a><a href="#155">155</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$inF</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">fopen</span><span class="keyword">(</span><span class="default">$Fnm</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">&quot;w&quot;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 156" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="156"></a><a href="#156">156</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">fwrite</span><span class="keyword">(</span><span class="default">$inF</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$fileContent</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 157" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="157"></a><a href="#157">157</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">fclose</span><span class="keyword">(</span><span class="default">$inF</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="158"></a><a href="#158">158</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="159"></a><a href="#159">159</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//store&nbsp;resource&nbsp;on&nbsp;docserver</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 160" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="160"></a><a href="#160">160</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$ds</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">DocserverController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="161"></a><a href="#161">161</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 162" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="162"></a><a href="#162">162</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'collId'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$collId</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="163"></a><a href="#163">163</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'fileInfos'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span></td></tr>
+     <tr><td><div align="right"><a name="164"></a><a href="#164">164</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 165" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="165"></a><a href="#165">165</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'tmpDir'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'config'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'tmppath'</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 166" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="166"></a><a href="#166">166</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'size'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">filesize</span><span class="keyword">(</span><span class="default">$Fnm</span><span class="keyword">)</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 167" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="167"></a><a href="#167">167</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'format'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$fileFormat</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 168" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="168"></a><a href="#168">168</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'tmpFileName'</span><span class="default">&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$fileName</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="169"></a><a href="#169">169</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="170"></a><a href="#170">170</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="171"></a><a href="#171">171</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 172" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="172"></a><a href="#172">172</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$storeResult</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 173" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="173"></a><a href="#173">173</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$storeResult</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$ds</span><span class="default">-&gt;</span><span class="default">storeResourceOnDocserver</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="174"></a><a href="#174">174</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 175" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="175"></a><a href="#175">175</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$storeResult</span><span class="keyword">[</span><span class="default">'errors'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="176"></a><a href="#176">176</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$storeResult</span><span class="keyword">[</span><span class="default">'errors'</span><span class="keyword">]</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="177"></a><a href="#177">177</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="178"></a><a href="#178">178</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="179"></a><a href="#179">179</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//store&nbsp;resource&nbsp;metadata&nbsp;in&nbsp;database</span></td></tr>
+     <tr><td><div align="right"><a name="180"></a><a href="#180">180</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 181" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="181"></a><a href="#181">181</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'data'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 182" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="182"></a><a href="#182">182</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'docserverId'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$storeResult</span><span class="keyword">[</span><span class="default">'docserver_id'</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 183" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="183"></a><a href="#183">183</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'status'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$status</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 184" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="184"></a><a href="#184">184</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'fileFormat'</span><span class="default">&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$fileFormat</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="185"></a><a href="#185">185</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="186"></a><a href="#186">186</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 187" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="187"></a><a href="#187">187</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">prepareStorage</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="188"></a><a href="#188">188</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 189" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="189"></a><a href="#189">189</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">unlink</span><span class="keyword">(</span><span class="default">$Fnm</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="190"></a><a href="#190">190</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="191"></a><a href="#191">191</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 192" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="192"></a><a href="#192">192</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'table'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$table</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 193" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="193"></a><a href="#193">193</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'path'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$storeResult</span><span class="keyword">[</span><span class="default">'destination_dir'</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 194" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="194"></a><a href="#194">194</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'filename'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$storeResult</span><span class="keyword">[</span><span class="default">'file_destination_name'</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 195" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="195"></a><a href="#195">195</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'docserverPath'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$storeResult</span><span class="keyword">[</span><span class="default">'path_template'</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 196" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="196"></a><a href="#196">196</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'docserverId'</span><span class="default">&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$storeResult</span><span class="keyword">[</span><span class="default">'docserver_id'</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 197" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="197"></a><a href="#197">197</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'docserverPath'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$storeResult</span><span class="keyword">[</span><span class="default">'path_template'</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 198" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="198"></a><a href="#198">198</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'data'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="199"></a><a href="#199">199</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="200"></a><a href="#200">200</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 201" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="201"></a><a href="#201">201</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">loadIntoDb</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="202"></a><a href="#202">202</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 203" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="203"></a><a href="#203">203</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$resDetails</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">ResModel</span><span class="default">::</span><span class="default">getByPath</span><span class="keyword">(</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 204" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="204"></a><a href="#204">204</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'docserverId'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$storeResult</span><span class="keyword">[</span><span class="default">'docserver_id'</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 205" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="205"></a><a href="#205">205</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'path'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$storeResult</span><span class="keyword">[</span><span class="default">'destination_dir'</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 206" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="206"></a><a href="#206">206</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'filename'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$storeResult</span><span class="keyword">[</span><span class="default">'file_destination_name'</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 207" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="207"></a><a href="#207">207</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'table'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'table'</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="208"></a><a href="#208">208</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'select'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'res_id'</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="209"></a><a href="#209">209</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="210"></a><a href="#210">210</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 211" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="211"></a><a href="#211">211</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$resId</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$resDetails</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'res_id'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="212"></a><a href="#212">212</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="213"></a><a href="#213">213</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 214" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="214"></a><a href="#214">214</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">is_numeric</span><span class="keyword">(</span><span class="default">$resId</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="215"></a><a href="#215">215</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'Pb&nbsp;with&nbsp;SQL&nbsp;insertion&nbsp;:&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">$resId</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="216"></a><a href="#216">216</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="217"></a><a href="#217">217</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 218" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="218"></a><a href="#218">218</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$resId</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">0</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="219"></a><a href="#219">219</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$resId</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">''</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="220"></a><a href="#220">220</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="221"></a><a href="#221">221</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 222" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="222"></a><a href="#222">222</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">$resId</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="223"></a><a href="#223">223</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">catch</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">Exception</span><span class="default">&nbsp;</span><span class="default">$e</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="224"></a><a href="#224">224</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'unknown&nbsp;error'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$e</span><span class="default">-&gt;</span><span class="default">getMessage</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="225"></a><a href="#225">225</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="226"></a><a href="#226">226</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="227"></a><a href="#227">227</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="228"></a><a href="#228">228</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="229"></a><a href="#229">229</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Inserts&nbsp;the&nbsp;Resource&nbsp;Object&nbsp;data&nbsp;into&nbsp;the&nbsp;data&nbsp;base</span></td></tr>
+     <tr><td><div align="right"><a name="230"></a><a href="#230">230</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*</span></td></tr>
+     <tr><td><div align="right"><a name="231"></a><a href="#231">231</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;$table&nbsp;string&nbsp;Resource&nbsp;table&nbsp;where&nbsp;to&nbsp;insert</span></td></tr>
+     <tr><td><div align="right"><a name="232"></a><a href="#232">232</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;$path&nbsp;&nbsp;string&nbsp;Resource&nbsp;path&nbsp;in&nbsp;the&nbsp;docserver</span></td></tr>
+     <tr><td><div align="right"><a name="233"></a><a href="#233">233</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;$filename&nbsp;string&nbsp;Resource&nbsp;file&nbsp;name</span></td></tr>
+     <tr><td><div align="right"><a name="234"></a><a href="#234">234</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;$docserverPath&nbsp;&nbsp;string&nbsp;Docserver&nbsp;path</span></td></tr>
+     <tr><td><div align="right"><a name="235"></a><a href="#235">235</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;$docserverId&nbsp;&nbsp;string&nbsp;Docserver&nbsp;identifier</span></td></tr>
+     <tr><td><div align="right"><a name="236"></a><a href="#236">236</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;boolean</span></td></tr>
+     <tr><td><div align="right"><a name="237"></a><a href="#237">237</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*/</span></td></tr>
+     <tr><td><div align="right"><a name="238"></a><a href="#238">238</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">loadIntoDb</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="239"></a><a href="#239">239</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 240" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="240"></a><a href="#240">240</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$db</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Database</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 241" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="241"></a><a href="#241">241</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'table'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="242"></a><a href="#242">242</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'table&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="243"></a><a href="#243">243</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="244"></a><a href="#244">244</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 245" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="245"></a><a href="#245">245</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'path'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="246"></a><a href="#246">246</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'path&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="247"></a><a href="#247">247</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="248"></a><a href="#248">248</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 249" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="249"></a><a href="#249">249</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'filename'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="250"></a><a href="#250">250</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'filename&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="251"></a><a href="#251">251</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="252"></a><a href="#252">252</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 253" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="253"></a><a href="#253">253</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'docserverPath'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="254"></a><a href="#254">254</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'docserverPath&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="255"></a><a href="#255">255</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="256"></a><a href="#256">256</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 257" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="257"></a><a href="#257">257</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'docserverId'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="258"></a><a href="#258">258</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'docserverId&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="259"></a><a href="#259">259</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="260"></a><a href="#260">260</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 261" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="261"></a><a href="#261">261</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'data'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="262"></a><a href="#262">262</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'data&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="263"></a><a href="#263">263</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 264" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="264"></a><a href="#264">264</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$table</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'table'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 265" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="265"></a><a href="#265">265</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'path'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 266" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="266"></a><a href="#266">266</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$filename</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'filename'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 267" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="267"></a><a href="#267">267</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$docserverPath</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'docserverPath'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 268" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="268"></a><a href="#268">268</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$docserverId</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'docserverId'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 269" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="269"></a><a href="#269">269</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'data'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="270"></a><a href="#270">270</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 271" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="271"></a><a href="#271">271</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$filetmp</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$docserverPath</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 272" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="272"></a><a href="#272">272</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$tmp</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$path</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 273" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="273"></a><a href="#273">273</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$tmp</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">str_replace</span><span class="keyword">(</span><span class="default">'#'</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">DIRECTORY_SEPARATOR</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$tmp</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 274" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="274"></a><a href="#274">274</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$filetmp</span><span class="default">&nbsp;</span><span class="default">.=</span><span class="default">&nbsp;</span><span class="default">$tmp</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 275" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="275"></a><a href="#275">275</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$filetmp</span><span class="default">&nbsp;</span><span class="default">.=</span><span class="default">&nbsp;</span><span class="default">$filename</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="276"></a><a href="#276">276</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 277" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="277"></a><a href="#277">277</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$docserver</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">DocserverModel</span><span class="default">::</span><span class="default">getById</span><span class="keyword">(</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 278" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="278"></a><a href="#278">278</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$docserverId</span></td></tr>
+     <tr><td><div align="right"><a name="279"></a><a href="#279">279</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 280" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="280"></a><a href="#280">280</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$docserverType</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">DocserverTypeModel</span><span class="default">::</span><span class="default">getById</span><span class="keyword">(</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 281" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="281"></a><a href="#281">281</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$docserver</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'docserver_type_id'</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="282"></a><a href="#282">282</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="283"></a><a href="#283">283</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 284" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="284"></a><a href="#284">284</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fingerprint</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">DocserverToolsController</span><span class="default">::</span><span class="default">doFingerprint</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="285"></a><a href="#285">285</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 286" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="286"></a><a href="#286">286</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'path'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$filetmp</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 287" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="287"></a><a href="#287">287</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'fingerprintMode'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$docserverType</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'fingerprint_mode'</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="288"></a><a href="#288">288</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="289"></a><a href="#289">289</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="290"></a><a href="#290">290</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 291" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="291"></a><a href="#291">291</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$filesize</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">filesize</span><span class="keyword">(</span><span class="default">$filetmp</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 292" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="292"></a><a href="#292">292</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="293"></a><a href="#293">293</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="294"></a><a href="#294">294</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 295" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="295"></a><a href="#295">295</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">&quot;fingerprint&quot;</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 296" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="296"></a><a href="#296">296</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$fingerprint</span><span class="keyword">[</span><span class="default">'fingerprint'</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 297" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="297"></a><a href="#297">297</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">&quot;string&quot;</span></td></tr>
+     <tr><td><div align="right"><a name="298"></a><a href="#298">298</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="299"></a><a href="#299">299</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 300" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="300"></a><a href="#300">300</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="301"></a><a href="#301">301</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="302"></a><a href="#302">302</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 303" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="303"></a><a href="#303">303</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">&quot;filesize&quot;</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 304" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="304"></a><a href="#304">304</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$filesize</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 305" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="305"></a><a href="#305">305</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">&quot;int&quot;</span></td></tr>
+     <tr><td><div align="right"><a name="306"></a><a href="#306">306</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="307"></a><a href="#307">307</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 308" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="308"></a><a href="#308">308</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="309"></a><a href="#309">309</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="310"></a><a href="#310">310</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 311" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="311"></a><a href="#311">311</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">&quot;path&quot;</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 312" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="312"></a><a href="#312">312</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$path</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 313" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="313"></a><a href="#313">313</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">&quot;string&quot;</span></td></tr>
+     <tr><td><div align="right"><a name="314"></a><a href="#314">314</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="315"></a><a href="#315">315</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 316" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="316"></a><a href="#316">316</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="317"></a><a href="#317">317</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="318"></a><a href="#318">318</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 319" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="319"></a><a href="#319">319</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">&quot;filename&quot;</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 320" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="320"></a><a href="#320">320</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$filename</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 321" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="321"></a><a href="#321">321</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">&quot;string&quot;</span></td></tr>
+     <tr><td><div align="right"><a name="322"></a><a href="#322">322</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="323"></a><a href="#323">323</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 324" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="324"></a><a href="#324">324</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="325"></a><a href="#325">325</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="326"></a><a href="#326">326</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 327" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="327"></a><a href="#327">327</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'creation_date'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 328" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="328"></a><a href="#328">328</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$db</span><span class="default">-&gt;</span><span class="default">current_datetime</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 329" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="329"></a><a href="#329">329</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">&quot;function&quot;</span></td></tr>
+     <tr><td><div align="right"><a name="330"></a><a href="#330">330</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="331"></a><a href="#331">331</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 332" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="332"></a><a href="#332">332</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$testBasicFields</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">checkBasicFields</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="333"></a><a href="#333">333</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 334" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="334"></a><a href="#334">334</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">$testBasicFields</span><span class="keyword">[</span><span class="default">'status'</span><span class="keyword">]</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="335"></a><a href="#335">335</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'error'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$testBasicFields</span><span class="keyword">[</span><span class="default">'error'</span><span class="keyword">]</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="336"></a><a href="#336">336</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 337" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="337"></a><a href="#337">337</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$prepareData</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 338" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="338"></a><a href="#338">338</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$countD</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">count</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 339" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="339"></a><a href="#339">339</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">for</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$i</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">0</span><span class="keyword">;</span><span class="default">&nbsp;</span><span class="default">$i</span><span class="default">&nbsp;</span><span class="keyword">&lt;</span><span class="default">&nbsp;</span><span class="default">$countD</span><span class="keyword">;</span><span class="default">&nbsp;</span><span class="default">$i</span><span class="default">++</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="340"></a><a href="#340">340</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//COLUMN</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 341" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="341"></a><a href="#341">341</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'column'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">strtolower</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'column'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="342"></a><a href="#342">342</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//VALUE</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 343" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="343"></a><a href="#343">343</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$prepareData</span><span class="keyword">[</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'column'</span><span class="keyword">]</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="344"></a><a href="#344">344</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="345"></a><a href="#345">345</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 346" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="346"></a><a href="#346">346</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$resInsert</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">ResModel</span><span class="default">::</span><span class="default">create</span><span class="keyword">(</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 347" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="347"></a><a href="#347">347</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'table'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'res_letterbox'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 348" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="348"></a><a href="#348">348</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'data'</span><span class="default">&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$prepareData</span></td></tr>
+     <tr><td><div align="right"><a name="349"></a><a href="#349">349</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="350"></a><a href="#350">350</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 351" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="351"></a><a href="#351">351</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">true</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="352"></a><a href="#352">352</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="353"></a><a href="#353">353</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="354"></a><a href="#354">354</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="355"></a><a href="#355">355</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="356"></a><a href="#356">356</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Checks&nbsp;the&nbsp;mininum&nbsp;fields&nbsp;required&nbsp;for&nbsp;an&nbsp;insert&nbsp;into&nbsp;the&nbsp;database</span></td></tr>
+     <tr><td><div align="right"><a name="357"></a><a href="#357">357</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*</span></td></tr>
+     <tr><td><div align="right"><a name="358"></a><a href="#358">358</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;$data&nbsp;array&nbsp;Array&nbsp;of&nbsp;the&nbsp;fields&nbsp;to&nbsp;insert&nbsp;into&nbsp;the&nbsp;database</span></td></tr>
+     <tr><td><div align="right"><a name="359"></a><a href="#359">359</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;error&nbsp;$error</span></td></tr>
+     <tr><td><div align="right"><a name="360"></a><a href="#360">360</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*/</span></td></tr>
+     <tr><td><div align="right"><a name="361"></a><a href="#361">361</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">checkBasicFields</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="362"></a><a href="#362">362</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 363" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="363"></a><a href="#363">363</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$error</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">''</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 364" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="364"></a><a href="#364">364</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$db</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Database</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 365" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="365"></a><a href="#365">365</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$find_format</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 366" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="366"></a><a href="#366">366</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$find_typist</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 367" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="367"></a><a href="#367">367</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$find_creation_date</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 368" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="368"></a><a href="#368">368</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$find_docserver_id</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 369" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="369"></a><a href="#369">369</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$find_path</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 370" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="370"></a><a href="#370">370</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$find_filename</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 371" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="371"></a><a href="#371">371</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$find_offset</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 372" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="372"></a><a href="#372">372</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$find_logical_adr</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 373" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="373"></a><a href="#373">373</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$find_fingerprint</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 374" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="374"></a><a href="#374">374</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$find_filesize</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 375" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="375"></a><a href="#375">375</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$find_status</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 376" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="376"></a><a href="#376">376</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">for</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$i</span><span class="keyword">=</span><span class="default">0</span><span class="keyword">;</span><span class="default">&nbsp;</span><span class="default">$i</span><span class="default">&nbsp;</span><span class="keyword">&lt;</span><span class="default">&nbsp;</span><span class="default">count</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">)</span><span class="keyword">;</span><span class="default">&nbsp;</span><span class="default">$i</span><span class="default">++</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 377" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="377"></a><a href="#377">377</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'column'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">'format'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 378" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="378"></a><a href="#378">378</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$find_format</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">true</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="379"></a><a href="#379">379</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;must&nbsp;be&nbsp;tested&nbsp;in&nbsp;the&nbsp;file_index.php&nbsp;file&nbsp;(module&nbsp;=&nbsp;indexing_searching)</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 380" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="380"></a><a href="#380">380</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">elseif</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'column'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">'typist'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 381" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="381"></a><a href="#381">381</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$find_typist</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">true</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 382" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="382"></a><a href="#382">382</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">elseif</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'column'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">'creation_date'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 383" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="383"></a><a href="#383">383</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$find_creation_date</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">true</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 384" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="384"></a><a href="#384">384</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="default">&lt;&gt;</span><span class="default">&nbsp;</span><span class="default">$db</span><span class="default">-&gt;</span><span class="default">current_datetime</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 385" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="385"></a><a href="#385">385</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$error</span><span class="default">&nbsp;</span><span class="default">.=</span><span class="default">&nbsp;</span><span class="default">_CREATION_DATE_ERROR</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="386"></a><a href="#386">386</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 387" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="387"></a><a href="#387">387</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">elseif</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'column'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">'docserver_id'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 388" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="388"></a><a href="#388">388</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$find_docserver_id</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;&nbsp;</span><span class="default">true</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 389" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="389"></a><a href="#389">389</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">elseif</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'column'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">'path'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 390" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="390"></a><a href="#390">390</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$find_path</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">true</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 391" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="391"></a><a href="#391">391</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 392" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="392"></a><a href="#392">392</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$error</span><span class="default">&nbsp;</span><span class="default">.=</span><span class="default">&nbsp;</span><span class="default">_PATH_ERROR</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="393"></a><a href="#393">393</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 394" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="394"></a><a href="#394">394</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">elseif</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'column'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">'filename'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 395" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="395"></a><a href="#395">395</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$find_filename</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">true</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 396" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="396"></a><a href="#396">396</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">preg_match</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 397" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="397"></a><a href="#397">397</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&quot;/^[\w-.]+.([a-zA-Z-0-9][a-zA-Z-0-9][a-zA-Z-0-9][a-zA-Z-0-9]?|maarch)$/&quot;</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 398" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="398"></a><a href="#398">398</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="399"></a><a href="#399">399</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="400"></a><a href="#400">400</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 401" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="401"></a><a href="#401">401</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$error</span><span class="default">&nbsp;</span><span class="default">.=</span><span class="default">&nbsp;</span><span class="default">_FILENAME_ERROR</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&lt;br/&gt;'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="402"></a><a href="#402">402</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 403" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="403"></a><a href="#403">403</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">elseif</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'column'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">&quot;offset_doc&quot;</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 404" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="404"></a><a href="#404">404</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$find_offset</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">true</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 405" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="405"></a><a href="#405">405</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">elseif</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'column'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">'logical_adr'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 406" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="406"></a><a href="#406">406</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$find_logical_adr</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">true</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 407" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="407"></a><a href="#407">407</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">elseif</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'column'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">'fingerprint'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 408" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="408"></a><a href="#408">408</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$find_fingerprint</span><span class="default">&nbsp;&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">true</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 409" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="409"></a><a href="#409">409</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">preg_match</span><span class="keyword">(</span><span class="default">&quot;/^[0-9A-Fa-f]+$/&quot;</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 410" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="410"></a><a href="#410">410</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$error</span><span class="default">&nbsp;</span><span class="default">.=</span><span class="default">&nbsp;</span><span class="default">_FINGERPRINT_ERROR</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="411"></a><a href="#411">411</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 412" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="412"></a><a href="#412">412</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">elseif</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'column'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">'filesize'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 413" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="413"></a><a href="#413">413</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$find_filesize</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">true</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 414" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="414"></a><a href="#414">414</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="default">&lt;=</span><span class="default">&nbsp;</span><span class="default">0</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 415" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="415"></a><a href="#415">415</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$error</span><span class="default">&nbsp;</span><span class="default">.=</span><span class="default">&nbsp;</span><span class="default">_FILESIZE_ERROR</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="416"></a><a href="#416">416</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 417" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="417"></a><a href="#417">417</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">elseif</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'column'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">'status'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 418" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="418"></a><a href="#418">418</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$find_status</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">true</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="419"></a><a href="#419">419</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="420"></a><a href="#420">420</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="421"></a><a href="#421">421</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 422" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="422"></a><a href="#422">422</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$find_format</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="423"></a><a href="#423">423</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$error</span><span class="default">&nbsp;</span><span class="default">.=</span><span class="default">&nbsp;</span><span class="default">_MISSING_FORMAT</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="424"></a><a href="#424">424</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 425" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="425"></a><a href="#425">425</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$find_typist</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="426"></a><a href="#426">426</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$error</span><span class="default">&nbsp;</span><span class="default">.=</span><span class="default">&nbsp;</span><span class="default">_MISSING_TYPIST</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="427"></a><a href="#427">427</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 428" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="428"></a><a href="#428">428</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$find_creation_date</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="429"></a><a href="#429">429</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$error</span><span class="default">&nbsp;</span><span class="default">.=</span><span class="default">&nbsp;</span><span class="default">_MISSING_CREATION_DATE</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="430"></a><a href="#430">430</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 431" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="431"></a><a href="#431">431</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$find_docserver_id</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="432"></a><a href="#432">432</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$error</span><span class="default">&nbsp;</span><span class="default">.=</span><span class="default">&nbsp;</span><span class="default">_MISSING_DOCSERVER_ID</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="433"></a><a href="#433">433</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 434" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="434"></a><a href="#434">434</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$find_path</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="435"></a><a href="#435">435</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$error</span><span class="default">&nbsp;</span><span class="default">.=</span><span class="default">&nbsp;</span><span class="default">_MISSING_PATH</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="436"></a><a href="#436">436</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 437" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="437"></a><a href="#437">437</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$find_filename</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="438"></a><a href="#438">438</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$error</span><span class="default">&nbsp;</span><span class="default">.=</span><span class="default">&nbsp;</span><span class="default">_MISSING_FILENAME</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="439"></a><a href="#439">439</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 440" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="440"></a><a href="#440">440</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$find_offset</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="441"></a><a href="#441">441</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$error</span><span class="default">&nbsp;</span><span class="default">.=</span><span class="default">&nbsp;</span><span class="default">_MISSING_OFFSET</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="442"></a><a href="#442">442</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 443" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="443"></a><a href="#443">443</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$find_logical_adr</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="444"></a><a href="#444">444</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$error</span><span class="default">&nbsp;</span><span class="default">.=</span><span class="default">&nbsp;</span><span class="default">_MISSING_LOGICAL_ADR</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="445"></a><a href="#445">445</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 446" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="446"></a><a href="#446">446</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$find_fingerprint</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="447"></a><a href="#447">447</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$error</span><span class="default">&nbsp;</span><span class="default">.=</span><span class="default">&nbsp;</span><span class="default">_MISSING_FINGERPRINT</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="448"></a><a href="#448">448</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 449" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="449"></a><a href="#449">449</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$find_filesize</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="450"></a><a href="#450">450</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$error</span><span class="default">&nbsp;</span><span class="default">.=</span><span class="default">&nbsp;</span><span class="default">_MISSING_FILESIZE</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="451"></a><a href="#451">451</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 452" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="452"></a><a href="#452">452</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$find_status</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="453"></a><a href="#453">453</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$error</span><span class="default">&nbsp;</span><span class="default">.=</span><span class="default">&nbsp;</span><span class="default">_MISSING_STATUS</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="454"></a><a href="#454">454</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="455"></a><a href="#455">455</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 456" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="456"></a><a href="#456">456</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$error</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="457"></a><a href="#457">457</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$status</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="458"></a><a href="#458">458</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 459" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="459"></a><a href="#459">459</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$status</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">true</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="460"></a><a href="#460">460</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="461"></a><a href="#461">461</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="462"></a><a href="#462">462</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 463" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="463"></a><a href="#463">463</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'status'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$status</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 464" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="464"></a><a href="#464">464</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'error'</span><span class="default">&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$error</span></td></tr>
+     <tr><td><div align="right"><a name="465"></a><a href="#465">465</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="466"></a><a href="#466">466</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="467"></a><a href="#467">467</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="468"></a><a href="#468">468</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="469"></a><a href="#469">469</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Prepares&nbsp;storage&nbsp;on&nbsp;database.</span></td></tr>
+     <tr><td><div align="right"><a name="470"></a><a href="#470">470</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;$data&nbsp;array</span></td></tr>
+     <tr><td><div align="right"><a name="471"></a><a href="#471">471</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;$docserverId&nbsp;string</span></td></tr>
+     <tr><td><div align="right"><a name="472"></a><a href="#472">472</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;$status&nbsp;string</span></td></tr>
+     <tr><td><div align="right"><a name="473"></a><a href="#473">473</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;$fileFormat&nbsp;string</span></td></tr>
+     <tr><td><div align="right"><a name="474"></a><a href="#474">474</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;array&nbsp;$data</span></td></tr>
+     <tr><td><div align="right"><a name="475"></a><a href="#475">475</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span></td></tr>
+     <tr><td><div align="right"><a name="476"></a><a href="#476">476</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">prepareStorage</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="477"></a><a href="#477">477</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 478" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="478"></a><a href="#478">478</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'data'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="479"></a><a href="#479">479</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'data&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="480"></a><a href="#480">480</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="481"></a><a href="#481">481</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 482" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="482"></a><a href="#482">482</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'docserverId'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="483"></a><a href="#483">483</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'docserverId&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="484"></a><a href="#484">484</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="485"></a><a href="#485">485</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 486" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="486"></a><a href="#486">486</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'status'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="487"></a><a href="#487">487</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'status&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="488"></a><a href="#488">488</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="489"></a><a href="#489">489</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 490" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="490"></a><a href="#490">490</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'fileFormat'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="491"></a><a href="#491">491</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'fileFormat&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="492"></a><a href="#492">492</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="493"></a><a href="#493">493</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 494" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="494"></a><a href="#494">494</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$statusFound</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 495" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="495"></a><a href="#495">495</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$typistFound</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 496" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="496"></a><a href="#496">496</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$typeIdFound</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 497" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="497"></a><a href="#497">497</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$toAddressFound</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 498" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="498"></a><a href="#498">498</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$userPrimaryEntity</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 499" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="499"></a><a href="#499">499</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$destinationFound</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 500" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="500"></a><a href="#500">500</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$initiatorFound</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="501"></a><a href="#501">501</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 502" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="502"></a><a href="#502">502</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'data'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 503" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="503"></a><a href="#503">503</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$docserverId</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'docserverId'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 504" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="504"></a><a href="#504">504</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$status</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'status'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 505" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="505"></a><a href="#505">505</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fileFormat</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'fileFormat'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="506"></a><a href="#506">506</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 507" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="507"></a><a href="#507">507</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$userModel</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">UserModel</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 508" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="508"></a><a href="#508">508</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$entityModel</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Entities</span><span class="default">\</span><span class="default">Models</span><span class="default">\</span><span class="default">EntitiesModel</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="509"></a><a href="#509">509</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 510" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="510"></a><a href="#510">510</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$countD</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">count</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 511" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="511"></a><a href="#511">511</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">for</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$i</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">0</span><span class="keyword">;</span><span class="default">&nbsp;</span><span class="default">$i</span><span class="default">&nbsp;</span><span class="keyword">&lt;</span><span class="default">&nbsp;</span><span class="default">$countD</span><span class="keyword">;</span><span class="default">&nbsp;</span><span class="default">$i</span><span class="default">++</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 512" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="512"></a><a href="#512">512</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">strtoupper</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'type'</span><span class="keyword">]</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">'INTEGER'</span><span class="default">&nbsp;</span><span class="default">||</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 513" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="513"></a><a href="#513">513</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">strtoupper</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'type'</span><span class="keyword">]</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">'FLOAT'</span></td></tr>
+     <tr><td><div align="right"><a name="514"></a><a href="#514">514</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 515" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="515"></a><a href="#515">515</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">''</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="516"></a><a href="#516">516</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'0'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="517"></a><a href="#517">517</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="518"></a><a href="#518">518</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="519"></a><a href="#519">519</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 520" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="520"></a><a href="#520">520</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">strtoupper</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'type'</span><span class="keyword">]</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">'STRING'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 521" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="521"></a><a href="#521">521</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 522" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="522"></a><a href="#522">522</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">str_replace</span><span class="keyword">(</span><span class="default">&quot;;&quot;</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">&quot;&quot;</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 523" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="523"></a><a href="#523">523</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">str_replace</span><span class="keyword">(</span><span class="default">&quot;--&quot;</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">&quot;&quot;</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="524"></a><a href="#524">524</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="525"></a><a href="#525">525</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 526" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="526"></a><a href="#526">526</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">strtoupper</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'column'</span><span class="keyword">]</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">strtoupper</span><span class="keyword">(</span><span class="default">'status'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="527"></a><a href="#527">527</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$statusFound</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">true</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="528"></a><a href="#528">528</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="529"></a><a href="#529">529</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 530" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="530"></a><a href="#530">530</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">strtoupper</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'column'</span><span class="keyword">]</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">strtoupper</span><span class="keyword">(</span><span class="default">'typist'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="531"></a><a href="#531">531</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$typistFound</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">true</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="532"></a><a href="#532">532</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="533"></a><a href="#533">533</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 534" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="534"></a><a href="#534">534</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">strtoupper</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'column'</span><span class="keyword">]</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">strtoupper</span><span class="keyword">(</span><span class="default">'type_id'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="4 tests cover line 535" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="535"></a><a href="#535">535</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$typeIdFound</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">true</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="536"></a><a href="#536">536</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="537"></a><a href="#537">537</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 538" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="538"></a><a href="#538">538</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">strtoupper</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'column'</span><span class="keyword">]</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">strtoupper</span><span class="keyword">(</span><span class="default">'custom_t10'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 539" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="539"></a><a href="#539">539</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$mail</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 540" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="540"></a><a href="#540">540</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$theString</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">str_replace</span><span class="keyword">(</span><span class="default">&quot;&gt;&quot;</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">&quot;&quot;</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 541" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="541"></a><a href="#541">541</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$mail</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">explode</span><span class="keyword">(</span><span class="default">&quot;&lt;&quot;</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$theString</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 542" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="542"></a><a href="#542">542</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$user</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$userModel</span><span class="default">-&gt;</span><span class="default">getByEmail</span><span class="keyword">(</span><span class="keyword">[</span><span class="default">'mail'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$mail</span><span class="keyword">[</span><span class="default">count</span><span class="keyword">(</span><span class="default">$mail</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">-</span><span class="default">1</span><span class="keyword">]</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 543" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="543"></a><a href="#543">543</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$userIdFound</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$user</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'user_id'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 544" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="544"></a><a href="#544">544</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$userIdFound</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="545"></a><a href="#545">545</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$toAddressFound</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">true</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="546"></a><a href="#546">546</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$destUser</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$userIdFound</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="547"></a><a href="#547">547</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$entity</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$entityModel</span><span class="default">-&gt;</span><span class="default">getByUserId</span><span class="keyword">(</span><span class="keyword">[</span><span class="default">'user_id'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$destUser</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="548"></a><a href="#548">548</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$entity</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'entity_id'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="549"></a><a href="#549">549</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$userEntity</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$entity</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'entity_id'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="550"></a><a href="#550">550</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$userPrimaryEntity</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">true</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="551"></a><a href="#551">551</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="552"></a><a href="#552">552</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 553" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="553"></a><a href="#553">553</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$entity</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$entityModel</span><span class="default">-&gt;</span><span class="default">getByEmail</span><span class="keyword">(</span><span class="keyword">[</span><span class="default">'email'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$mail</span><span class="keyword">[</span><span class="default">count</span><span class="keyword">(</span><span class="default">$mail</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">-</span><span class="default">1</span><span class="keyword">]</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 554" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="554"></a><a href="#554">554</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$entity</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'entity_id'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 555" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="555"></a><a href="#555">555</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$userPrimaryEntity</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">true</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="556"></a><a href="#556">556</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="557"></a><a href="#557">557</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="558"></a><a href="#558">558</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="559"></a><a href="#559">559</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="560"></a><a href="#560">560</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 561" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="561"></a><a href="#561">561</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">$typistFound</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span><span class="default">&nbsp;</span><span class="keyword">!</span><span class="default">$toAddressFound</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 562" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="562"></a><a href="#562">562</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="563"></a><a href="#563">563</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="564"></a><a href="#564">564</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 565" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="565"></a><a href="#565">565</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'typist'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="566"></a><a href="#566">566</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'auto'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="567"></a><a href="#567">567</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="568"></a><a href="#568">568</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="569"></a><a href="#569">569</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="570"></a><a href="#570">570</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="571"></a><a href="#571">571</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 572" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="572"></a><a href="#572">572</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">$typeIdFound</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 573" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="573"></a><a href="#573">573</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="574"></a><a href="#574">574</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="575"></a><a href="#575">575</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 576" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="576"></a><a href="#576">576</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'type_id'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="577"></a><a href="#577">577</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'10'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="578"></a><a href="#578">578</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="579"></a><a href="#579">579</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="580"></a><a href="#580">580</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="581"></a><a href="#581">581</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="582"></a><a href="#582">582</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 583" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="583"></a><a href="#583">583</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">$statusFound</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 584" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="584"></a><a href="#584">584</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="585"></a><a href="#585">585</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="586"></a><a href="#586">586</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 587" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="587"></a><a href="#587">587</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'status'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 588" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="588"></a><a href="#588">588</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$status</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 589" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="589"></a><a href="#589">589</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="590"></a><a href="#590">590</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="591"></a><a href="#591">591</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="592"></a><a href="#592">592</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="593"></a><a href="#593">593</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 594" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="594"></a><a href="#594">594</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$toAddressFound</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="595"></a><a href="#595">595</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="596"></a><a href="#596">596</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="597"></a><a href="#597">597</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="598"></a><a href="#598">598</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'dest_user'</span><span class="keyword">,</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="599"></a><a href="#599">599</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$destUser</span><span class="keyword">,</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="600"></a><a href="#600">600</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="601"></a><a href="#601">601</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="602"></a><a href="#602">602</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="603"></a><a href="#603">603</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="604"></a><a href="#604">604</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="605"></a><a href="#605">605</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="606"></a><a href="#606">606</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'typist'</span><span class="keyword">,</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="607"></a><a href="#607">607</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$destUser</span><span class="keyword">,</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="608"></a><a href="#608">608</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="609"></a><a href="#609">609</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="610"></a><a href="#610">610</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="611"></a><a href="#611">611</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="612"></a><a href="#612">612</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 613" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="613"></a><a href="#613">613</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$userPrimaryEntity</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 614" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="614"></a><a href="#614">614</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">for</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$i</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">0</span><span class="keyword">;</span><span class="default">&nbsp;</span><span class="default">$i</span><span class="default">&nbsp;</span><span class="keyword">&lt;</span><span class="default">&nbsp;</span><span class="default">count</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">)</span><span class="keyword">;</span><span class="default">&nbsp;</span><span class="default">$i</span><span class="default">++</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 615" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="615"></a><a href="#615">615</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">strtoupper</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'column'</span><span class="keyword">]</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">strtoupper</span><span class="keyword">(</span><span class="default">'destination'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="616"></a><a href="#616">616</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">&quot;&quot;</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="617"></a><a href="#617">617</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$userEntity</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="618"></a><a href="#618">618</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="619"></a><a href="#619">619</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$destinationFound</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">true</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="620"></a><a href="#620">620</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">break</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="621"></a><a href="#621">621</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="622"></a><a href="#622">622</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 623" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="623"></a><a href="#623">623</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">$destinationFound</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 624" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="624"></a><a href="#624">624</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="625"></a><a href="#625">625</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="626"></a><a href="#626">626</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 627" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="627"></a><a href="#627">627</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'destination'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 628" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="628"></a><a href="#628">628</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$userEntity</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 629" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="629"></a><a href="#629">629</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="630"></a><a href="#630">630</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="631"></a><a href="#631">631</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="632"></a><a href="#632">632</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="633"></a><a href="#633">633</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="634"></a><a href="#634">634</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 635" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="635"></a><a href="#635">635</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$userPrimaryEntity</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 636" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="636"></a><a href="#636">636</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">for</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$i</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">0</span><span class="keyword">;</span><span class="default">&nbsp;</span><span class="default">$i</span><span class="keyword">&lt;</span><span class="default">count</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">)</span><span class="keyword">;</span><span class="default">&nbsp;</span><span class="default">$i</span><span class="default">++</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 637" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="637"></a><a href="#637">637</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">strtoupper</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'column'</span><span class="keyword">]</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">strtoupper</span><span class="keyword">(</span><span class="default">'initiator'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="638"></a><a href="#638">638</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">&quot;&quot;</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="639"></a><a href="#639">639</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$userEntity</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="640"></a><a href="#640">640</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="641"></a><a href="#641">641</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$initiatorFound</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">true</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="642"></a><a href="#642">642</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">break</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="643"></a><a href="#643">643</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="644"></a><a href="#644">644</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 645" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="645"></a><a href="#645">645</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">$initiatorFound</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 646" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="646"></a><a href="#646">646</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="647"></a><a href="#647">647</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="648"></a><a href="#648">648</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 649" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="649"></a><a href="#649">649</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'initiator'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 650" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="650"></a><a href="#650">650</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$userEntity</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 651" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="651"></a><a href="#651">651</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="652"></a><a href="#652">652</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="653"></a><a href="#653">653</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="654"></a><a href="#654">654</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="655"></a><a href="#655">655</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 656" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="656"></a><a href="#656">656</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="657"></a><a href="#657">657</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="658"></a><a href="#658">658</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 659" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="659"></a><a href="#659">659</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'format'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 660" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="660"></a><a href="#660">660</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$fileFormat</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 661" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="661"></a><a href="#661">661</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="662"></a><a href="#662">662</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="663"></a><a href="#663">663</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 664" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="664"></a><a href="#664">664</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="665"></a><a href="#665">665</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="666"></a><a href="#666">666</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 667" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="667"></a><a href="#667">667</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'offset_doc'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="668"></a><a href="#668">668</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">''</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="669"></a><a href="#669">669</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="670"></a><a href="#670">670</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="671"></a><a href="#671">671</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 672" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="672"></a><a href="#672">672</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="673"></a><a href="#673">673</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="674"></a><a href="#674">674</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 675" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="675"></a><a href="#675">675</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'logical_adr'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="676"></a><a href="#676">676</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">''</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="677"></a><a href="#677">677</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="678"></a><a href="#678">678</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="679"></a><a href="#679">679</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 680" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="680"></a><a href="#680">680</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="681"></a><a href="#681">681</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="682"></a><a href="#682">682</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 683" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="683"></a><a href="#683">683</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'docserver_id'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 684" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="684"></a><a href="#684">684</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$docserverId</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 685" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="685"></a><a href="#685">685</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="686"></a><a href="#686">686</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="687"></a><a href="#687">687</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="688"></a><a href="#688">688</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="5 tests cover line 689" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="689"></a><a href="#689">689</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$data</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="690"></a><a href="#690">690</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="691"></a><a href="#691">691</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="692"></a><a href="#692">692</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="693"></a><a href="#693">693</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Convert&nbsp;an&nbsp;object&nbsp;to&nbsp;an&nbsp;array</span></td></tr>
+     <tr><td><div align="right"><a name="694"></a><a href="#694">694</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;$object&nbsp;object&nbsp;to&nbsp;convert</span></td></tr>
+     <tr><td><div align="right"><a name="695"></a><a href="#695">695</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*/</span></td></tr>
+     <tr><td><div align="right"><a name="696"></a><a href="#696">696</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">object2array</span><span class="keyword">(</span><span class="default">$object</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="697"></a><a href="#697">697</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="698"></a><a href="#698">698</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$return</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">null</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="699"></a><a href="#699">699</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">is_array</span><span class="keyword">(</span><span class="default">$object</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="700"></a><a href="#700">700</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">foreach</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$object</span><span class="default">&nbsp;</span><span class="keyword">as</span><span class="default">&nbsp;</span><span class="default">$key</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$value</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="701"></a><a href="#701">701</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$return</span><span class="keyword">[</span><span class="default">$key</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">object2array</span><span class="keyword">(</span><span class="default">$value</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="702"></a><a href="#702">702</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="703"></a><a href="#703">703</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="704"></a><a href="#704">704</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">is_object</span><span class="keyword">(</span><span class="default">$object</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="705"></a><a href="#705">705</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$var</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">get_object_vars</span><span class="keyword">(</span><span class="default">$object</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="706"></a><a href="#706">706</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$var</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="707"></a><a href="#707">707</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">foreach</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$var</span><span class="default">&nbsp;</span><span class="keyword">as</span><span class="default">&nbsp;</span><span class="default">$key</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$value</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="708"></a><a href="#708">708</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$return</span><span class="keyword">[</span><span class="default">$key</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$key</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span><span class="default">&nbsp;</span><span class="keyword">!</span><span class="default">$value</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">?</span><span class="default">&nbsp;</span><span class="default">null</span><span class="default">&nbsp;</span><span class="keyword">:</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">object2array</span><span class="keyword">(</span><span class="default">$value</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="709"></a><a href="#709">709</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="710"></a><a href="#710">710</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="711"></a><a href="#711">711</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$object</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="712"></a><a href="#712">712</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="713"></a><a href="#713">713</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="714"></a><a href="#714">714</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$object</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="715"></a><a href="#715">715</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="716"></a><a href="#716">716</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="717"></a><a href="#717">717</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$return</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="718"></a><a href="#718">718</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="719"></a><a href="#719">719</a></div></td><td class="codeLine"><span class="keyword">}</span></td></tr>
+
+    </tbody>
+   </table>
+   <footer>
+    <hr/>
+    <h4>Legend</h4>
+    <p>
+     <span class="success"><strong>Executed</strong></span>
+     <span class="danger"><strong>Not Executed</strong></span>
+     <span class="warning"><strong>Dead Code</strong></span>
+    </p>
+    <p>
+     <small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 3.2.1</a> using <a href="http://php.net/" target="_top">PHP 7.0.16-4+deb.sury.org~xenial+1</a> and <a href="https://phpunit.de/">PHPUnit 5.1.3</a> at Tue Mar 14 18:22:56 CET 2017.</small>
+    </p>
+    <a title="Back to the top" id="toplink" href="#"><span class="glyphicon glyphicon-arrow-up"></span></a>
+   </footer>
+  </div>
+  <script src="../js/jquery.min.js" type="text/javascript"></script>
+  <script src="../js/bootstrap.min.js" type="text/javascript"></script>
+  <script src="../js/holder.min.js" type="text/javascript"></script>
+  <script type="text/javascript">
+  $(function() {
+   var $window   = $(window)
+     , $top_link = $('#toplink')
+     , $body     = $('body, html')
+     , offset    = $('#code').offset().top;
+
+   $top_link.hide().click(function(event) {
+    event.preventDefault();
+    $body.animate({scrollTop:0}, 800);
+   });
+
+   $window.scroll(function() {
+    if($window.scrollTop() > offset) {
+     $top_link.fadeIn();
+    } else {
+     $top_link.fadeOut();
+    }
+   }).scroll();
+
+   $('.popin').popover({trigger: 'hover'});
+  });
+  </script>
+ </body>
+</html>
diff --git a/core/Test/build/Controllers/ResExtController.php.html b/core/Test/build/Controllers/ResExtController.php.html
new file mode 100644
index 0000000000000000000000000000000000000000..2aa416f68db9280e85f0ea59d96f2655543d7af7
--- /dev/null
+++ b/core/Test/build/Controllers/ResExtController.php.html
@@ -0,0 +1,598 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+  <meta charset="UTF-8">
+  <title>Code Coverage for /var/www/html/MaarchCourrier/core/Controllers/ResExtController.php</title>
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <link href="../css/bootstrap.min.css" rel="stylesheet">
+  <link href="../css/style.css" rel="stylesheet">
+  <!--[if lt IE 9]>
+  <script src="../js/html5shiv.min.js"></script>
+  <script src="../js/respond.min.js"></script>
+  <![endif]-->
+ </head>
+ <body>
+  <header>
+   <div class="container">
+    <div class="row">
+     <div class="col-md-12">
+      <ol class="breadcrumb">
+        <li><a href="../index.html">/var/www/html/MaarchCourrier/core</a></li>
+        <li><a href="index.html">Controllers</a></li>
+        <li class="active">ResExtController.php</li>
+
+      </ol>
+     </div>
+    </div>
+   </div>
+  </header>
+  <div class="container">
+   <table class="table table-bordered">
+    <thead>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td>
+     </tr>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td>
+      <td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td>
+      <td colspan="3"><div align="center"><strong>Lines</strong></div></td>
+     </tr>
+    </thead>
+    <tbody>
+     <tr>
+      <td class="danger">Total</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;6</div></td>
+      <td class="danger small"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="72.37" aria-valuemin="0" aria-valuemax="100" style="width: 72.37%">
+           <span class="sr-only">72.37% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">72.37%</div></td>
+      <td class="success small"><div align="right">110&nbsp;/&nbsp;152</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger">ResExtController</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;6</div></td>
+      <td class="danger small">103.80</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="72.19" aria-valuemin="0" aria-valuemax="100" style="width: 72.19%">
+           <span class="sr-only">72.19% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">72.19%</div></td>
+      <td class="success small"><div align="right">109&nbsp;/&nbsp;151</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#27"><abbr title="create(RequestInterface $request, ResponseInterface $response, $aArgs)">create</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">4.46</td>
+      <td class="warning big">       <div class="progress">
+         <div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="45.45" aria-valuemin="0" aria-valuemax="100" style="width: 45.45%">
+           <span class="sr-only">45.45% covered (warning)</span>
+         </div>
+       </div>
+</td>
+      <td class="warning small"><div align="right">45.45%</div></td>
+      <td class="warning small"><div align="right">5&nbsp;/&nbsp;11</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#50"><abbr title="delete(RequestInterface $request, ResponseInterface $response, $aArgs)">delete</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">3.24</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="70.00" aria-valuemin="0" aria-valuemax="100" style="width: 70.00%">
+           <span class="sr-only">70.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">70.00%</div></td>
+      <td class="success small"><div align="right">7&nbsp;/&nbsp;10</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#80"><abbr title="deleteExtRes($aArgs)">deleteExtRes</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">2.02</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="83.33" aria-valuemin="0" aria-valuemax="100" style="width: 83.33%">
+           <span class="sr-only">83.33% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">83.33%</div></td>
+      <td class="success small"><div align="right">5&nbsp;/&nbsp;6</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#102"><abbr title="storeExtResource($aArgs)">storeExtResource</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">7.87</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="73.91" aria-valuemin="0" aria-valuemax="100" style="width: 73.91%">
+           <span class="sr-only">73.91% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">73.91%</div></td>
+      <td class="success small"><div align="right">17&nbsp;/&nbsp;23</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#154"><abbr title="object2array($object)">object2array</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">72</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;12</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#183"><abbr title="prepareStorageExt($aArgs)">prepareStorageExt</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">29.84</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="84.27" aria-valuemin="0" aria-valuemax="100" style="width: 84.27%">
+           <span class="sr-only">84.27% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">84.27%</div></td>
+      <td class="success small"><div align="right">75&nbsp;/&nbsp;89</div></td>
+     </tr>
+
+
+    </tbody>
+   </table>
+   <table id="code" class="table table-borderless table-condensed">
+    <tbody>
+     <tr><td><div align="right"><a name="1"></a><a href="#1">1</a></div></td><td class="codeLine"><span class="default">&lt;?php</span></td></tr>
+     <tr><td><div align="right"><a name="2"></a><a href="#2">2</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="3"></a><a href="#3">3</a></div></td><td class="codeLine"><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="4"></a><a href="#4">4</a></div></td><td class="codeLine"><span class="comment">*&nbsp;Copyright&nbsp;Maarch&nbsp;since&nbsp;2008&nbsp;under&nbsp;licence&nbsp;GPLv3.</span></td></tr>
+     <tr><td><div align="right"><a name="5"></a><a href="#5">5</a></div></td><td class="codeLine"><span class="comment">*&nbsp;See&nbsp;LICENCE.txt&nbsp;file&nbsp;at&nbsp;the&nbsp;root&nbsp;folder&nbsp;for&nbsp;more&nbsp;details.</span></td></tr>
+     <tr><td><div align="right"><a name="6"></a><a href="#6">6</a></div></td><td class="codeLine"><span class="comment">*&nbsp;This&nbsp;file&nbsp;is&nbsp;part&nbsp;of&nbsp;Maarch&nbsp;software.</span></td></tr>
+     <tr><td><div align="right"><a name="7"></a><a href="#7">7</a></div></td><td class="codeLine"><span class="comment">*</span></td></tr>
+     <tr><td><div align="right"><a name="8"></a><a href="#8">8</a></div></td><td class="codeLine"><span class="comment">*/</span></td></tr>
+     <tr><td><div align="right"><a name="9"></a><a href="#9">9</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="10"></a><a href="#10">10</a></div></td><td class="codeLine"><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="11"></a><a href="#11">11</a></div></td><td class="codeLine"><span class="comment">*&nbsp;@brief&nbsp;Resource&nbsp;Controller</span></td></tr>
+     <tr><td><div align="right"><a name="12"></a><a href="#12">12</a></div></td><td class="codeLine"><span class="comment">*&nbsp;@author&nbsp;dev@maarch.org</span></td></tr>
+     <tr><td><div align="right"><a name="13"></a><a href="#13">13</a></div></td><td class="codeLine"><span class="comment">*&nbsp;@ingroup&nbsp;core</span></td></tr>
+     <tr><td><div align="right"><a name="14"></a><a href="#14">14</a></div></td><td class="codeLine"><span class="comment">*/</span></td></tr>
+     <tr><td><div align="right"><a name="15"></a><a href="#15">15</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="16"></a><a href="#16">16</a></div></td><td class="codeLine"><span class="keyword">namespace</span><span class="default">&nbsp;</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="17"></a><a href="#17">17</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="18"></a><a href="#18">18</a></div></td><td class="codeLine"><span class="keyword">use</span><span class="default">&nbsp;</span><span class="default">Psr</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Message</span><span class="default">\</span><span class="default">RequestInterface</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="19"></a><a href="#19">19</a></div></td><td class="codeLine"><span class="keyword">use</span><span class="default">&nbsp;</span><span class="default">Psr</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Message</span><span class="default">\</span><span class="default">ResponseInterface</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="20"></a><a href="#20">20</a></div></td><td class="codeLine"><span class="keyword">use</span><span class="default">&nbsp;</span><span class="default">Respect</span><span class="default">\</span><span class="default">Validation</span><span class="default">\</span><span class="default">Validator</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="21"></a><a href="#21">21</a></div></td><td class="codeLine"><span class="keyword">use</span><span class="default">&nbsp;</span><span class="default">Core</span><span class="default">\</span><span class="default">Models</span><span class="default">\</span><span class="default">ResExtModel</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="22"></a><a href="#22">22</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 23" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="23"></a><a href="#23">23</a></div></td><td class="codeLine"><span class="keyword">require_once</span><span class="default">&nbsp;</span><span class="default">'core/class/class_db_pdo.php'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="24"></a><a href="#24">24</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="25"></a><a href="#25">25</a></div></td><td class="codeLine"><span class="keyword">class</span><span class="default">&nbsp;</span><span class="default">ResExtController</span></td></tr>
+     <tr><td><div align="right"><a name="26"></a><a href="#26">26</a></div></td><td class="codeLine"><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="27"></a><a href="#27">27</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">create</span><span class="keyword">(</span><span class="default">RequestInterface</span><span class="default">&nbsp;</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">ResponseInterface</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="28"></a><a href="#28">28</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 29" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="29"></a><a href="#29">29</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 30" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="30"></a><a href="#30">30</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="31"></a><a href="#31">31</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="32"></a><a href="#32">32</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getQueryParams</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="33"></a><a href="#33">33</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'data'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">json_decode</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'data'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="34"></a><a href="#34">34</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'data'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">object2array</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'data'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="35"></a><a href="#35">35</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="36"></a><a href="#36">36</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 37" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="37"></a><a href="#37">37</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$return</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">storeExtResource</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="38"></a><a href="#38">38</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 39" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="39"></a><a href="#39">39</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$return</span><span class="keyword">[</span><span class="default">'errors'</span><span class="keyword">]</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="40"></a><a href="#40">40</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="41"></a><a href="#41">41</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withStatus</span><span class="keyword">(</span><span class="default">500</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="42"></a><a href="#42">42</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="43"></a><a href="#43">43</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">_NOT_CREATE</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$return</span><span class="keyword">[</span><span class="default">'errors'</span><span class="keyword">]</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="44"></a><a href="#44">44</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="45"></a><a href="#45">45</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="46"></a><a href="#46">46</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 47" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="47"></a><a href="#47">47</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="keyword">[</span><span class="default">$return</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="48"></a><a href="#48">48</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="49"></a><a href="#49">49</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="50"></a><a href="#50">50</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">delete</span><span class="keyword">(</span><span class="default">RequestInterface</span><span class="default">&nbsp;</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">ResponseInterface</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="51"></a><a href="#51">51</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 52" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="52"></a><a href="#52">52</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">isset</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'id'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 53" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="53"></a><a href="#53">53</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">deleteExtRes</span><span class="keyword">(</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 54" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="54"></a><a href="#54">54</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'id'</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="55"></a><a href="#55">55</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 56" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="56"></a><a href="#56">56</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">$obj</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="57"></a><a href="#57">57</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="58"></a><a href="#58">58</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withStatus</span><span class="keyword">(</span><span class="default">500</span><span class="keyword">)</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 59" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="59"></a><a href="#59">59</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">_NOT_DELETE</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="60"></a><a href="#60">60</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="61"></a><a href="#61">61</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="62"></a><a href="#62">62</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="63"></a><a href="#63">63</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withStatus</span><span class="keyword">(</span><span class="default">500</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="64"></a><a href="#64">64</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">_NOT_DELETE</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="65"></a><a href="#65">65</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="66"></a><a href="#66">66</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="67"></a><a href="#67">67</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 68" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="68"></a><a href="#68">68</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="69"></a><a href="#69">69</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="70"></a><a href="#70">70</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 71" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="71"></a><a href="#71">71</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="default">$datas</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="72"></a><a href="#72">72</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="73"></a><a href="#73">73</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="74"></a><a href="#74">74</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="75"></a><a href="#75">75</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Deletes&nbsp;ext&nbsp;resource&nbsp;on&nbsp;database.</span></td></tr>
+     <tr><td><div align="right"><a name="76"></a><a href="#76">76</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;$resId&nbsp;&nbsp;integer</span></td></tr>
+     <tr><td><div align="right"><a name="77"></a><a href="#77">77</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;$table&nbsp;&nbsp;string</span></td></tr>
+     <tr><td><div align="right"><a name="78"></a><a href="#78">78</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;res_id</span></td></tr>
+     <tr><td><div align="right"><a name="79"></a><a href="#79">79</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span></td></tr>
+     <tr><td><div align="right"><a name="80"></a><a href="#80">80</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">deleteExtRes</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="81"></a><a href="#81">81</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 82" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDelete&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDeleteExtRes&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="82"></a><a href="#82">82</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">isset</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'id'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 83" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDelete&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDeleteExtRes&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="83"></a><a href="#83">83</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">ResExtModel</span><span class="default">::</span><span class="default">delete</span><span class="keyword">(</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 84" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDelete&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDeleteExtRes&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="84"></a><a href="#84">84</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'id'</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="85"></a><a href="#85">85</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="86"></a><a href="#86">86</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="87"></a><a href="#87">87</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="88"></a><a href="#88">88</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="89"></a><a href="#89">89</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 90" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDelete&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDeleteExtRes&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="90"></a><a href="#90">90</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$obj</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="91"></a><a href="#91">91</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 92" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDelete&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDeleteExtRes&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="92"></a><a href="#92">92</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$datas</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="93"></a><a href="#93">93</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="94"></a><a href="#94">94</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="95"></a><a href="#95">95</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="96"></a><a href="#96">96</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Store&nbsp;ext&nbsp;resource&nbsp;on&nbsp;database.</span></td></tr>
+     <tr><td><div align="right"><a name="97"></a><a href="#97">97</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;$resId&nbsp;&nbsp;integer</span></td></tr>
+     <tr><td><div align="right"><a name="98"></a><a href="#98">98</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;$data&nbsp;array</span></td></tr>
+     <tr><td><div align="right"><a name="99"></a><a href="#99">99</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;$table&nbsp;&nbsp;string</span></td></tr>
+     <tr><td><div align="right"><a name="100"></a><a href="#100">100</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;res_id</span></td></tr>
+     <tr><td><div align="right"><a name="101"></a><a href="#101">101</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span></td></tr>
+     <tr><td><div align="right"><a name="102"></a><a href="#102">102</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">storeExtResource</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="103"></a><a href="#103">103</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 104" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="104"></a><a href="#104">104</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'resId'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="105"></a><a href="#105">105</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'resId&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="106"></a><a href="#106">106</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="107"></a><a href="#107">107</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 108" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="108"></a><a href="#108">108</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'data'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="109"></a><a href="#109">109</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'data&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="110"></a><a href="#110">110</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="111"></a><a href="#111">111</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 112" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="112"></a><a href="#112">112</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'table'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="113"></a><a href="#113">113</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'table&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="114"></a><a href="#114">114</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="115"></a><a href="#115">115</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 116" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="116"></a><a href="#116">116</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'resTable'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="117"></a><a href="#117">117</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'resTable&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="118"></a><a href="#118">118</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="119"></a><a href="#119">119</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 120" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="120"></a><a href="#120">120</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$resDetails</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">ResExtModel</span><span class="default">::</span><span class="default">getById</span><span class="keyword">(</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 121" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="121"></a><a href="#121">121</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'resId'</span><span class="default">&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'resId'</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 122" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="122"></a><a href="#122">122</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'table'</span><span class="default">&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'resTable'</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="123"></a><a href="#123">123</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'select'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'res_id'</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="124"></a><a href="#124">124</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="125"></a><a href="#125">125</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 126" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="126"></a><a href="#126">126</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$resDetails</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'res_id'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="127"></a><a href="#127">127</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'res_id&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_OF</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'resTable'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NOT_EXISTS</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="128"></a><a href="#128">128</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="129"></a><a href="#129">129</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 130" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="130"></a><a href="#130">130</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$resDetails</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">ResExtModel</span><span class="default">::</span><span class="default">getById</span><span class="keyword">(</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 131" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="131"></a><a href="#131">131</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'resId'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'resId'</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 132" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="132"></a><a href="#132">132</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'table'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'table'</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="133"></a><a href="#133">133</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'select'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'res_id'</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="134"></a><a href="#134">134</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="135"></a><a href="#135">135</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 136" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="136"></a><a href="#136">136</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$resDetails</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'res_id'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">&gt;</span><span class="default">&nbsp;</span><span class="default">0</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="137"></a><a href="#137">137</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'res_id&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_OF</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'table'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EXISTS</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="138"></a><a href="#138">138</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="139"></a><a href="#139">139</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 140" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="140"></a><a href="#140">140</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$prepareData</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">prepareStorageExt</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="141"></a><a href="#141">141</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 142" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="142"></a><a href="#142">142</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$resExtInsert</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">ResExtModel</span><span class="default">::</span><span class="default">create</span><span class="keyword">(</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 143" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="143"></a><a href="#143">143</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'table'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'mlb_coll_ext'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 144" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="144"></a><a href="#144">144</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'data'</span><span class="default">&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$prepareData</span></td></tr>
+     <tr><td><div align="right"><a name="145"></a><a href="#145">145</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="146"></a><a href="#146">146</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 147" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="147"></a><a href="#147">147</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">true</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="148"></a><a href="#148">148</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="149"></a><a href="#149">149</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="150"></a><a href="#150">150</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="151"></a><a href="#151">151</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Convert&nbsp;an&nbsp;object&nbsp;to&nbsp;an&nbsp;array</span></td></tr>
+     <tr><td><div align="right"><a name="152"></a><a href="#152">152</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;$object&nbsp;object&nbsp;to&nbsp;convert</span></td></tr>
+     <tr><td><div align="right"><a name="153"></a><a href="#153">153</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;*/</span></td></tr>
+     <tr><td><div align="right"><a name="154"></a><a href="#154">154</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">private</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">object2array</span><span class="keyword">(</span><span class="default">$object</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="155"></a><a href="#155">155</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="156"></a><a href="#156">156</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$return</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">null</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="157"></a><a href="#157">157</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">is_array</span><span class="keyword">(</span><span class="default">$object</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="158"></a><a href="#158">158</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">foreach</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$object</span><span class="default">&nbsp;</span><span class="keyword">as</span><span class="default">&nbsp;</span><span class="default">$key</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$value</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="159"></a><a href="#159">159</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$return</span><span class="keyword">[</span><span class="default">$key</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">object2array</span><span class="keyword">(</span><span class="default">$value</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="160"></a><a href="#160">160</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="161"></a><a href="#161">161</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="162"></a><a href="#162">162</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">is_object</span><span class="keyword">(</span><span class="default">$object</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="163"></a><a href="#163">163</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$var</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">get_object_vars</span><span class="keyword">(</span><span class="default">$object</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="164"></a><a href="#164">164</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$var</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="165"></a><a href="#165">165</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">foreach</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$var</span><span class="default">&nbsp;</span><span class="keyword">as</span><span class="default">&nbsp;</span><span class="default">$key</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$value</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="166"></a><a href="#166">166</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$return</span><span class="keyword">[</span><span class="default">$key</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$key</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span><span class="default">&nbsp;</span><span class="keyword">!</span><span class="default">$value</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">?</span><span class="default">&nbsp;</span><span class="default">null</span><span class="default">&nbsp;</span><span class="keyword">:</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">object2array</span><span class="keyword">(</span><span class="default">$value</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="167"></a><a href="#167">167</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="168"></a><a href="#168">168</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="169"></a><a href="#169">169</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$object</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="170"></a><a href="#170">170</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="171"></a><a href="#171">171</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="172"></a><a href="#172">172</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$object</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="173"></a><a href="#173">173</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="174"></a><a href="#174">174</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="175"></a><a href="#175">175</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$return</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="176"></a><a href="#176">176</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="177"></a><a href="#177">177</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="178"></a><a href="#178">178</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="179"></a><a href="#179">179</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;Prepares&nbsp;storage&nbsp;on&nbsp;database&nbsp;for&nbsp;resExt.</span></td></tr>
+     <tr><td><div align="right"><a name="180"></a><a href="#180">180</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@param&nbsp;&nbsp;$data&nbsp;array</span></td></tr>
+     <tr><td><div align="right"><a name="181"></a><a href="#181">181</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*&nbsp;@return&nbsp;array&nbsp;$data</span></td></tr>
+     <tr><td><div align="right"><a name="182"></a><a href="#182">182</a></div></td><td class="codeLine"><span class="comment">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;*/</span></td></tr>
+     <tr><td><div align="right"><a name="183"></a><a href="#183">183</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">prepareStorageExt</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="184"></a><a href="#184">184</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 185" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="185"></a><a href="#185">185</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'resId'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="186"></a><a href="#186">186</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'resId&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="187"></a><a href="#187">187</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 188" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="188"></a><a href="#188">188</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'data'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="189"></a><a href="#189">189</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'data&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="190"></a><a href="#190">190</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 191" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="191"></a><a href="#191">191</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'table'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="192"></a><a href="#192">192</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'table&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_EMPTY</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="193"></a><a href="#193">193</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 194" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="194"></a><a href="#194">194</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$queryExtFields</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'('</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 195" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="195"></a><a href="#195">195</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$queryExtValues</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'('</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 196" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="196"></a><a href="#196">196</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$queryExtValuesFinal</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'('</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 197" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="197"></a><a href="#197">197</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$parameters</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 198" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="198"></a><a href="#198">198</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$findProcessLimitDate</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 199" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="199"></a><a href="#199">199</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$findProcessNotes</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 200" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="200"></a><a href="#200">200</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$delayProcessNotes</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">0</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="201"></a><a href="#201">201</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 202" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="202"></a><a href="#202">202</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$resId</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'resId'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 203" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="203"></a><a href="#203">203</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$table</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'table'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 204" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="204"></a><a href="#204">204</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'data'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 205" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="205"></a><a href="#205">205</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$countD</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">count</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 206" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="206"></a><a href="#206">206</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">for</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$i</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">0</span><span class="keyword">;</span><span class="default">&nbsp;</span><span class="default">$i</span><span class="default">&nbsp;</span><span class="keyword">&lt;</span><span class="default">&nbsp;</span><span class="default">$countD</span><span class="keyword">;</span><span class="default">&nbsp;</span><span class="default">$i</span><span class="default">++</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 207" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="207"></a><a href="#207">207</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'column'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">'process_limit_date'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 208" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="208"></a><a href="#208">208</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$findProcessLimitDate</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">true</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="209"></a><a href="#209">209</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 210" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="210"></a><a href="#210">210</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'column'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">'process_notes'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 211" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="211"></a><a href="#211">211</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$findProcessNotes</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">true</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 212" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="212"></a><a href="#212">212</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$don</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">explode</span><span class="keyword">(</span><span class="default">','</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 213" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="213"></a><a href="#213">213</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$delayProcessNotes</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$don</span><span class="keyword">[</span><span class="default">'0'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 214" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="214"></a><a href="#214">214</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$calendarType</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$don</span><span class="keyword">[</span><span class="default">'1'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="215"></a><a href="#215">215</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="216"></a><a href="#216">216</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="217"></a><a href="#217">217</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 218" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="218"></a><a href="#218">218</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$table</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">'mlb_coll_ext'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 219" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="219"></a><a href="#219">219</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$ResExtModel</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">ResExtModel</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 220" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="220"></a><a href="#220">220</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$delayProcessNotes</span><span class="default">&nbsp;</span><span class="keyword">&gt;</span><span class="default">&nbsp;</span><span class="default">0</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 221" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="221"></a><a href="#221">221</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$processLimitDate</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$ResExtModel</span><span class="default">-&gt;</span><span class="default">retrieveProcessLimitDate</span><span class="keyword">(</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 222" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="222"></a><a href="#222">222</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'resId'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$resId</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 223" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="223"></a><a href="#223">223</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'delayProcessNotes'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$delayProcessNotes</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 224" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="224"></a><a href="#224">224</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'calendarType'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$calendarType</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="225"></a><a href="#225">225</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="226"></a><a href="#226">226</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="227"></a><a href="#227">227</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$processLimitDate</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$ResExtModel</span><span class="default">-&gt;</span><span class="default">retrieveProcessLimitDate</span><span class="keyword">(</span><span class="keyword">[</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="228"></a><a href="#228">228</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'resId'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$resId</span></td></tr>
+     <tr><td><div align="right"><a name="229"></a><a href="#229">229</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="230"></a><a href="#230">230</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="231"></a><a href="#231">231</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="232"></a><a href="#232">232</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 233" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="233"></a><a href="#233">233</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">$findProcessLimitDate</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span><span class="default">&nbsp;</span><span class="default">$processLimitDate</span><span class="default">&nbsp;</span><span class="default">&lt;&gt;</span><span class="default">&nbsp;</span><span class="default">''</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="234"></a><a href="#234">234</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="235"></a><a href="#235">235</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="236"></a><a href="#236">236</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="237"></a><a href="#237">237</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'process_limit_date'</span><span class="keyword">,</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="238"></a><a href="#238">238</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$processLimitDate</span><span class="keyword">,</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="239"></a><a href="#239">239</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'date'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="240"></a><a href="#240">240</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="241"></a><a href="#241">241</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="242"></a><a href="#242">242</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 243" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="243"></a><a href="#243">243</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">require_once</span><span class="default">&nbsp;</span><span class="default">'apps/maarch_entreprise/class/class_chrono.php'</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 244" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="244"></a><a href="#244">244</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$chronoX</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">chrono</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 245" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="245"></a><a href="#245">245</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">require_once</span><span class="default">&nbsp;</span><span class="default">'apps/maarch_entreprise/Models/ContactsModel.php'</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 246" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="246"></a><a href="#246">246</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$contacts</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">ContactsModel</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 247" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="247"></a><a href="#247">247</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">for</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$i</span><span class="keyword">=</span><span class="default">0</span><span class="keyword">;</span><span class="default">&nbsp;</span><span class="default">$i</span><span class="keyword">&lt;</span><span class="default">count</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">)</span><span class="keyword">;</span><span class="default">&nbsp;</span><span class="default">$i</span><span class="default">++</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 248" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="248"></a><a href="#248">248</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">strtoupper</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'type'</span><span class="keyword">]</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">'INTEGER'</span><span class="default">&nbsp;</span><span class="default">||</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 249" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="249"></a><a href="#249">249</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">strtoupper</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'type'</span><span class="keyword">]</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">'FLOAT'</span></td></tr>
+     <tr><td><div align="right"><a name="250"></a><a href="#250">250</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="251"></a><a href="#251">251</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">''</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="252"></a><a href="#252">252</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'0'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="253"></a><a href="#253">253</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="254"></a><a href="#254">254</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">str_replace</span><span class="keyword">(</span><span class="default">','</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'.'</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="255"></a><a href="#255">255</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 256" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="256"></a><a href="#256">256</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">strtoupper</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'column'</span><span class="keyword">]</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">strtoupper</span><span class="keyword">(</span><span class="default">'category_id'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 257" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="257"></a><a href="#257">257</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$categoryId</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="258"></a><a href="#258">258</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 259" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="259"></a><a href="#259">259</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">strtoupper</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'column'</span><span class="keyword">]</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">strtoupper</span><span class="keyword">(</span><span class="default">'alt_identifier'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 260" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="260"></a><a href="#260">260</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">&quot;&quot;</span></td></tr>
+     <tr><td><div align="right"><a name="261"></a><a href="#261">261</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 262" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="262"></a><a href="#262">262</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$table</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">'mlb_coll_ext'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 263" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="263"></a><a href="#263">263</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$resDetails</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">ResExtModel</span><span class="default">::</span><span class="default">getById</span><span class="keyword">(</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 264" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="264"></a><a href="#264">264</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'resId'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$resId</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 265" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="265"></a><a href="#265">265</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'table'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'res_letterbox'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="266"></a><a href="#266">266</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'select'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'destination,&nbsp;type_id'</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="267"></a><a href="#267">267</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="268"></a><a href="#268">268</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$myVars</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 269" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="269"></a><a href="#269">269</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'entity_id'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$resDetails</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'destination'</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 270" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="270"></a><a href="#270">270</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type_id'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$resDetails</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'type_id'</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 271" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="271"></a><a href="#271">271</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'category_id'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$categoryId</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 272" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="272"></a><a href="#272">272</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'folder_id'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">&quot;&quot;</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="273"></a><a href="#273">273</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 274" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="274"></a><a href="#274">274</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$myChrono</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$chronoX</span><span class="default">-&gt;</span><span class="default">generate_chrono</span><span class="keyword">(</span><span class="default">$categoryId</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$myVars</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'false'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 275" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="275"></a><a href="#275">275</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$myChrono</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="276"></a><a href="#276">276</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="277"></a><a href="#277">277</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 278" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="278"></a><a href="#278">278</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">strtoupper</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'column'</span><span class="keyword">]</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">strtoupper</span><span class="keyword">(</span><span class="default">'exp_contact_id'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 279" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="279"></a><a href="#279">279</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="default">&lt;&gt;</span><span class="default">&nbsp;</span><span class="default">&quot;&quot;</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 280" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="280"></a><a href="#280">280</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">!</span><span class="default">is_numeric</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="281"></a><a href="#281">281</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 282" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="282"></a><a href="#282">282</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$theString</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">str_replace</span><span class="keyword">(</span><span class="default">&quot;&gt;&quot;</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">&quot;&quot;</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 283" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="283"></a><a href="#283">283</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$mail</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">explode</span><span class="keyword">(</span><span class="default">&quot;&lt;&quot;</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$theString</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 284" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="284"></a><a href="#284">284</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$contactDetails</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">$contacts</span><span class="default">-&gt;</span><span class="default">getByEmail</span><span class="keyword">(</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 285" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="285"></a><a href="#285">285</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'email'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$mail</span><span class="keyword">[</span><span class="default">count</span><span class="keyword">(</span><span class="default">$mail</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">-</span><span class="default">1</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="286"></a><a href="#286">286</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'select'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'contact_id'</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="287"></a><a href="#287">287</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 288" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="288"></a><a href="#288">288</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$contactDetails</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'contact_id'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="default">&lt;&gt;</span><span class="default">&nbsp;</span><span class="default">&quot;&quot;</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 289" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="289"></a><a href="#289">289</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$contactDetails</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'contact_id'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="290"></a><a href="#290">290</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="291"></a><a href="#291">291</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">0</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="292"></a><a href="#292">292</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 293" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="293"></a><a href="#293">293</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'type'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'integer'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="294"></a><a href="#294">294</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 295" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="295"></a><a href="#295">295</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">strtoupper</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'column'</span><span class="keyword">]</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">strtoupper</span><span class="keyword">(</span><span class="default">'address_id'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 296" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="296"></a><a href="#296">296</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="default">&lt;&gt;</span><span class="default">&nbsp;</span><span class="default">&quot;&quot;</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 297" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="297"></a><a href="#297">297</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">!</span><span class="default">is_numeric</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="298"></a><a href="#298">298</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 299" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="299"></a><a href="#299">299</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$theString</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">str_replace</span><span class="keyword">(</span><span class="default">&quot;&gt;&quot;</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">&quot;&quot;</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 300" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="300"></a><a href="#300">300</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$mail</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">explode</span><span class="keyword">(</span><span class="default">&quot;&lt;&quot;</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$theString</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 301" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="301"></a><a href="#301">301</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$contactDetails</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">$contacts</span><span class="default">-&gt;</span><span class="default">getByEmail</span><span class="keyword">(</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 302" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="302"></a><a href="#302">302</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'email'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$mail</span><span class="keyword">[</span><span class="default">count</span><span class="keyword">(</span><span class="default">$mail</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">-</span><span class="default">1</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="303"></a><a href="#303">303</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'select'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="default">'ca_id'</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="304"></a><a href="#304">304</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 305" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="305"></a><a href="#305">305</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$contactDetails</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'ca_id'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="default">&lt;&gt;</span><span class="default">&nbsp;</span><span class="default">&quot;&quot;</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 306" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="306"></a><a href="#306">306</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$contactDetails</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'ca_id'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="307"></a><a href="#307">307</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="308"></a><a href="#308">308</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">0</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="309"></a><a href="#309">309</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 310" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="310"></a><a href="#310">310</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'type'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'integer'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="311"></a><a href="#311">311</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="312"></a><a href="#312">312</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//COLUMN</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 313" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="313"></a><a href="#313">313</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'column'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">strtolower</span><span class="keyword">(</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'column'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="314"></a><a href="#314">314</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//VALUE</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 315" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="315"></a><a href="#315">315</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$parameters</span><span class="keyword">[</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'column'</span><span class="keyword">]</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$data</span><span class="keyword">[</span><span class="default">$i</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'value'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="316"></a><a href="#316">316</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 317" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="317"></a><a href="#317">317</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$parameters</span><span class="keyword">[</span><span class="default">'res_id'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$resId</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="318"></a><a href="#318">318</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="3 tests cover line 319" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="319"></a><a href="#319">319</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$parameters</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="320"></a><a href="#320">320</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="321"></a><a href="#321">321</a></div></td><td class="codeLine"><span class="keyword">}</span></td></tr>
+
+    </tbody>
+   </table>
+   <footer>
+    <hr/>
+    <h4>Legend</h4>
+    <p>
+     <span class="success"><strong>Executed</strong></span>
+     <span class="danger"><strong>Not Executed</strong></span>
+     <span class="warning"><strong>Dead Code</strong></span>
+    </p>
+    <p>
+     <small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 3.2.1</a> using <a href="http://php.net/" target="_top">PHP 7.0.16-4+deb.sury.org~xenial+1</a> and <a href="https://phpunit.de/">PHPUnit 5.1.3</a> at Tue Mar 14 18:22:56 CET 2017.</small>
+    </p>
+    <a title="Back to the top" id="toplink" href="#"><span class="glyphicon glyphicon-arrow-up"></span></a>
+   </footer>
+  </div>
+  <script src="../js/jquery.min.js" type="text/javascript"></script>
+  <script src="../js/bootstrap.min.js" type="text/javascript"></script>
+  <script src="../js/holder.min.js" type="text/javascript"></script>
+  <script type="text/javascript">
+  $(function() {
+   var $window   = $(window)
+     , $top_link = $('#toplink')
+     , $body     = $('body, html')
+     , offset    = $('#code').offset().top;
+
+   $top_link.hide().click(function(event) {
+    event.preventDefault();
+    $body.animate({scrollTop:0}, 800);
+   });
+
+   $window.scroll(function() {
+    if($window.scrollTop() > offset) {
+     $top_link.fadeIn();
+    } else {
+     $top_link.fadeOut();
+    }
+   }).scroll();
+
+   $('.popin').popover({trigger: 'hover'});
+  });
+  </script>
+ </body>
+</html>
diff --git a/core/Test/build/Controllers/StatusController.php.html b/core/Test/build/Controllers/StatusController.php.html
new file mode 100644
index 0000000000000000000000000000000000000000..8346d744d15874781a121a8b6018d97fa1b35b5c
--- /dev/null
+++ b/core/Test/build/Controllers/StatusController.php.html
@@ -0,0 +1,519 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+  <meta charset="UTF-8">
+  <title>Code Coverage for /var/www/html/MaarchCourrier/core/Controllers/StatusController.php</title>
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <link href="../css/bootstrap.min.css" rel="stylesheet">
+  <link href="../css/style.css" rel="stylesheet">
+  <!--[if lt IE 9]>
+  <script src="../js/html5shiv.min.js"></script>
+  <script src="../js/respond.min.js"></script>
+  <![endif]-->
+ </head>
+ <body>
+  <header>
+   <div class="container">
+    <div class="row">
+     <div class="col-md-12">
+      <ol class="breadcrumb">
+        <li><a href="../index.html">/var/www/html/MaarchCourrier/core</a></li>
+        <li><a href="index.html">Controllers</a></li>
+        <li class="active">StatusController.php</li>
+
+      </ol>
+     </div>
+    </div>
+   </div>
+  </header>
+  <div class="container">
+   <table class="table table-bordered">
+    <thead>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td>
+     </tr>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td>
+      <td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td>
+      <td colspan="3"><div align="center"><strong>Lines</strong></div></td>
+     </tr>
+    </thead>
+    <tbody>
+     <tr>
+      <td class="danger">Total</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="16.67" aria-valuemin="0" aria-valuemax="100" style="width: 16.67%">
+           <span class="sr-only">16.67% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">16.67%</div></td>
+      <td class="danger small"><div align="right">1&nbsp;/&nbsp;6</div></td>
+      <td class="danger small"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></td>
+      <td class="warning big">       <div class="progress">
+         <div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="66.06" aria-valuemin="0" aria-valuemax="100" style="width: 66.06%">
+           <span class="sr-only">66.06% covered (warning)</span>
+         </div>
+       </div>
+</td>
+      <td class="warning small"><div align="right">66.06%</div></td>
+      <td class="warning small"><div align="right">72&nbsp;/&nbsp;109</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger">StatusController</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="16.67" aria-valuemin="0" aria-valuemax="100" style="width: 16.67%">
+           <span class="sr-only">16.67% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">16.67%</div></td>
+      <td class="danger small"><div align="right">1&nbsp;/&nbsp;6</div></td>
+      <td class="danger small">86.69</td>
+      <td class="warning big">       <div class="progress">
+         <div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="66.06" aria-valuemin="0" aria-valuemax="100" style="width: 66.06%">
+           <span class="sr-only">66.06% covered (warning)</span>
+         </div>
+       </div>
+</td>
+      <td class="warning small"><div align="right">66.06%</div></td>
+      <td class="warning small"><div align="right">72&nbsp;/&nbsp;109</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#25"><abbr title="getList(RequestInterface $request, ResponseInterface $response)">getList</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">3&nbsp;/&nbsp;3</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#36"><abbr title="getById(RequestInterface $request, ResponseInterface $response, $aArgs)">getById</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">2.06</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="75.00" aria-valuemin="0" aria-valuemax="100" style="width: 75.00%">
+           <span class="sr-only">75.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">75.00%</div></td>
+      <td class="success small"><div align="right">6&nbsp;/&nbsp;8</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#56"><abbr title="create(RequestInterface $request, ResponseInterface $response, $aArgs)">create</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">3.17</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="73.33" aria-valuemin="0" aria-valuemax="100" style="width: 73.33%">
+           <span class="sr-only">73.33% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">73.33%</div></td>
+      <td class="success small"><div align="right">11&nbsp;/&nbsp;15</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#90"><abbr title="update(RequestInterface $request, ResponseInterface $response, $aArgs)">update</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">3.17</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="73.33" aria-valuemin="0" aria-valuemax="100" style="width: 73.33%">
+           <span class="sr-only">73.33% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">73.33%</div></td>
+      <td class="success small"><div align="right">11&nbsp;/&nbsp;15</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#124"><abbr title="delete(RequestInterface $request, ResponseInterface $response, $aArgs)">delete</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">2.06</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="75.00" aria-valuemin="0" aria-valuemax="100" style="width: 75.00%">
+           <span class="sr-only">75.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">75.00%</div></td>
+      <td class="success small"><div align="right">6&nbsp;/&nbsp;8</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#144"><abbr title="control($request, $mode)">control</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">70.21</td>
+      <td class="warning big">       <div class="progress">
+         <div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="58.33" aria-valuemin="0" aria-valuemax="100" style="width: 58.33%">
+           <span class="sr-only">58.33% covered (warning)</span>
+         </div>
+       </div>
+</td>
+      <td class="warning small"><div align="right">58.33%</div></td>
+      <td class="warning small"><div align="right">35&nbsp;/&nbsp;60</div></td>
+     </tr>
+
+
+    </tbody>
+   </table>
+   <table id="code" class="table table-borderless table-condensed">
+    <tbody>
+     <tr><td><div align="right"><a name="1"></a><a href="#1">1</a></div></td><td class="codeLine"><span class="default">&lt;?php</span></td></tr>
+     <tr><td><div align="right"><a name="2"></a><a href="#2">2</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="3"></a><a href="#3">3</a></div></td><td class="codeLine"><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="4"></a><a href="#4">4</a></div></td><td class="codeLine"><span class="comment">*&nbsp;Copyright&nbsp;Maarch&nbsp;since&nbsp;2008&nbsp;under&nbsp;licence&nbsp;GPLv3.</span></td></tr>
+     <tr><td><div align="right"><a name="5"></a><a href="#5">5</a></div></td><td class="codeLine"><span class="comment">*&nbsp;See&nbsp;LICENCE.txt&nbsp;file&nbsp;at&nbsp;the&nbsp;root&nbsp;folder&nbsp;for&nbsp;more&nbsp;details.</span></td></tr>
+     <tr><td><div align="right"><a name="6"></a><a href="#6">6</a></div></td><td class="codeLine"><span class="comment">*&nbsp;This&nbsp;file&nbsp;is&nbsp;part&nbsp;of&nbsp;Maarch&nbsp;software.</span></td></tr>
+     <tr><td><div align="right"><a name="7"></a><a href="#7">7</a></div></td><td class="codeLine"><span class="comment">*</span></td></tr>
+     <tr><td><div align="right"><a name="8"></a><a href="#8">8</a></div></td><td class="codeLine"><span class="comment">*/</span></td></tr>
+     <tr><td><div align="right"><a name="9"></a><a href="#9">9</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="10"></a><a href="#10">10</a></div></td><td class="codeLine"><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="11"></a><a href="#11">11</a></div></td><td class="codeLine"><span class="comment">*&nbsp;@brief&nbsp;Status&nbsp;Controller</span></td></tr>
+     <tr><td><div align="right"><a name="12"></a><a href="#12">12</a></div></td><td class="codeLine"><span class="comment">*&nbsp;@author&nbsp;dev@maarch.org</span></td></tr>
+     <tr><td><div align="right"><a name="13"></a><a href="#13">13</a></div></td><td class="codeLine"><span class="comment">*&nbsp;@ingroup&nbsp;core</span></td></tr>
+     <tr><td><div align="right"><a name="14"></a><a href="#14">14</a></div></td><td class="codeLine"><span class="comment">*/</span></td></tr>
+     <tr><td><div align="right"><a name="15"></a><a href="#15">15</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="16"></a><a href="#16">16</a></div></td><td class="codeLine"><span class="keyword">namespace</span><span class="default">&nbsp;</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="17"></a><a href="#17">17</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="18"></a><a href="#18">18</a></div></td><td class="codeLine"><span class="keyword">use</span><span class="default">&nbsp;</span><span class="default">Psr</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Message</span><span class="default">\</span><span class="default">RequestInterface</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="19"></a><a href="#19">19</a></div></td><td class="codeLine"><span class="keyword">use</span><span class="default">&nbsp;</span><span class="default">Psr</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Message</span><span class="default">\</span><span class="default">ResponseInterface</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="20"></a><a href="#20">20</a></div></td><td class="codeLine"><span class="keyword">use</span><span class="default">&nbsp;</span><span class="default">Respect</span><span class="default">\</span><span class="default">Validation</span><span class="default">\</span><span class="default">Validator</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="21"></a><a href="#21">21</a></div></td><td class="codeLine"><span class="keyword">use</span><span class="default">&nbsp;</span><span class="default">Core</span><span class="default">\</span><span class="default">Models</span><span class="default">\</span><span class="default">StatusModel</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="22"></a><a href="#22">22</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="23"></a><a href="#23">23</a></div></td><td class="codeLine"><span class="keyword">class</span><span class="default">&nbsp;</span><span class="default">StatusController</span></td></tr>
+     <tr><td><div align="right"><a name="24"></a><a href="#24">24</a></div></td><td class="codeLine"><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="25"></a><a href="#25">25</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">getList</span><span class="keyword">(</span><span class="default">RequestInterface</span><span class="default">&nbsp;</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">ResponseInterface</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="26"></a><a href="#26">26</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 27" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="27"></a><a href="#27">27</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">StatusModel</span><span class="default">::</span><span class="default">getList</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="28"></a><a href="#28">28</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="29"></a><a href="#29">29</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 30" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="30"></a><a href="#30">30</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="31"></a><a href="#31">31</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="32"></a><a href="#32">32</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 33" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="33"></a><a href="#33">33</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="default">$datas</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="34"></a><a href="#34">34</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="35"></a><a href="#35">35</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="36"></a><a href="#36">36</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">getById</span><span class="keyword">(</span><span class="default">RequestInterface</span><span class="default">&nbsp;</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">ResponseInterface</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="37"></a><a href="#37">37</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 38" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="38"></a><a href="#38">38</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">isset</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'id'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 39" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="39"></a><a href="#39">39</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$id</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'id'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 40" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="40"></a><a href="#40">40</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">StatusModel</span><span class="default">::</span><span class="default">getById</span><span class="keyword">(</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 41" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="41"></a><a href="#41">41</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$id</span></td></tr>
+     <tr><td><div align="right"><a name="42"></a><a href="#42">42</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="43"></a><a href="#43">43</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="44"></a><a href="#44">44</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="45"></a><a href="#45">45</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withStatus</span><span class="keyword">(</span><span class="default">500</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="46"></a><a href="#46">46</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">_ID</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_IS_EMPTY</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="47"></a><a href="#47">47</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="48"></a><a href="#48">48</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="49"></a><a href="#49">49</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 50" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="50"></a><a href="#50">50</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="51"></a><a href="#51">51</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="52"></a><a href="#52">52</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 53" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="53"></a><a href="#53">53</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="default">$datas</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="54"></a><a href="#54">54</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="55"></a><a href="#55">55</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="56"></a><a href="#56">56</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">create</span><span class="keyword">(</span><span class="default">RequestInterface</span><span class="default">&nbsp;</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">ResponseInterface</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="57"></a><a href="#57">57</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 58" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="58"></a><a href="#58">58</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$errors</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="59"></a><a href="#59">59</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 60" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="60"></a><a href="#60">60</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$errors</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">control</span><span class="keyword">(</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'create'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="61"></a><a href="#61">61</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 62" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="62"></a><a href="#62">62</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$errors</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="63"></a><a href="#63">63</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="64"></a><a href="#64">64</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withStatus</span><span class="keyword">(</span><span class="default">500</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="65"></a><a href="#65">65</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$errors</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="66"></a><a href="#66">66</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="67"></a><a href="#67">67</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 68" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="68"></a><a href="#68">68</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getQueryParams</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="69"></a><a href="#69">69</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 70" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="70"></a><a href="#70">70</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$return</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">StatusModel</span><span class="default">::</span><span class="default">create</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="71"></a><a href="#71">71</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 72" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="72"></a><a href="#72">72</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$return</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 73" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="73"></a><a href="#73">73</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$id</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'id'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 74" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="74"></a><a href="#74">74</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">StatusModel</span><span class="default">::</span><span class="default">getById</span><span class="keyword">(</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 75" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="75"></a><a href="#75">75</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$id</span></td></tr>
+     <tr><td><div align="right"><a name="76"></a><a href="#76">76</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="77"></a><a href="#77">77</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="78"></a><a href="#78">78</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="79"></a><a href="#79">79</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withStatus</span><span class="keyword">(</span><span class="default">500</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="80"></a><a href="#80">80</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">_NOT_CREATE</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="81"></a><a href="#81">81</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="82"></a><a href="#82">82</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="83"></a><a href="#83">83</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 84" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="84"></a><a href="#84">84</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="85"></a><a href="#85">85</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="86"></a><a href="#86">86</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 87" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="87"></a><a href="#87">87</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="default">$datas</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="88"></a><a href="#88">88</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="89"></a><a href="#89">89</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="90"></a><a href="#90">90</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">update</span><span class="keyword">(</span><span class="default">RequestInterface</span><span class="default">&nbsp;</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">ResponseInterface</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="91"></a><a href="#91">91</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 92" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="92"></a><a href="#92">92</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$errors</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="93"></a><a href="#93">93</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 94" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="94"></a><a href="#94">94</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$errors</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">control</span><span class="keyword">(</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'update'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="95"></a><a href="#95">95</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 96" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="96"></a><a href="#96">96</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$errors</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="97"></a><a href="#97">97</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="98"></a><a href="#98">98</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withStatus</span><span class="keyword">(</span><span class="default">500</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="99"></a><a href="#99">99</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$errors</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="100"></a><a href="#100">100</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="101"></a><a href="#101">101</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 102" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="102"></a><a href="#102">102</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getQueryParams</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="103"></a><a href="#103">103</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 104" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="104"></a><a href="#104">104</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$return</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">StatusModel</span><span class="default">::</span><span class="default">update</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="105"></a><a href="#105">105</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 106" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="106"></a><a href="#106">106</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$return</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 107" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="107"></a><a href="#107">107</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$id</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'id'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 108" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="108"></a><a href="#108">108</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">StatusModel</span><span class="default">::</span><span class="default">getById</span><span class="keyword">(</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 109" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="109"></a><a href="#109">109</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$id</span></td></tr>
+     <tr><td><div align="right"><a name="110"></a><a href="#110">110</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="111"></a><a href="#111">111</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="112"></a><a href="#112">112</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="113"></a><a href="#113">113</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withStatus</span><span class="keyword">(</span><span class="default">500</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="114"></a><a href="#114">114</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">_NOT_UPDATE</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="115"></a><a href="#115">115</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="116"></a><a href="#116">116</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="117"></a><a href="#117">117</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 118" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="118"></a><a href="#118">118</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="119"></a><a href="#119">119</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="120"></a><a href="#120">120</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 121" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="121"></a><a href="#121">121</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="default">$datas</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="122"></a><a href="#122">122</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="123"></a><a href="#123">123</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="124"></a><a href="#124">124</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">delete</span><span class="keyword">(</span><span class="default">RequestInterface</span><span class="default">&nbsp;</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">ResponseInterface</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="125"></a><a href="#125">125</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 126" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="126"></a><a href="#126">126</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">isset</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'id'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 127" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="127"></a><a href="#127">127</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$id</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'id'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 128" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="128"></a><a href="#128">128</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">StatusModel</span><span class="default">::</span><span class="default">delete</span><span class="keyword">(</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 129" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="129"></a><a href="#129">129</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$id</span></td></tr>
+     <tr><td><div align="right"><a name="130"></a><a href="#130">130</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="131"></a><a href="#131">131</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="132"></a><a href="#132">132</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="133"></a><a href="#133">133</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withStatus</span><span class="keyword">(</span><span class="default">500</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="134"></a><a href="#134">134</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="keyword">[</span><span class="default">'errors'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">_NOT_DELETE</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="135"></a><a href="#135">135</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="136"></a><a href="#136">136</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="137"></a><a href="#137">137</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$datas</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 138" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="138"></a><a href="#138">138</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="139"></a><a href="#139">139</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="140"></a><a href="#140">140</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 141" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="141"></a><a href="#141">141</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">withJson</span><span class="keyword">(</span><span class="default">$datas</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="142"></a><a href="#142">142</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="143"></a><a href="#143">143</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="144"></a><a href="#144">144</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">protected</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">control</span><span class="keyword">(</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$mode</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="145"></a><a href="#145">145</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 146" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="146"></a><a href="#146">146</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$errors</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="147"></a><a href="#147">147</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 148" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="148"></a><a href="#148">148</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$mode</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">'update'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 149" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="149"></a><a href="#149">149</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">StatusModel</span><span class="default">::</span><span class="default">getById</span><span class="keyword">(</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 150" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="150"></a><a href="#150">150</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'id'</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="151"></a><a href="#151">151</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 152" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="152"></a><a href="#152">152</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$obj</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="153"></a><a href="#153">153</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="154"></a><a href="#154">154</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$errors</span><span class="keyword">,</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="155"></a><a href="#155">155</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">_ID</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'id'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NOT_EXISTS</span></td></tr>
+     <tr><td><div align="right"><a name="156"></a><a href="#156">156</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="157"></a><a href="#157">157</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="158"></a><a href="#158">158</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="159"></a><a href="#159">159</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 160" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="160"></a><a href="#160">160</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">notEmpty</span><span class="keyword">(</span><span class="keyword">)</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'id'</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="161"></a><a href="#161">161</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span><span class="default">$errors</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">_ID</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_IS_EMPTY</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 162" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="162"></a><a href="#162">162</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">elseif</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$mode</span><span class="default">&nbsp;</span><span class="default">==</span><span class="default">&nbsp;</span><span class="default">'create'</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 163" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="163"></a><a href="#163">163</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$obj</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">StatusModel</span><span class="default">::</span><span class="default">getById</span><span class="keyword">(</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 164" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="164"></a><a href="#164">164</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'id'</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="165"></a><a href="#165">165</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 166" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="166"></a><a href="#166">166</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$obj</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="167"></a><a href="#167">167</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="168"></a><a href="#168">168</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$errors</span><span class="keyword">,</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="169"></a><a href="#169">169</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">_ID</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$obj</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'id'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_ALREADY_EXISTS</span></td></tr>
+     <tr><td><div align="right"><a name="170"></a><a href="#170">170</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="171"></a><a href="#171">171</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="172"></a><a href="#172">172</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="173"></a><a href="#173">173</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 174" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="174"></a><a href="#174">174</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">regex</span><span class="keyword">(</span><span class="default">'/^[\w.-]*$/'</span><span class="keyword">)</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'id'</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="175"></a><a href="#175">175</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span><span class="default">$errors</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">_ID</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NOT</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_VALID</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="176"></a><a href="#176">176</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="177"></a><a href="#177">177</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 178" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="178"></a><a href="#178">178</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">notEmpty</span><span class="keyword">(</span><span class="keyword">)</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'label_status'</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="179"></a><a href="#179">179</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span><span class="default">$errors</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">_LABEL_STATUS</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_IS_EMPTY</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="180"></a><a href="#180">180</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="181"></a><a href="#181">181</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 182" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="182"></a><a href="#182">182</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">Validator</span><span class="default">::</span><span class="default">notEmpty</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 183" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="183"></a><a href="#183">183</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'is_system'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="184"></a><a href="#184">184</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">contains</span><span class="keyword">(</span><span class="default">'Y'</span><span class="keyword">)</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 185" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="185"></a><a href="#185">185</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'is_system'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="186"></a><a href="#186">186</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">contains</span><span class="keyword">(</span><span class="default">'N'</span><span class="keyword">)</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 187" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="187"></a><a href="#187">187</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'is_system'</span><span class="keyword">)</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="188"></a><a href="#188">188</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="189"></a><a href="#189">189</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span><span class="default">$errors</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">_IS_SYSTEM</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NOT</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_VALID</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="190"></a><a href="#190">190</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="191"></a><a href="#191">191</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 192" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="192"></a><a href="#192">192</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">Validator</span><span class="default">::</span><span class="default">notEmpty</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 193" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="193"></a><a href="#193">193</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'is_folder_status'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="194"></a><a href="#194">194</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">contains</span><span class="keyword">(</span><span class="default">'Y'</span><span class="keyword">)</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 195" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="195"></a><a href="#195">195</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'is_folder_status'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="196"></a><a href="#196">196</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">contains</span><span class="keyword">(</span><span class="default">'N'</span><span class="keyword">)</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 197" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="197"></a><a href="#197">197</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'is_folder_status'</span><span class="keyword">)</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="198"></a><a href="#198">198</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="199"></a><a href="#199">199</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span><span class="default">$errors</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">_IS_FOLDER_STATUS</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NOT</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_VALID</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="200"></a><a href="#200">200</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="201"></a><a href="#201">201</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 202" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="202"></a><a href="#202">202</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">Validator</span><span class="default">::</span><span class="default">notEmpty</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 203" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="203"></a><a href="#203">203</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'img_filename'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="204"></a><a href="#204">204</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">regex</span><span class="keyword">(</span><span class="default">'/^[\w-.]+$/'</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="205"></a><a href="#205">205</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'img_filename'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">||</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="206"></a><a href="#206">206</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">length</span><span class="keyword">(</span><span class="default">null</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">255</span><span class="keyword">)</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 207" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="207"></a><a href="#207">207</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'img_filename'</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="208"></a><a href="#208">208</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="209"></a><a href="#209">209</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span><span class="default">$errors</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">_IMG_FILENAME</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NOT</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_VALID</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="210"></a><a href="#210">210</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="211"></a><a href="#211">211</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 212" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="212"></a><a href="#212">212</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">Validator</span><span class="default">::</span><span class="default">notEmpty</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 213" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="213"></a><a href="#213">213</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'maarch_module'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="214"></a><a href="#214">214</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">length</span><span class="keyword">(</span><span class="default">null</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">255</span><span class="keyword">)</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 215" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="215"></a><a href="#215">215</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'maarch_module'</span><span class="keyword">)</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="216"></a><a href="#216">216</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="217"></a><a href="#217">217</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span><span class="default">$errors</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">_MAARCH_MODULE</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NOT</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_VALID</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="218"></a><a href="#218">218</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="219"></a><a href="#219">219</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 220" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="220"></a><a href="#220">220</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">Validator</span><span class="default">::</span><span class="default">notEmpty</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 221" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="221"></a><a href="#221">221</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'can_be_searched'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="222"></a><a href="#222">222</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">contains</span><span class="keyword">(</span><span class="default">'Y'</span><span class="keyword">)</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 223" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="223"></a><a href="#223">223</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'can_be_searched'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="224"></a><a href="#224">224</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">contains</span><span class="keyword">(</span><span class="default">'N'</span><span class="keyword">)</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 225" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="225"></a><a href="#225">225</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'can_be_searched'</span><span class="keyword">)</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="226"></a><a href="#226">226</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="227"></a><a href="#227">227</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span><span class="default">$errors</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">_CAN_BE_SEARCHED</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NOT</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_VALID</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="228"></a><a href="#228">228</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="229"></a><a href="#229">229</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 230" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="230"></a><a href="#230">230</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">Validator</span><span class="default">::</span><span class="default">notEmpty</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 231" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="231"></a><a href="#231">231</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'can_be_modified'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="232"></a><a href="#232">232</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">contains</span><span class="keyword">(</span><span class="default">'Y'</span><span class="keyword">)</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 233" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="233"></a><a href="#233">233</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'can_be_modified'</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="default">&amp;&amp;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="234"></a><a href="#234">234</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">!</span><span class="default">Validator</span><span class="default">::</span><span class="default">contains</span><span class="keyword">(</span><span class="default">'N'</span><span class="keyword">)</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 235" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="235"></a><a href="#235">235</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">-&gt;</span><span class="default">validate</span><span class="keyword">(</span><span class="default">$request</span><span class="default">-&gt;</span><span class="default">getParam</span><span class="keyword">(</span><span class="default">'can_be_modified'</span><span class="keyword">)</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="236"></a><a href="#236">236</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="237"></a><a href="#237">237</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span><span class="default">$errors</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">_CAN_BE_MODIFIED</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_NOT</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&nbsp;'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">_VALID</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="238"></a><a href="#238">238</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="239"></a><a href="#239">239</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 240" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="240"></a><a href="#240">240</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$errors</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="241"></a><a href="#241">241</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="242"></a><a href="#242">242</a></div></td><td class="codeLine"><span class="keyword">}</span></td></tr>
+
+    </tbody>
+   </table>
+   <footer>
+    <hr/>
+    <h4>Legend</h4>
+    <p>
+     <span class="success"><strong>Executed</strong></span>
+     <span class="danger"><strong>Not Executed</strong></span>
+     <span class="warning"><strong>Dead Code</strong></span>
+    </p>
+    <p>
+     <small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 3.2.1</a> using <a href="http://php.net/" target="_top">PHP 7.0.16-4+deb.sury.org~xenial+1</a> and <a href="https://phpunit.de/">PHPUnit 5.1.3</a> at Tue Mar 14 18:22:56 CET 2017.</small>
+    </p>
+    <a title="Back to the top" id="toplink" href="#"><span class="glyphicon glyphicon-arrow-up"></span></a>
+   </footer>
+  </div>
+  <script src="../js/jquery.min.js" type="text/javascript"></script>
+  <script src="../js/bootstrap.min.js" type="text/javascript"></script>
+  <script src="../js/holder.min.js" type="text/javascript"></script>
+  <script type="text/javascript">
+  $(function() {
+   var $window   = $(window)
+     , $top_link = $('#toplink')
+     , $body     = $('body, html')
+     , offset    = $('#code').offset().top;
+
+   $top_link.hide().click(function(event) {
+    event.preventDefault();
+    $body.animate({scrollTop:0}, 800);
+   });
+
+   $window.scroll(function() {
+    if($window.scrollTop() > offset) {
+     $top_link.fadeIn();
+    } else {
+     $top_link.fadeOut();
+    }
+   }).scroll();
+
+   $('.popin').popover({trigger: 'hover'});
+  });
+  </script>
+ </body>
+</html>
diff --git a/core/Test/build/Controllers/dashboard.html b/core/Test/build/Controllers/dashboard.html
new file mode 100644
index 0000000000000000000000000000000000000000..41551fcd0382cb95ea2aefe57473e5662a74fc7e
--- /dev/null
+++ b/core/Test/build/Controllers/dashboard.html
@@ -0,0 +1,338 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+  <meta charset="UTF-8">
+  <title>Dashboard for /var/www/html/MaarchCourrier/core/Controllers</title>
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <link href="../css/bootstrap.min.css" rel="stylesheet">
+  <link href="../css/nv.d3.min.css" rel="stylesheet">
+  <link href="../css/style.css" rel="stylesheet">
+  <!--[if lt IE 9]>
+  <script src="../js/html5shiv.min.js"></script>
+  <script src="../js/respond.min.js"></script>
+  <![endif]-->
+ </head>
+ <body>
+  <header>
+   <div class="container">
+    <div class="row">
+     <div class="col-md-12">
+      <ol class="breadcrumb">
+        <li><a href="../index.html">/var/www/html/MaarchCourrier/core</a></li>
+        <li><a href="index.html">Controllers</a></li>
+        <li class="active">(Dashboard)</li>
+
+      </ol>
+     </div>
+    </div>
+   </div>
+  </header>
+  <div class="container">
+   <div class="row">
+    <div class="col-md-12">
+     <h2>Classes</h2>
+    </div>
+   </div>
+   <div class="row">
+    <div class="col-md-6">
+     <h3>Coverage Distribution</h3>
+     <div id="classCoverageDistribution" style="height: 300px;">
+       <svg></svg>
+     </div>
+    </div>
+    <div class="col-md-6">
+     <h3>Complexity</h3>
+     <div id="classComplexity" style="height: 300px;">
+       <svg></svg>
+     </div>
+    </div>
+   </div>
+   <div class="row">
+    <div class="col-md-6">
+     <h3>Insufficient Coverage</h3>
+     <div class="scrollbox">
+      <table class="table">
+       <thead>
+        <tr>
+         <th>Class</th>
+         <th class="text-right">Coverage</th>
+        </tr>
+       </thead>
+       <tbody>
+       <tr><td><a href="DocserverTypeController.php.html#23">DocserverTypeController</a></td><td class="text-right">8%</td></tr>
+       <tr><td><a href="DocserverController.php.html#23">DocserverController</a></td><td class="text-right">41%</td></tr>
+       <tr><td><a href="DocserverToolsController.php.html#23">DocserverToolsController</a></td><td class="text-right">55%</td></tr>
+       <tr><td><a href="StatusController.php.html#23">StatusController</a></td><td class="text-right">66%</td></tr>
+
+       </tbody>
+      </table>
+     </div>
+    </div>
+    <div class="col-md-6">
+     <h3>Project Risks</h3>
+     <div class="scrollbox">
+      <table class="table">
+       <thead>
+        <tr>
+         <th>Class</th>
+         <th class="text-right"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></th>
+        </tr>
+       </thead>
+       <tbody>
+       <tr><td><a href="DocserverController.php.html#23">DocserverController</a></td><td class="text-right">1188</td></tr>
+       <tr><td><a href="DocserverTypeController.php.html#23">DocserverTypeController</a></td><td class="text-right">1036</td></tr>
+       <tr><td><a href="DocserverToolsController.php.html#23">DocserverToolsController</a></td><td class="text-right">235</td></tr>
+       <tr><td><a href="StatusController.php.html#23">StatusController</a></td><td class="text-right">86</td></tr>
+
+       </tbody>
+      </table>
+     </div>
+    </div>
+   </div>
+   <div class="row">
+    <div class="col-md-12">
+     <h2>Methods</h2>
+    </div>
+   </div>
+   <div class="row">
+    <div class="col-md-6">
+     <h3>Coverage Distribution</h3>
+     <div id="methodCoverageDistribution" style="height: 300px;">
+       <svg></svg>
+     </div>
+    </div>
+    <div class="col-md-6">
+     <h3>Complexity</h3>
+     <div id="methodComplexity" style="height: 300px;">
+       <svg></svg>
+     </div>
+    </div>
+   </div>
+   <div class="row">
+    <div class="col-md-6">
+     <h3>Insufficient Coverage</h3>
+     <div class="scrollbox">
+      <table class="table">
+       <thead>
+        <tr>
+         <th>Method</th>
+         <th class="text-right">Coverage</th>
+        </tr>
+       </thead>
+       <tbody>
+       <tr><td><a href="DocserverController.php.html#25"><abbr title="DocserverController::getList">getList</abbr></a></td><td class="text-right">0%</td></tr>
+       <tr><td><a href="DocserverTypeController.php.html#154"><abbr title="DocserverTypeController::control">control</abbr></a></td><td class="text-right">0%</td></tr>
+       <tr><td><a href="DocserverController.php.html#56"><abbr title="DocserverController::create">create</abbr></a></td><td class="text-right">0%</td></tr>
+       <tr><td><a href="DocserverController.php.html#90"><abbr title="DocserverController::update">update</abbr></a></td><td class="text-right">0%</td></tr>
+       <tr><td><a href="DocserverController.php.html#124"><abbr title="DocserverController::delete">delete</abbr></a></td><td class="text-right">0%</td></tr>
+       <tr><td><a href="DocserverController.php.html#144"><abbr title="DocserverController::control">control</abbr></a></td><td class="text-right">0%</td></tr>
+       <tr><td><a href="ResExtController.php.html#154"><abbr title="ResExtController::object2array">object2array</abbr></a></td><td class="text-right">0%</td></tr>
+       <tr><td><a href="ResController.php.html#696"><abbr title="ResController::object2array">object2array</abbr></a></td><td class="text-right">0%</td></tr>
+       <tr><td><a href="DocserverController.php.html#36"><abbr title="DocserverController::getById">getById</abbr></a></td><td class="text-right">0%</td></tr>
+       <tr><td><a href="DocserverTypeController.php.html#60"><abbr title="DocserverTypeController::create">create</abbr></a></td><td class="text-right">0%</td></tr>
+       <tr><td><a href="DocserverTypeController.php.html#96"><abbr title="DocserverTypeController::update">update</abbr></a></td><td class="text-right">0%</td></tr>
+       <tr><td><a href="DocserverTypeController.php.html#132"><abbr title="DocserverTypeController::delete">delete</abbr></a></td><td class="text-right">0%</td></tr>
+       <tr><td><a href="DocserverToolsController.php.html#31"><abbr title="DocserverToolsController::createPathOnDocServer">createPathOnDocServer</abbr></a></td><td class="text-right">41%</td></tr>
+       <tr><td><a href="ResExtController.php.html#27"><abbr title="ResExtController::create">create</abbr></a></td><td class="text-right">45%</td></tr>
+       <tr><td><a href="ResController.php.html#33"><abbr title="ResController::create">create</abbr></a></td><td class="text-right">45%</td></tr>
+       <tr><td><a href="DocserverController.php.html#341"><abbr title="DocserverController::getNextFileNameInDocserver">getNextFileNameInDocserver</abbr></a></td><td class="text-right">50%</td></tr>
+       <tr><td><a href="DocserverToolsController.php.html#334"><abbr title="DocserverToolsController::controlFingerprint">controlFingerprint</abbr></a></td><td class="text-right">52%</td></tr>
+       <tr><td><a href="DocserverToolsController.php.html#153"><abbr title="DocserverToolsController::copyOnDocserver">copyOnDocserver</abbr></a></td><td class="text-right">53%</td></tr>
+       <tr><td><a href="DocserverController.php.html#274"><abbr title="DocserverController::checkSize">checkSize</abbr></a></td><td class="text-right">58%</td></tr>
+       <tr><td><a href="StatusController.php.html#144"><abbr title="StatusController::control">control</abbr></a></td><td class="text-right">58%</td></tr>
+       <tr><td><a href="DocserverToolsController.php.html#398"><abbr title="DocserverToolsController::washTmp">washTmp</abbr></a></td><td class="text-right">61%</td></tr>
+       <tr><td><a href="DocserverToolsController.php.html#108"><abbr title="DocserverToolsController::setRights">setRights</abbr></a></td><td class="text-right">68%</td></tr>
+
+       </tbody>
+      </table>
+     </div>
+    </div>
+    <div class="col-md-6">
+     <h3>Project Risks</h3>
+     <div class="scrollbox">
+      <table class="table">
+       <thead>
+        <tr>
+         <th>Method</th>
+         <th class="text-right"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></th>
+        </tr>
+       </thead>
+       <tbody>
+       <tr><td><a href="DocserverTypeController.php.html#154"><abbr title="DocserverTypeController::control">control</abbr></a></td><td class="text-right">650</td></tr>
+       <tr><td><a href="DocserverController.php.html#144"><abbr title="DocserverController::control">control</abbr></a></td><td class="text-right">650</td></tr>
+       <tr><td><a href="ResExtController.php.html#154"><abbr title="ResExtController::object2array">object2array</abbr></a></td><td class="text-right">72</td></tr>
+       <tr><td><a href="ResController.php.html#696"><abbr title="ResController::object2array">object2array</abbr></a></td><td class="text-right">72</td></tr>
+       <tr><td><a href="StatusController.php.html#144"><abbr title="StatusController::control">control</abbr></a></td><td class="text-right">70</td></tr>
+       <tr><td><a href="DocserverController.php.html#341"><abbr title="DocserverController::getNextFileNameInDocserver">getNextFileNameInDocserver</abbr></a></td><td class="text-right">30</td></tr>
+       <tr><td><a href="DocserverToolsController.php.html#153"><abbr title="DocserverToolsController::copyOnDocserver">copyOnDocserver</abbr></a></td><td class="text-right">26</td></tr>
+       <tr><td><a href="DocserverToolsController.php.html#31"><abbr title="DocserverToolsController::createPathOnDocServer">createPathOnDocServer</abbr></a></td><td class="text-right">21</td></tr>
+       <tr><td><a href="DocserverToolsController.php.html#398"><abbr title="DocserverToolsController::washTmp">washTmp</abbr></a></td><td class="text-right">13</td></tr>
+       <tr><td><a href="DocserverTypeController.php.html#96"><abbr title="DocserverTypeController::update">update</abbr></a></td><td class="text-right">12</td></tr>
+       <tr><td><a href="DocserverController.php.html#90"><abbr title="DocserverController::update">update</abbr></a></td><td class="text-right">12</td></tr>
+       <tr><td><a href="DocserverController.php.html#56"><abbr title="DocserverController::create">create</abbr></a></td><td class="text-right">12</td></tr>
+       <tr><td><a href="DocserverTypeController.php.html#60"><abbr title="DocserverTypeController::create">create</abbr></a></td><td class="text-right">12</td></tr>
+       <tr><td><a href="DocserverToolsController.php.html#334"><abbr title="DocserverToolsController::controlFingerprint">controlFingerprint</abbr></a></td><td class="text-right">9</td></tr>
+       <tr><td><a href="DocserverToolsController.php.html#108"><abbr title="DocserverToolsController::setRights">setRights</abbr></a></td><td class="text-right">7</td></tr>
+       <tr><td><a href="DocserverController.php.html#274"><abbr title="DocserverController::checkSize">checkSize</abbr></a></td><td class="text-right">6</td></tr>
+       <tr><td><a href="DocserverTypeController.php.html#132"><abbr title="DocserverTypeController::delete">delete</abbr></a></td><td class="text-right">6</td></tr>
+       <tr><td><a href="DocserverController.php.html#124"><abbr title="DocserverController::delete">delete</abbr></a></td><td class="text-right">6</td></tr>
+       <tr><td><a href="DocserverController.php.html#36"><abbr title="DocserverController::getById">getById</abbr></a></td><td class="text-right">6</td></tr>
+       <tr><td><a href="ResController.php.html#33"><abbr title="ResController::create">create</abbr></a></td><td class="text-right">4</td></tr>
+       <tr><td><a href="ResExtController.php.html#27"><abbr title="ResExtController::create">create</abbr></a></td><td class="text-right">4</td></tr>
+
+       </tbody>
+      </table>
+     </div>
+    </div>
+   </div>
+   <footer>
+    <hr/>
+    <p>
+     <small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 3.2.1</a> using <a href="http://php.net/" target="_top">PHP 7.0.16-4+deb.sury.org~xenial+1</a> and <a href="https://phpunit.de/">PHPUnit 5.1.3</a> at Tue Mar 14 18:22:56 CET 2017.</small>
+    </p>
+   </footer>
+  </div>
+  <script src="../js/jquery.min.js" type="text/javascript"></script>
+  <script src="../js/bootstrap.min.js" type="text/javascript"></script>
+  <script src="../js/holder.min.js" type="text/javascript"></script>
+  <script src="../js/d3.min.js" type="text/javascript"></script>
+  <script src="../js/nv.d3.min.js" type="text/javascript"></script>
+  <script type="text/javascript">
+$(document).ready(function() {
+  nv.addGraph(function() {
+    var chart = nv.models.multiBarChart();
+    chart.tooltips(false)
+      .showControls(false)
+      .showLegend(false)
+      .reduceXTicks(false)
+      .staggerLabels(true)
+      .yAxis.tickFormat(d3.format('d'));
+
+    d3.select('#classCoverageDistribution svg')
+      .datum(getCoverageDistributionData([0,1,0,0,0,1,1,1,2,0,0,0], "Class Coverage"))
+      .transition().duration(500).call(chart);
+
+    nv.utils.windowResize(chart.update);
+
+    return chart;
+  });
+
+  nv.addGraph(function() {
+    var chart = nv.models.multiBarChart();
+    chart.tooltips(false)
+      .showControls(false)
+      .showLegend(false)
+      .reduceXTicks(false)
+      .staggerLabels(true)
+      .yAxis.tickFormat(d3.format('d'));
+
+    d3.select('#methodCoverageDistribution svg')
+      .datum(getCoverageDistributionData([12,0,0,0,0,3,5,2,11,8,0,2], "Method Coverage"))
+      .transition().duration(500).call(chart);
+
+    nv.utils.windowResize(chart.update);
+
+    return chart;
+  });
+
+  function getCoverageDistributionData(data, label) {
+    var labels = [
+      '0%',
+      '0-10%',
+      '10-20%',
+      '20-30%',
+      '30-40%',
+      '40-50%',
+      '50-60%',
+      '60-70%',
+      '70-80%',
+      '80-90%',
+      '90-100%',
+      '100%'
+    ];
+    var values = [];
+    $.each(labels, function(key) {
+      values.push({x: labels[key], y: data[key]});
+    });
+
+    return [
+      {
+        key: label,
+        values: values,
+        color: "#4572A7"
+      }
+    ];
+  }
+  nv.addGraph(function() {
+    var chart = nv.models.scatterChart()
+      .showDistX(true)
+      .showDistY(true)
+      .showLegend(false)
+      .forceX([0, 100]);
+    chart.tooltipContent(function(key, y, e, graph) {
+      return '<p>' + graph.point.class + '</p>';
+    });
+
+    chart.xAxis.axisLabel('Code Coverage (in percent)');
+    chart.yAxis.axisLabel('Cyclomatic Complexity');
+
+    d3.select('#classComplexity svg')
+      .datum(getComplexityData([[41.724137931034,75,"<a href=\"DocserverController.php.html#23\">DocserverController<\/a>"],[55.27950310559,46,"<a href=\"DocserverToolsController.php.html#23\">DocserverToolsController<\/a>"],[8.256880733945,36,"<a href=\"DocserverTypeController.php.html#23\">DocserverTypeController<\/a>"],[77.118644067797,99,"<a href=\"ResController.php.html#31\">ResController<\/a>"],[72.185430463576,50,"<a href=\"ResExtController.php.html#25\">ResExtController<\/a>"],[66.05504587156,36,"<a href=\"StatusController.php.html#23\">StatusController<\/a>"]], 'Class Complexity'))
+      .transition()
+      .duration(500)
+      .call(chart);
+
+    nv.utils.windowResize(chart.update);
+
+    return chart;
+  });
+
+  nv.addGraph(function() {
+    var chart = nv.models.scatterChart()
+      .showDistX(true)
+      .showDistY(true)
+      .showLegend(false)
+      .forceX([0, 100]);
+    chart.tooltipContent(function(key, y, e, graph) {
+      return '<p>' + graph.point.class + '</p>';
+    });
+
+    chart.xAxis.axisLabel('Code Coverage (in percent)');
+    chart.yAxis.axisLabel('Method Complexity');
+
+    d3.select('#methodComplexity svg')
+      .datum(getComplexityData([[0,1,"<a href=\"DocserverController.php.html#25\">DocserverController::getList<\/a>"],[0,2,"<a href=\"DocserverController.php.html#36\">DocserverController::getById<\/a>"],[0,3,"<a href=\"DocserverController.php.html#56\">DocserverController::create<\/a>"],[0,3,"<a href=\"DocserverController.php.html#90\">DocserverController::update<\/a>"],[0,2,"<a href=\"DocserverController.php.html#124\">DocserverController::delete<\/a>"],[0,25,"<a href=\"DocserverController.php.html#144\">DocserverController::control<\/a>"],[85.714285714286,2,"<a href=\"DocserverController.php.html#250\">DocserverController::getDocserverToInsert<\/a>"],[58.333333333333,5,"<a href=\"DocserverController.php.html#274\">DocserverController::checkSize<\/a>"],[71.428571428571,3,"<a href=\"DocserverController.php.html#314\">DocserverController::setSize<\/a>"],[50,12,"<a href=\"DocserverController.php.html#341\">DocserverController::getNextFileNameInDocserver<\/a>"],[81.707317073171,17,"<a href=\"DocserverController.php.html#496\">DocserverController::storeResourceOnDocserver<\/a>"],[41.176470588235,8,"<a href=\"DocserverToolsController.php.html#31\">DocserverToolsController::createPathOnDocServer<\/a>"],[68.75,6,"<a href=\"DocserverToolsController.php.html#108\">DocserverToolsController::setRights<\/a>"],[53.703703703704,12,"<a href=\"DocserverToolsController.php.html#153\">DocserverToolsController::copyOnDocserver<\/a>"],[73.333333333333,5,"<a href=\"DocserverToolsController.php.html#287\">DocserverToolsController::doFingerprint<\/a>"],[52.380952380952,6,"<a href=\"DocserverToolsController.php.html#334\">DocserverToolsController::controlFingerprint<\/a>"],[61.904761904762,9,"<a href=\"DocserverToolsController.php.html#398\">DocserverToolsController::washTmp<\/a>"],[100,1,"<a href=\"DocserverTypeController.php.html#25\">DocserverTypeController::getList<\/a>"],[75,2,"<a href=\"DocserverTypeController.php.html#38\">DocserverTypeController::getById<\/a>"],[0,3,"<a href=\"DocserverTypeController.php.html#60\">DocserverTypeController::create<\/a>"],[0,3,"<a href=\"DocserverTypeController.php.html#96\">DocserverTypeController::update<\/a>"],[0,2,"<a href=\"DocserverTypeController.php.html#132\">DocserverTypeController::delete<\/a>"],[0,25,"<a href=\"DocserverTypeController.php.html#154\">DocserverTypeController::control<\/a>"],[45.454545454545,3,"<a href=\"ResController.php.html#33\">ResController::create<\/a>"],[70,3,"<a href=\"ResController.php.html#56\">ResController::delete<\/a>"],[83.333333333333,2,"<a href=\"ResController.php.html#86\">ResController::deleteRes<\/a>"],[83.333333333333,12,"<a href=\"ResController.php.html#111\">ResController::storeResource<\/a>"],[89.0625,9,"<a href=\"ResController.php.html#238\">ResController::loadIntoDb<\/a>"],[84,30,"<a href=\"ResController.php.html#361\">ResController::checkBasicFields<\/a>"],[73.636363636364,32,"<a href=\"ResController.php.html#476\">ResController::prepareStorage<\/a>"],[0,8,"<a href=\"ResController.php.html#696\">ResController::object2array<\/a>"],[45.454545454545,3,"<a href=\"ResExtController.php.html#27\">ResExtController::create<\/a>"],[70,3,"<a href=\"ResExtController.php.html#50\">ResExtController::delete<\/a>"],[83.333333333333,2,"<a href=\"ResExtController.php.html#80\">ResExtController::deleteExtRes<\/a>"],[73.913043478261,7,"<a href=\"ResExtController.php.html#102\">ResExtController::storeExtResource<\/a>"],[0,8,"<a href=\"ResExtController.php.html#154\">ResExtController::object2array<\/a>"],[84.269662921348,27,"<a href=\"ResExtController.php.html#183\">ResExtController::prepareStorageExt<\/a>"],[100,1,"<a href=\"StatusController.php.html#25\">StatusController::getList<\/a>"],[75,2,"<a href=\"StatusController.php.html#36\">StatusController::getById<\/a>"],[73.333333333333,3,"<a href=\"StatusController.php.html#56\">StatusController::create<\/a>"],[73.333333333333,3,"<a href=\"StatusController.php.html#90\">StatusController::update<\/a>"],[75,2,"<a href=\"StatusController.php.html#124\">StatusController::delete<\/a>"],[58.333333333333,25,"<a href=\"StatusController.php.html#144\">StatusController::control<\/a>"]], 'Method Complexity'))
+      .transition()
+      .duration(500)
+      .call(chart);
+
+    nv.utils.windowResize(chart.update);
+
+    return chart;
+  });
+
+  function getComplexityData(data, label) {
+    var values = [];
+    $.each(data, function(key) {
+      var value = Math.round(data[key][0]*100) / 100;
+      values.push({
+        x: value,
+        y: data[key][1],
+        class: data[key][2],
+        size: 0.05,
+        shape: 'diamond'
+      });
+    });
+
+    return [
+      {
+        key: label,
+        values: values,
+        color: "#4572A7"
+      }
+    ];
+  }
+});
+  </script>
+ </body>
+</html>
diff --git a/core/Test/build/Controllers/index.html b/core/Test/build/Controllers/index.html
new file mode 100644
index 0000000000000000000000000000000000000000..6382adce459470bc7b2ede30b8b517002449c632
--- /dev/null
+++ b/core/Test/build/Controllers/index.html
@@ -0,0 +1,260 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+  <meta charset="UTF-8">
+  <title>Code Coverage for /var/www/html/MaarchCourrier/core/Controllers</title>
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <link href="../css/bootstrap.min.css" rel="stylesheet">
+  <link href="../css/style.css" rel="stylesheet">
+  <!--[if lt IE 9]>
+  <script src="../js/html5shiv.min.js"></script>
+  <script src="../js/respond.min.js"></script>
+  <![endif]-->
+ </head>
+ <body>
+  <header>
+   <div class="container">
+    <div class="row">
+     <div class="col-md-12">
+      <ol class="breadcrumb">
+        <li><a href="../index.html">/var/www/html/MaarchCourrier/core</a></li>
+        <li class="active">Controllers</li>
+        <li>(<a href="dashboard.html">Dashboard</a>)</li>
+
+      </ol>
+     </div>
+    </div>
+   </div>
+  </header>
+  <div class="container">
+   <table class="table table-bordered">
+    <thead>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="9"><div align="center"><strong>Code Coverage</strong></div></td>
+     </tr>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="3"><div align="center"><strong>Lines</strong></div></td>
+      <td colspan="3"><div align="center"><strong>Functions and Methods</strong></div></td>
+      <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td>
+     </tr>
+    </thead>
+    <tbody>
+     <tr>
+      <td class="warning">Total</td>
+      <td class="warning big">       <div class="progress">
+         <div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="57.40" aria-valuemin="0" aria-valuemax="100" style="width: 57.40%">
+           <span class="sr-only">57.40% covered (warning)</span>
+         </div>
+       </div>
+</td>
+      <td class="warning small"><div align="right">57.40%</div></td>
+      <td class="warning small"><div align="right">675&nbsp;/&nbsp;1176</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="4.65" aria-valuemin="0" aria-valuemax="100" style="width: 4.65%">
+           <span class="sr-only">4.65% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">4.65%</div></td>
+      <td class="danger small"><div align="right">2&nbsp;/&nbsp;43</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;6</div></td>
+     </tr>
+
+     <tr>
+      <td class="warning"><span class="glyphicon glyphicon-file"></span> <a href="DocserverController.php.html">DocserverController.php</a></td>
+      <td class="warning big">       <div class="progress">
+         <div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="41.72" aria-valuemin="0" aria-valuemax="100" style="width: 41.72%">
+           <span class="sr-only">41.72% covered (warning)</span>
+         </div>
+       </div>
+</td>
+      <td class="warning small"><div align="right">41.72%</div></td>
+      <td class="warning small"><div align="right">121&nbsp;/&nbsp;290</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;11</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+     </tr>
+
+     <tr>
+      <td class="warning"><span class="glyphicon glyphicon-file"></span> <a href="DocserverToolsController.php.html">DocserverToolsController.php</a></td>
+      <td class="warning big">       <div class="progress">
+         <div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="55.28" aria-valuemin="0" aria-valuemax="100" style="width: 55.28%">
+           <span class="sr-only">55.28% covered (warning)</span>
+         </div>
+       </div>
+</td>
+      <td class="warning small"><div align="right">55.28%</div></td>
+      <td class="warning small"><div align="right">89&nbsp;/&nbsp;161</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;6</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger"><span class="glyphicon glyphicon-file"></span> <a href="DocserverTypeController.php.html">DocserverTypeController.php</a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="8.26" aria-valuemin="0" aria-valuemax="100" style="width: 8.26%">
+           <span class="sr-only">8.26% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">8.26%</div></td>
+      <td class="danger small"><div align="right">9&nbsp;/&nbsp;109</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="16.67" aria-valuemin="0" aria-valuemax="100" style="width: 16.67%">
+           <span class="sr-only">16.67% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">16.67%</div></td>
+      <td class="danger small"><div align="right">1&nbsp;/&nbsp;6</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+     </tr>
+
+     <tr>
+      <td class="success"><span class="glyphicon glyphicon-file"></span> <a href="ResController.php.html">ResController.php</a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="77.18" aria-valuemin="0" aria-valuemax="100" style="width: 77.18%">
+           <span class="sr-only">77.18% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">77.18%</div></td>
+      <td class="success small"><div align="right">274&nbsp;/&nbsp;355</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;8</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+     </tr>
+
+     <tr>
+      <td class="success"><span class="glyphicon glyphicon-file"></span> <a href="ResExtController.php.html">ResExtController.php</a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="72.37" aria-valuemin="0" aria-valuemax="100" style="width: 72.37%">
+           <span class="sr-only">72.37% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">72.37%</div></td>
+      <td class="success small"><div align="right">110&nbsp;/&nbsp;152</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;6</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+     </tr>
+
+     <tr>
+      <td class="warning"><span class="glyphicon glyphicon-file"></span> <a href="StatusController.php.html">StatusController.php</a></td>
+      <td class="warning big">       <div class="progress">
+         <div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="66.06" aria-valuemin="0" aria-valuemax="100" style="width: 66.06%">
+           <span class="sr-only">66.06% covered (warning)</span>
+         </div>
+       </div>
+</td>
+      <td class="warning small"><div align="right">66.06%</div></td>
+      <td class="warning small"><div align="right">72&nbsp;/&nbsp;109</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="16.67" aria-valuemin="0" aria-valuemax="100" style="width: 16.67%">
+           <span class="sr-only">16.67% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">16.67%</div></td>
+      <td class="danger small"><div align="right">1&nbsp;/&nbsp;6</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+     </tr>
+
+
+    </tbody>
+   </table>
+   <footer>
+    <hr/>
+    <h4>Legend</h4>
+    <p>
+     <span class="danger"><strong>Low</strong>: 0% to 35%</span>
+     <span class="warning"><strong>Medium</strong>: 35% to 70%</span>
+     <span class="success"><strong>High</strong>: 70% to 100%</span>
+    </p>
+    <p>
+     <small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 3.2.1</a> using <a href="http://php.net/" target="_top">PHP 7.0.16-4+deb.sury.org~xenial+1</a> and <a href="https://phpunit.de/">PHPUnit 5.1.3</a> at Tue Mar 14 18:22:56 CET 2017.</small>
+    </p>
+   </footer>
+  </div>
+  <script src="../js/jquery.min.js" type="text/javascript"></script>
+  <script src="../js/bootstrap.min.js" type="text/javascript"></script>
+  <script src="../js/holder.min.js" type="text/javascript"></script>
+ </body>
+</html>
diff --git a/core/Test/build/DocserverControllerTest.php.html b/core/Test/build/DocserverControllerTest.php.html
new file mode 100644
index 0000000000000000000000000000000000000000..4621012378854347fc52712eb2e4ff7f423b0e0f
--- /dev/null
+++ b/core/Test/build/DocserverControllerTest.php.html
@@ -0,0 +1,501 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+  <meta charset="UTF-8">
+  <title>Code Coverage for /var/www/html/MaarchCourrier/core/Test/DocserverControllerTest.php</title>
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <link href="css/bootstrap.min.css" rel="stylesheet">
+  <link href="css/style.css" rel="stylesheet">
+  <!--[if lt IE 9]>
+  <script src="js/html5shiv.min.js"></script>
+  <script src="js/respond.min.js"></script>
+  <![endif]-->
+ </head>
+ <body>
+  <header>
+   <div class="container">
+    <div class="row">
+     <div class="col-md-12">
+      <ol class="breadcrumb">
+        <li><a href="index.html">/var/www/html/MaarchCourrier/core/Test</a></li>
+        <li class="active">DocserverControllerTest.php</li>
+
+      </ol>
+     </div>
+    </div>
+   </div>
+  </header>
+  <div class="container">
+   <table class="table table-bordered">
+    <thead>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td>
+     </tr>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td>
+      <td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td>
+      <td colspan="3"><div align="center"><strong>Lines</strong></div></td>
+     </tr>
+    </thead>
+    <tbody>
+     <tr>
+      <td class="success">Total</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">5&nbsp;/&nbsp;5</div></td>
+      <td class="success small"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">45&nbsp;/&nbsp;45</div></td>
+     </tr>
+
+     <tr>
+      <td class="success">DocserverControllerTest</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">5&nbsp;/&nbsp;5</div></td>
+      <td class="success small">6</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">45&nbsp;/&nbsp;45</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#141"><abbr title="testGetDocserverToInsert()">testGetDocserverToInsert</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">7&nbsp;/&nbsp;7</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#157"><abbr title="testCheckSize()">testCheckSize</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">8&nbsp;/&nbsp;8</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#177"><abbr title="testSetSize()">testSetSize</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">8&nbsp;/&nbsp;8</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#197"><abbr title="testGetNextFileNameInDocserver()">testGetNextFileNameInDocserver</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">5&nbsp;/&nbsp;5</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#210"><abbr title="testStoreResourceOnDocserver()">testStoreResourceOnDocserver</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">2</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">17&nbsp;/&nbsp;17</div></td>
+     </tr>
+
+
+    </tbody>
+   </table>
+   <table id="code" class="table table-borderless table-condensed">
+    <tbody>
+     <tr><td><div align="right"><a name="1"></a><a href="#1">1</a></div></td><td class="codeLine"><span class="default">&lt;?php</span></td></tr>
+     <tr><td><div align="right"><a name="2"></a><a href="#2">2</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="3"></a><a href="#3">3</a></div></td><td class="codeLine"><span class="keyword">namespace</span><span class="default">&nbsp;</span><span class="default">MaarchTest</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="4"></a><a href="#4">4</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="5"></a><a href="#5">5</a></div></td><td class="codeLine"><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="6"></a><a href="#6">6</a></div></td><td class="codeLine"><span class="comment">*&nbsp;Copyright&nbsp;Maarch&nbsp;since&nbsp;2008&nbsp;under&nbsp;licence&nbsp;GPLv3.</span></td></tr>
+     <tr><td><div align="right"><a name="7"></a><a href="#7">7</a></div></td><td class="codeLine"><span class="comment">*&nbsp;See&nbsp;LICENCE.txt&nbsp;file&nbsp;at&nbsp;the&nbsp;root&nbsp;folder&nbsp;for&nbsp;more&nbsp;details.</span></td></tr>
+     <tr><td><div align="right"><a name="8"></a><a href="#8">8</a></div></td><td class="codeLine"><span class="comment">*&nbsp;This&nbsp;file&nbsp;is&nbsp;part&nbsp;of&nbsp;Maarch&nbsp;software.</span></td></tr>
+     <tr><td><div align="right"><a name="9"></a><a href="#9">9</a></div></td><td class="codeLine"><span class="comment">*</span></td></tr>
+     <tr><td><div align="right"><a name="10"></a><a href="#10">10</a></div></td><td class="codeLine"><span class="comment">*/</span></td></tr>
+     <tr><td><div align="right"><a name="11"></a><a href="#11">11</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="12"></a><a href="#12">12</a></div></td><td class="codeLine"><span class="keyword">require_once</span><span class="default">&nbsp;</span><span class="default">__DIR__</span><span class="keyword">.</span><span class="default">'/define.php'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="13"></a><a href="#13">13</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="14"></a><a href="#14">14</a></div></td><td class="codeLine"><span class="keyword">class</span><span class="default">&nbsp;</span><span class="default">DocserverControllerTest</span><span class="default">&nbsp;</span><span class="keyword">extends</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">PHPUnit_Framework_TestCase</span></td></tr>
+     <tr><td><div align="right"><a name="15"></a><a href="#15">15</a></div></td><td class="codeLine"><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="16"></a><a href="#16">16</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;public&nbsp;function&nbsp;testGetList()</span></td></tr>
+     <tr><td><div align="right"><a name="17"></a><a href="#17">17</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;{</span></td></tr>
+     <tr><td><div align="right"><a name="18"></a><a href="#18">18</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$action&nbsp;=&nbsp;new&nbsp;\Core\Controllers\DocserverController();</span></td></tr>
+     <tr><td><div align="right"><a name="19"></a><a href="#19">19</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="20"></a><a href="#20">20</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$environment&nbsp;=&nbsp;\Slim\Http\Environment::mock(</span></td></tr>
+     <tr><td><div align="right"><a name="21"></a><a href="#21">21</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[</span></td></tr>
+     <tr><td><div align="right"><a name="22"></a><a href="#22">22</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'REQUEST_METHOD'&nbsp;=&gt;&nbsp;'GET',</span></td></tr>
+     <tr><td><div align="right"><a name="23"></a><a href="#23">23</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//'REQUEST_URI'&nbsp;=&gt;&nbsp;'/status',</span></td></tr>
+     <tr><td><div align="right"><a name="24"></a><a href="#24">24</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//'QUERY_STRING'=&gt;'foo=bar',</span></td></tr>
+     <tr><td><div align="right"><a name="25"></a><a href="#25">25</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]</span></td></tr>
+     <tr><td><div align="right"><a name="26"></a><a href="#26">26</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);</span></td></tr>
+     <tr><td><div align="right"><a name="27"></a><a href="#27">27</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="28"></a><a href="#28">28</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$request&nbsp;=&nbsp;\Slim\Http\Request::createFromEnvironment($environment);</span></td></tr>
+     <tr><td><div align="right"><a name="29"></a><a href="#29">29</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$response&nbsp;=&nbsp;new&nbsp;\Slim\Http\Response();</span></td></tr>
+     <tr><td><div align="right"><a name="30"></a><a href="#30">30</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$response&nbsp;=&nbsp;$action-&gt;getList($request,&nbsp;$response,&nbsp;[]);</span></td></tr>
+     <tr><td><div align="right"><a name="31"></a><a href="#31">31</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="32"></a><a href="#32">32</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;assertNotNull((string)$response-&gt;getBody());</span></td></tr>
+     <tr><td><div align="right"><a name="33"></a><a href="#33">33</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;}</span></td></tr>
+     <tr><td><div align="right"><a name="34"></a><a href="#34">34</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="35"></a><a href="#35">35</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;public&nbsp;function&nbsp;testGetById()</span></td></tr>
+     <tr><td><div align="right"><a name="36"></a><a href="#36">36</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;{</span></td></tr>
+     <tr><td><div align="right"><a name="37"></a><a href="#37">37</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$action&nbsp;=&nbsp;new&nbsp;\Core\Controllers\DocserverController();</span></td></tr>
+     <tr><td><div align="right"><a name="38"></a><a href="#38">38</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="39"></a><a href="#39">39</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$environment&nbsp;=&nbsp;\Slim\Http\Environment::mock(</span></td></tr>
+     <tr><td><div align="right"><a name="40"></a><a href="#40">40</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[</span></td></tr>
+     <tr><td><div align="right"><a name="41"></a><a href="#41">41</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'REQUEST_METHOD'&nbsp;=&gt;&nbsp;'GET',</span></td></tr>
+     <tr><td><div align="right"><a name="42"></a><a href="#42">42</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]</span></td></tr>
+     <tr><td><div align="right"><a name="43"></a><a href="#43">43</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);</span></td></tr>
+     <tr><td><div align="right"><a name="44"></a><a href="#44">44</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="45"></a><a href="#45">45</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$aArgs&nbsp;=&nbsp;[</span></td></tr>
+     <tr><td><div align="right"><a name="46"></a><a href="#46">46</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'id'=&gt;&nbsp;'NEW'</span></td></tr>
+     <tr><td><div align="right"><a name="47"></a><a href="#47">47</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;];</span></td></tr>
+     <tr><td><div align="right"><a name="48"></a><a href="#48">48</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="49"></a><a href="#49">49</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$request&nbsp;=&nbsp;\Slim\Http\Request::createFromEnvironment($environment);</span></td></tr>
+     <tr><td><div align="right"><a name="50"></a><a href="#50">50</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$response&nbsp;=&nbsp;new&nbsp;\Slim\Http\Response();</span></td></tr>
+     <tr><td><div align="right"><a name="51"></a><a href="#51">51</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$response&nbsp;=&nbsp;$action-&gt;getById($request,&nbsp;$response,&nbsp;$aArgs);</span></td></tr>
+     <tr><td><div align="right"><a name="52"></a><a href="#52">52</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$compare&nbsp;=&nbsp;'[{&quot;status&quot;:[{&quot;id&quot;:&quot;NEW&quot;,&quot;label_status&quot;:&quot;Nouveau&quot;,'</span></td></tr>
+     <tr><td><div align="right"><a name="53"></a><a href="#53">53</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;'&quot;is_system&quot;:&quot;Y&quot;,&quot;is_folder_status&quot;:&quot;N&quot;,&quot;img_filename&quot;:'</span></td></tr>
+     <tr><td><div align="right"><a name="54"></a><a href="#54">54</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;'&quot;fm-letter-status-new&quot;,&quot;maarch_module&quot;:&quot;apps&quot;,'</span></td></tr>
+     <tr><td><div align="right"><a name="55"></a><a href="#55">55</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;'&quot;can_be_searched&quot;:&quot;Y&quot;,&quot;can_be_modified&quot;:&quot;Y&quot;}]}]';</span></td></tr>
+     <tr><td><div align="right"><a name="56"></a><a href="#56">56</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="57"></a><a href="#57">57</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;assertSame((string)$response-&gt;getBody(),&nbsp;$compare);</span></td></tr>
+     <tr><td><div align="right"><a name="58"></a><a href="#58">58</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;}</span></td></tr>
+     <tr><td><div align="right"><a name="59"></a><a href="#59">59</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="60"></a><a href="#60">60</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;public&nbsp;function&nbsp;testCreate()</span></td></tr>
+     <tr><td><div align="right"><a name="61"></a><a href="#61">61</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;{</span></td></tr>
+     <tr><td><div align="right"><a name="62"></a><a href="#62">62</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$action&nbsp;=&nbsp;new&nbsp;\Core\Controllers\DocserverController();</span></td></tr>
+     <tr><td><div align="right"><a name="63"></a><a href="#63">63</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="64"></a><a href="#64">64</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$query&nbsp;&nbsp;=&nbsp;'id=TEST&amp;';</span></td></tr>
+     <tr><td><div align="right"><a name="65"></a><a href="#65">65</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$query&nbsp;.=&nbsp;'label_status=TEST';</span></td></tr>
+     <tr><td><div align="right"><a name="66"></a><a href="#66">66</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="67"></a><a href="#67">67</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$environment&nbsp;=&nbsp;\Slim\Http\Environment::mock(</span></td></tr>
+     <tr><td><div align="right"><a name="68"></a><a href="#68">68</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[</span></td></tr>
+     <tr><td><div align="right"><a name="69"></a><a href="#69">69</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'REQUEST_METHOD'&nbsp;=&gt;&nbsp;'POST',</span></td></tr>
+     <tr><td><div align="right"><a name="70"></a><a href="#70">70</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'QUERY_STRING'=&gt;&nbsp;$query,</span></td></tr>
+     <tr><td><div align="right"><a name="71"></a><a href="#71">71</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]</span></td></tr>
+     <tr><td><div align="right"><a name="72"></a><a href="#72">72</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);</span></td></tr>
+     <tr><td><div align="right"><a name="73"></a><a href="#73">73</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="74"></a><a href="#74">74</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$aArgs&nbsp;=&nbsp;[</span></td></tr>
+     <tr><td><div align="right"><a name="75"></a><a href="#75">75</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'id'=&gt;&nbsp;'NEW'</span></td></tr>
+     <tr><td><div align="right"><a name="76"></a><a href="#76">76</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;];</span></td></tr>
+     <tr><td><div align="right"><a name="77"></a><a href="#77">77</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="78"></a><a href="#78">78</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$request&nbsp;=&nbsp;\Slim\Http\Request::createFromEnvironment($environment);</span></td></tr>
+     <tr><td><div align="right"><a name="79"></a><a href="#79">79</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$response&nbsp;=&nbsp;new&nbsp;\Slim\Http\Response();</span></td></tr>
+     <tr><td><div align="right"><a name="80"></a><a href="#80">80</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$response&nbsp;=&nbsp;$action-&gt;create($request,&nbsp;$response,&nbsp;$aArgs);</span></td></tr>
+     <tr><td><div align="right"><a name="81"></a><a href="#81">81</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="82"></a><a href="#82">82</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$compare&nbsp;=&nbsp;'[{&quot;status&quot;:[{&quot;id&quot;:&quot;TEST&quot;,&quot;label_status&quot;:&quot;TEST&quot;,'</span></td></tr>
+     <tr><td><div align="right"><a name="83"></a><a href="#83">83</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;'&quot;is_system&quot;:&quot;Y&quot;,&quot;is_folder_status&quot;:&quot;N&quot;,&quot;img_filename&quot;:null,'</span></td></tr>
+     <tr><td><div align="right"><a name="84"></a><a href="#84">84</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;'&quot;maarch_module&quot;:&quot;apps&quot;,&quot;can_be_searched&quot;:&quot;Y&quot;,'</span></td></tr>
+     <tr><td><div align="right"><a name="85"></a><a href="#85">85</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;'&quot;can_be_modified&quot;:&quot;Y&quot;}]}]';</span></td></tr>
+     <tr><td><div align="right"><a name="86"></a><a href="#86">86</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="87"></a><a href="#87">87</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;assertSame((string)$response-&gt;getBody(),&nbsp;$compare);</span></td></tr>
+     <tr><td><div align="right"><a name="88"></a><a href="#88">88</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;}</span></td></tr>
+     <tr><td><div align="right"><a name="89"></a><a href="#89">89</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="90"></a><a href="#90">90</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;public&nbsp;function&nbsp;testUpdate()</span></td></tr>
+     <tr><td><div align="right"><a name="91"></a><a href="#91">91</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;{</span></td></tr>
+     <tr><td><div align="right"><a name="92"></a><a href="#92">92</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$action&nbsp;=&nbsp;new&nbsp;\Core\Controllers\DocserverController();</span></td></tr>
+     <tr><td><div align="right"><a name="93"></a><a href="#93">93</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="94"></a><a href="#94">94</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$query&nbsp;&nbsp;=&nbsp;'id=TEST&amp;';</span></td></tr>
+     <tr><td><div align="right"><a name="95"></a><a href="#95">95</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$query&nbsp;.=&nbsp;'label_status=TEST&nbsp;AFTER&nbsp;UP';</span></td></tr>
+     <tr><td><div align="right"><a name="96"></a><a href="#96">96</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="97"></a><a href="#97">97</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$environment&nbsp;=&nbsp;\Slim\Http\Environment::mock(</span></td></tr>
+     <tr><td><div align="right"><a name="98"></a><a href="#98">98</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[</span></td></tr>
+     <tr><td><div align="right"><a name="99"></a><a href="#99">99</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'REQUEST_METHOD'&nbsp;=&gt;&nbsp;'PUT',</span></td></tr>
+     <tr><td><div align="right"><a name="100"></a><a href="#100">100</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'QUERY_STRING'=&gt;&nbsp;$query,</span></td></tr>
+     <tr><td><div align="right"><a name="101"></a><a href="#101">101</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]</span></td></tr>
+     <tr><td><div align="right"><a name="102"></a><a href="#102">102</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);</span></td></tr>
+     <tr><td><div align="right"><a name="103"></a><a href="#103">103</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="104"></a><a href="#104">104</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$aArgs&nbsp;=&nbsp;[</span></td></tr>
+     <tr><td><div align="right"><a name="105"></a><a href="#105">105</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'id'=&gt;&nbsp;'NEW'</span></td></tr>
+     <tr><td><div align="right"><a name="106"></a><a href="#106">106</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;];</span></td></tr>
+     <tr><td><div align="right"><a name="107"></a><a href="#107">107</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="108"></a><a href="#108">108</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$request&nbsp;=&nbsp;\Slim\Http\Request::createFromEnvironment($environment);</span></td></tr>
+     <tr><td><div align="right"><a name="109"></a><a href="#109">109</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$response&nbsp;=&nbsp;new&nbsp;\Slim\Http\Response();</span></td></tr>
+     <tr><td><div align="right"><a name="110"></a><a href="#110">110</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$response&nbsp;=&nbsp;$action-&gt;update($request,&nbsp;$response,&nbsp;$aArgs);</span></td></tr>
+     <tr><td><div align="right"><a name="111"></a><a href="#111">111</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="112"></a><a href="#112">112</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$compare&nbsp;=&nbsp;'[{&quot;status&quot;:[{&quot;id&quot;:&quot;TEST&quot;,&quot;label_status&quot;:&quot;TEST&nbsp;AFTER&nbsp;UP&quot;,'</span></td></tr>
+     <tr><td><div align="right"><a name="113"></a><a href="#113">113</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;'&quot;is_system&quot;:&quot;Y&quot;,&quot;is_folder_status&quot;:&quot;N&quot;,&quot;img_filename&quot;:null,'</span></td></tr>
+     <tr><td><div align="right"><a name="114"></a><a href="#114">114</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;'&quot;maarch_module&quot;:&quot;apps&quot;,&quot;can_be_searched&quot;:&quot;Y&quot;,'</span></td></tr>
+     <tr><td><div align="right"><a name="115"></a><a href="#115">115</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;'&quot;can_be_modified&quot;:&quot;Y&quot;}]}]';</span></td></tr>
+     <tr><td><div align="right"><a name="116"></a><a href="#116">116</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="117"></a><a href="#117">117</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;assertSame((string)$response-&gt;getBody(),&nbsp;$compare);</span></td></tr>
+     <tr><td><div align="right"><a name="118"></a><a href="#118">118</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;}</span></td></tr>
+     <tr><td><div align="right"><a name="119"></a><a href="#119">119</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="120"></a><a href="#120">120</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;public&nbsp;function&nbsp;testDelete()</span></td></tr>
+     <tr><td><div align="right"><a name="121"></a><a href="#121">121</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;{</span></td></tr>
+     <tr><td><div align="right"><a name="122"></a><a href="#122">122</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$action&nbsp;=&nbsp;new&nbsp;\Core\Controllers\DocserverController();</span></td></tr>
+     <tr><td><div align="right"><a name="123"></a><a href="#123">123</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="124"></a><a href="#124">124</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$environment&nbsp;=&nbsp;\Slim\Http\Environment::mock(</span></td></tr>
+     <tr><td><div align="right"><a name="125"></a><a href="#125">125</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[</span></td></tr>
+     <tr><td><div align="right"><a name="126"></a><a href="#126">126</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'REQUEST_METHOD'&nbsp;=&gt;&nbsp;'DELETE',</span></td></tr>
+     <tr><td><div align="right"><a name="127"></a><a href="#127">127</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]</span></td></tr>
+     <tr><td><div align="right"><a name="128"></a><a href="#128">128</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);</span></td></tr>
+     <tr><td><div align="right"><a name="129"></a><a href="#129">129</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="130"></a><a href="#130">130</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$aArgs&nbsp;=&nbsp;[</span></td></tr>
+     <tr><td><div align="right"><a name="131"></a><a href="#131">131</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'id'=&gt;&nbsp;'TEST'</span></td></tr>
+     <tr><td><div align="right"><a name="132"></a><a href="#132">132</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;];</span></td></tr>
+     <tr><td><div align="right"><a name="133"></a><a href="#133">133</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="134"></a><a href="#134">134</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$request&nbsp;=&nbsp;\Slim\Http\Request::createFromEnvironment($environment);</span></td></tr>
+     <tr><td><div align="right"><a name="135"></a><a href="#135">135</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$response&nbsp;=&nbsp;new&nbsp;\Slim\Http\Response();</span></td></tr>
+     <tr><td><div align="right"><a name="136"></a><a href="#136">136</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$response&nbsp;=&nbsp;$action-&gt;delete($request,&nbsp;$response,&nbsp;$aArgs);</span></td></tr>
+     <tr><td><div align="right"><a name="137"></a><a href="#137">137</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="138"></a><a href="#138">138</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;assertSame((string)$response-&gt;getBody(),&nbsp;'[{&quot;status&quot;:true}]');</span></td></tr>
+     <tr><td><div align="right"><a name="139"></a><a href="#139">139</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;}</span></td></tr>
+     <tr><td><div align="right"><a name="140"></a><a href="#140">140</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="141"></a><a href="#141">141</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testGetDocserverToInsert</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="142"></a><a href="#142">142</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 143" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetDocserverToInsert&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="143"></a><a href="#143">143</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">DocserverController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="144"></a><a href="#144">144</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="145"></a><a href="#145">145</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr><td><div align="right"><a name="146"></a><a href="#146">146</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'collId'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'letterbox_coll'</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 147" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetDocserverToInsert&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="147"></a><a href="#147">147</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="148"></a><a href="#148">148</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 149" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetDocserverToInsert&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="149"></a><a href="#149">149</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">getDocserverToInsert</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="150"></a><a href="#150">150</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 151" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetDocserverToInsert&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="151"></a><a href="#151">151</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertSame</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 152" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetDocserverToInsert&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="152"></a><a href="#152">152</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'coll_id'</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 153" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetDocserverToInsert&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="153"></a><a href="#153">153</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'collId'</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="154"></a><a href="#154">154</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 155" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetDocserverToInsert&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="155"></a><a href="#155">155</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="156"></a><a href="#156">156</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="157"></a><a href="#157">157</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testCheckSize</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="158"></a><a href="#158">158</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 159" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testCheckSize&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="159"></a><a href="#159">159</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">DocserverController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="160"></a><a href="#160">160</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="161"></a><a href="#161">161</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr><td><div align="right"><a name="162"></a><a href="#162">162</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'collId'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'letterbox_coll'</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 163" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testCheckSize&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="163"></a><a href="#163">163</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="164"></a><a href="#164">164</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 165" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testCheckSize&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="165"></a><a href="#165">165</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$ds</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">getDocserverToInsert</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="166"></a><a href="#166">166</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="167"></a><a href="#167">167</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 168" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testCheckSize&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="168"></a><a href="#168">168</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'docserver'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$ds</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 169" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testCheckSize&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="169"></a><a href="#169">169</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'filesize'</span><span class="default">&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">1090900</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="170"></a><a href="#170">170</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="171"></a><a href="#171">171</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 172" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testCheckSize&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="172"></a><a href="#172">172</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">checkSize</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="173"></a><a href="#173">173</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 174" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testCheckSize&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="174"></a><a href="#174">174</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertGreaterThan</span><span class="keyword">(</span><span class="default">0</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">[</span><span class="default">'newDsSize'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 175" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testCheckSize&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="175"></a><a href="#175">175</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="176"></a><a href="#176">176</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="177"></a><a href="#177">177</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testSetSize</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="178"></a><a href="#178">178</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 179" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testSetSize&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="179"></a><a href="#179">179</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">DocserverController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="180"></a><a href="#180">180</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="181"></a><a href="#181">181</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr><td><div align="right"><a name="182"></a><a href="#182">182</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'collId'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'letterbox_coll'</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 183" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testSetSize&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="183"></a><a href="#183">183</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="184"></a><a href="#184">184</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 185" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testSetSize&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="185"></a><a href="#185">185</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$ds</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">getDocserverToInsert</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="186"></a><a href="#186">186</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="187"></a><a href="#187">187</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 188" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testSetSize&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="188"></a><a href="#188">188</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'docserver_id'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$ds</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'docserver_id'</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 189" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testSetSize&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="189"></a><a href="#189">189</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'actual_size_number'</span><span class="default">&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">1</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="190"></a><a href="#190">190</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="191"></a><a href="#191">191</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 192" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testSetSize&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="192"></a><a href="#192">192</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">setSize</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="193"></a><a href="#193">193</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 194" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testSetSize&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="194"></a><a href="#194">194</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertTrue</span><span class="keyword">(</span><span class="default">$response</span><span class="keyword">[</span><span class="default">'setSize'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 195" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testSetSize&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="195"></a><a href="#195">195</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="196"></a><a href="#196">196</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="197"></a><a href="#197">197</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testGetNextFileNameInDocserver</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="198"></a><a href="#198">198</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 199" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="199"></a><a href="#199">199</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">DocserverController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="200"></a><a href="#200">200</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="201"></a><a href="#201">201</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr><td><div align="right"><a name="202"></a><a href="#202">202</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'pathOnDocserver'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'/opt/maarch/new_docservers/MaarchCourrierGit/manual/2017/02/'</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 203" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="203"></a><a href="#203">203</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="204"></a><a href="#204">204</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 205" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="205"></a><a href="#205">205</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">getNextFileNameInDocserver</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="206"></a><a href="#206">206</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 207" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="207"></a><a href="#207">207</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertNotNull</span><span class="keyword">(</span><span class="default">$response</span><span class="keyword">[</span><span class="default">'fileDestinationName'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 208" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="208"></a><a href="#208">208</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="209"></a><a href="#209">209</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="210"></a><a href="#210">210</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testStoreResourceOnDocserver</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="211"></a><a href="#211">211</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 212" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="212"></a><a href="#212">212</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">DocserverController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="213"></a><a href="#213">213</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 214" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="214"></a><a href="#214">214</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'config'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'tmppath'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'/test/'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="215"></a><a href="#215">215</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 216" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="216"></a><a href="#216">216</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">is_dir</span><span class="keyword">(</span><span class="default">$path</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 217" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="217"></a><a href="#217">217</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">mkdir</span><span class="keyword">(</span><span class="default">$path</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="218"></a><a href="#218">218</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="219"></a><a href="#219">219</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 220" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="220"></a><a href="#220">220</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fileSource</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'test_source.txt'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="221"></a><a href="#221">221</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 222" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="222"></a><a href="#222">222</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fp</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">fopen</span><span class="keyword">(</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$fileSource</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'a'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 223" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="223"></a><a href="#223">223</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">fwrite</span><span class="keyword">(</span><span class="default">$fp</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'a&nbsp;unit&nbsp;test'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 224" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="224"></a><a href="#224">224</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">fclose</span><span class="keyword">(</span><span class="default">$fp</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="225"></a><a href="#225">225</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="226"></a><a href="#226">226</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 227" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="227"></a><a href="#227">227</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'collId'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'letterbox_coll'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="228"></a><a href="#228">228</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'fileInfos'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span></td></tr>
+     <tr><td><div align="right"><a name="229"></a><a href="#229">229</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 230" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="230"></a><a href="#230">230</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'tmpDir'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$path</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 231" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="231"></a><a href="#231">231</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'size'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">122345</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 232" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="232"></a><a href="#232">232</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'format'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'txt'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 233" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="233"></a><a href="#233">233</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'tmpFileName'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$fileSource</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="234"></a><a href="#234">234</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="235"></a><a href="#235">235</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="236"></a><a href="#236">236</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 237" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="237"></a><a href="#237">237</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">storeResourceOnDocserver</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="238"></a><a href="#238">238</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="239"></a><a href="#239">239</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//print_r($response);</span></td></tr>
+     <tr><td><div align="right"><a name="240"></a><a href="#240">240</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 241" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="241"></a><a href="#241">241</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertArrayHasKey</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 242" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="242"></a><a href="#242">242</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'path_template'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="243"></a><a href="#243">243</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span></td></tr>
+     <tr><td><div align="right"><a name="244"></a><a href="#244">244</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 245" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="245"></a><a href="#245">245</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="246"></a><a href="#246">246</a></div></td><td class="codeLine"><span class="keyword">}</span></td></tr>
+
+    </tbody>
+   </table>
+   <footer>
+    <hr/>
+    <h4>Legend</h4>
+    <p>
+     <span class="success"><strong>Executed</strong></span>
+     <span class="danger"><strong>Not Executed</strong></span>
+     <span class="warning"><strong>Dead Code</strong></span>
+    </p>
+    <p>
+     <small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 3.2.1</a> using <a href="http://php.net/" target="_top">PHP 7.0.16-4+deb.sury.org~xenial+1</a> and <a href="https://phpunit.de/">PHPUnit 5.1.3</a> at Tue Mar 14 18:24:26 CET 2017.</small>
+    </p>
+    <a title="Back to the top" id="toplink" href="#"><span class="glyphicon glyphicon-arrow-up"></span></a>
+   </footer>
+  </div>
+  <script src="js/jquery.min.js" type="text/javascript"></script>
+  <script src="js/bootstrap.min.js" type="text/javascript"></script>
+  <script src="js/holder.min.js" type="text/javascript"></script>
+  <script type="text/javascript">
+  $(function() {
+   var $window   = $(window)
+     , $top_link = $('#toplink')
+     , $body     = $('body, html')
+     , offset    = $('#code').offset().top;
+
+   $top_link.hide().click(function(event) {
+    event.preventDefault();
+    $body.animate({scrollTop:0}, 800);
+   });
+
+   $window.scroll(function() {
+    if($window.scrollTop() > offset) {
+     $top_link.fadeIn();
+    } else {
+     $top_link.fadeOut();
+    }
+   }).scroll();
+
+   $('.popin').popover({trigger: 'hover'});
+  });
+  </script>
+ </body>
+</html>
diff --git a/core/Test/build/DocserverToolsControllerTest.php.html b/core/Test/build/DocserverToolsControllerTest.php.html
new file mode 100644
index 0000000000000000000000000000000000000000..a196a4b2db70a3791ac3cf010664818ff084751b
--- /dev/null
+++ b/core/Test/build/DocserverToolsControllerTest.php.html
@@ -0,0 +1,420 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+  <meta charset="UTF-8">
+  <title>Code Coverage for /var/www/html/MaarchCourrier/core/Test/DocserverToolsControllerTest.php</title>
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <link href="css/bootstrap.min.css" rel="stylesheet">
+  <link href="css/style.css" rel="stylesheet">
+  <!--[if lt IE 9]>
+  <script src="js/html5shiv.min.js"></script>
+  <script src="js/respond.min.js"></script>
+  <![endif]-->
+ </head>
+ <body>
+  <header>
+   <div class="container">
+    <div class="row">
+     <div class="col-md-12">
+      <ol class="breadcrumb">
+        <li><a href="index.html">/var/www/html/MaarchCourrier/core/Test</a></li>
+        <li class="active">DocserverToolsControllerTest.php</li>
+
+      </ol>
+     </div>
+    </div>
+   </div>
+  </header>
+  <div class="container">
+   <table class="table table-bordered">
+    <thead>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td>
+     </tr>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td>
+      <td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td>
+      <td colspan="3"><div align="center"><strong>Lines</strong></div></td>
+     </tr>
+    </thead>
+    <tbody>
+     <tr>
+      <td class="danger">Total</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="33.33" aria-valuemin="0" aria-valuemax="100" style="width: 33.33%">
+           <span class="sr-only">33.33% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">33.33%</div></td>
+      <td class="danger small"><div align="right">2&nbsp;/&nbsp;6</div></td>
+      <td class="danger small"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="93.44" aria-valuemin="0" aria-valuemax="100" style="width: 93.44%">
+           <span class="sr-only">93.44% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">93.44%</div></td>
+      <td class="success small"><div align="right">57&nbsp;/&nbsp;61</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger">DocserverToolsControllerTest</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="33.33" aria-valuemin="0" aria-valuemax="100" style="width: 33.33%">
+           <span class="sr-only">33.33% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">33.33%</div></td>
+      <td class="danger small"><div align="right">2&nbsp;/&nbsp;6</div></td>
+      <td class="danger small">10.03</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="93.44" aria-valuemin="0" aria-valuemax="100" style="width: 93.44%">
+           <span class="sr-only">93.44% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">93.44%</div></td>
+      <td class="success small"><div align="right">57&nbsp;/&nbsp;61</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#16"><abbr title="testSetRights()">testSetRights</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">5&nbsp;/&nbsp;5</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#29"><abbr title="testDoFingerprint()">testDoFingerprint</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">2.00</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="92.31" aria-valuemin="0" aria-valuemax="100" style="width: 92.31%">
+           <span class="sr-only">92.31% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">92.31%</div></td>
+      <td class="success small"><div align="right">12&nbsp;/&nbsp;13</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#56"><abbr title="testControlFingerprint()">testControlFingerprint</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">2.00</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="92.86" aria-valuemin="0" aria-valuemax="100" style="width: 92.86%">
+           <span class="sr-only">92.86% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">92.86%</div></td>
+      <td class="success small"><div align="right">13&nbsp;/&nbsp;14</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#83"><abbr title="testCopyOnDocserver()">testCopyOnDocserver</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">2.00</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="93.75" aria-valuemin="0" aria-valuemax="100" style="width: 93.75%">
+           <span class="sr-only">93.75% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">93.75%</div></td>
+      <td class="success small"><div align="right">15&nbsp;/&nbsp;16</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#112"><abbr title="testWashTmp()">testWashTmp</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">2.01</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="87.50" aria-valuemin="0" aria-valuemax="100" style="width: 87.50%">
+           <span class="sr-only">87.50% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">87.50%</div></td>
+      <td class="success small"><div align="right">7&nbsp;/&nbsp;8</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#132"><abbr title="testCreatePathOnDocServer()">testCreatePathOnDocServer</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">5&nbsp;/&nbsp;5</div></td>
+     </tr>
+
+
+    </tbody>
+   </table>
+   <table id="code" class="table table-borderless table-condensed">
+    <tbody>
+     <tr><td><div align="right"><a name="1"></a><a href="#1">1</a></div></td><td class="codeLine"><span class="default">&lt;?php</span></td></tr>
+     <tr><td><div align="right"><a name="2"></a><a href="#2">2</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="3"></a><a href="#3">3</a></div></td><td class="codeLine"><span class="keyword">namespace</span><span class="default">&nbsp;</span><span class="default">MaarchTest</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="4"></a><a href="#4">4</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="5"></a><a href="#5">5</a></div></td><td class="codeLine"><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="6"></a><a href="#6">6</a></div></td><td class="codeLine"><span class="comment">*&nbsp;Copyright&nbsp;Maarch&nbsp;since&nbsp;2008&nbsp;under&nbsp;licence&nbsp;GPLv3.</span></td></tr>
+     <tr><td><div align="right"><a name="7"></a><a href="#7">7</a></div></td><td class="codeLine"><span class="comment">*&nbsp;See&nbsp;LICENCE.txt&nbsp;file&nbsp;at&nbsp;the&nbsp;root&nbsp;folder&nbsp;for&nbsp;more&nbsp;details.</span></td></tr>
+     <tr><td><div align="right"><a name="8"></a><a href="#8">8</a></div></td><td class="codeLine"><span class="comment">*&nbsp;This&nbsp;file&nbsp;is&nbsp;part&nbsp;of&nbsp;Maarch&nbsp;software.</span></td></tr>
+     <tr><td><div align="right"><a name="9"></a><a href="#9">9</a></div></td><td class="codeLine"><span class="comment">*</span></td></tr>
+     <tr><td><div align="right"><a name="10"></a><a href="#10">10</a></div></td><td class="codeLine"><span class="comment">*/</span></td></tr>
+     <tr><td><div align="right"><a name="11"></a><a href="#11">11</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="12"></a><a href="#12">12</a></div></td><td class="codeLine"><span class="keyword">require_once</span><span class="default">&nbsp;</span><span class="default">__DIR__</span><span class="keyword">.</span><span class="default">'/define.php'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="13"></a><a href="#13">13</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="14"></a><a href="#14">14</a></div></td><td class="codeLine"><span class="keyword">class</span><span class="default">&nbsp;</span><span class="default">DocserverToolsControllerTest</span><span class="default">&nbsp;</span><span class="keyword">extends</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">PHPUnit_Framework_TestCase</span></td></tr>
+     <tr><td><div align="right"><a name="15"></a><a href="#15">15</a></div></td><td class="codeLine"><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="16"></a><a href="#16">16</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testSetRights</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="17"></a><a href="#17">17</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 18" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testSetRights&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="18"></a><a href="#18">18</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">DocserverToolsController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="19"></a><a href="#19">19</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="20"></a><a href="#20">20</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr><td><div align="right"><a name="21"></a><a href="#21">21</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'path'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'/opt/maarch/docservers/'</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 22" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testSetRights&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="22"></a><a href="#22">22</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="23"></a><a href="#23">23</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 24" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testSetRights&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="24"></a><a href="#24">24</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">setRights</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="25"></a><a href="#25">25</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 26" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testSetRights&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="26"></a><a href="#26">26</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertTrue</span><span class="keyword">(</span><span class="default">$response</span><span class="keyword">[</span><span class="default">'setRights'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 27" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testSetRights&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="27"></a><a href="#27">27</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="28"></a><a href="#28">28</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="29"></a><a href="#29">29</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testDoFingerprint</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="30"></a><a href="#30">30</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 31" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testDoFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="31"></a><a href="#31">31</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">DocserverToolsController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="32"></a><a href="#32">32</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 33" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testDoFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="33"></a><a href="#33">33</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'config'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'tmppath'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'/test/'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="34"></a><a href="#34">34</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 35" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testDoFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="35"></a><a href="#35">35</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">is_dir</span><span class="keyword">(</span><span class="default">$path</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="36"></a><a href="#36">36</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">mkdir</span><span class="keyword">(</span><span class="default">$path</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="37"></a><a href="#37">37</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="38"></a><a href="#38">38</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 39" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testDoFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="39"></a><a href="#39">39</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fileSource</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'test_source.txt'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="40"></a><a href="#40">40</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="41"></a><a href="#41">41</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//creates&nbsp;an&nbsp;empty&nbsp;file</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 42" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testDoFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="42"></a><a href="#42">42</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fp</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">fopen</span><span class="keyword">(</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$fileSource</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'a'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 43" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testDoFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="43"></a><a href="#43">43</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">fwrite</span><span class="keyword">(</span><span class="default">$fp</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'a&nbsp;unit&nbsp;test'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 44" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testDoFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="44"></a><a href="#44">44</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">fclose</span><span class="keyword">(</span><span class="default">$fp</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="45"></a><a href="#45">45</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="46"></a><a href="#46">46</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 47" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testDoFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="47"></a><a href="#47">47</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'path'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$fileSource</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 48" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testDoFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="48"></a><a href="#48">48</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'fingerprintMode'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'NONE'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="49"></a><a href="#49">49</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="50"></a><a href="#50">50</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 51" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testDoFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="51"></a><a href="#51">51</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">doFingerprint</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="52"></a><a href="#52">52</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 53" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testDoFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="53"></a><a href="#53">53</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertEquals</span><span class="keyword">(</span><span class="default">$response</span><span class="keyword">[</span><span class="default">'setRights'</span><span class="keyword">]</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">0</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 54" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testDoFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="54"></a><a href="#54">54</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="55"></a><a href="#55">55</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="56"></a><a href="#56">56</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testControlFingerprint</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="57"></a><a href="#57">57</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 58" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="58"></a><a href="#58">58</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">DocserverToolsController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="59"></a><a href="#59">59</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 60" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="60"></a><a href="#60">60</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'config'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'tmppath'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'/test/'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="61"></a><a href="#61">61</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 62" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="62"></a><a href="#62">62</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">is_dir</span><span class="keyword">(</span><span class="default">$path</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="63"></a><a href="#63">63</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">mkdir</span><span class="keyword">(</span><span class="default">$path</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="64"></a><a href="#64">64</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="65"></a><a href="#65">65</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 66" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="66"></a><a href="#66">66</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fileSource</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'test_source.txt'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="67"></a><a href="#67">67</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 68" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="68"></a><a href="#68">68</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fp</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">fopen</span><span class="keyword">(</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$fileSource</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'a'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 69" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="69"></a><a href="#69">69</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">fwrite</span><span class="keyword">(</span><span class="default">$fp</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'a&nbsp;unit&nbsp;test'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 70" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="70"></a><a href="#70">70</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">fclose</span><span class="keyword">(</span><span class="default">$fp</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="71"></a><a href="#71">71</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="72"></a><a href="#72">72</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 73" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="73"></a><a href="#73">73</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'pathInit'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$fileSource</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 74" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="74"></a><a href="#74">74</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'pathTarget'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$fileSource</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 75" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="75"></a><a href="#75">75</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'fingerprintMode'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'sha256'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="76"></a><a href="#76">76</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="77"></a><a href="#77">77</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 78" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="78"></a><a href="#78">78</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">controlFingerprint</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="79"></a><a href="#79">79</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 80" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="80"></a><a href="#80">80</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertTrue</span><span class="keyword">(</span><span class="default">$response</span><span class="keyword">[</span><span class="default">'controlFingerprint'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 81" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="81"></a><a href="#81">81</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="82"></a><a href="#82">82</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="83"></a><a href="#83">83</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testCopyOnDocserver</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="84"></a><a href="#84">84</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 85" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="85"></a><a href="#85">85</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">DocserverToolsController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="86"></a><a href="#86">86</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 87" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="87"></a><a href="#87">87</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'config'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'tmppath'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'/test/'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="88"></a><a href="#88">88</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 89" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="89"></a><a href="#89">89</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">is_dir</span><span class="keyword">(</span><span class="default">$path</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="90"></a><a href="#90">90</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">mkdir</span><span class="keyword">(</span><span class="default">$path</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="91"></a><a href="#91">91</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="92"></a><a href="#92">92</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 93" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="93"></a><a href="#93">93</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fileSource</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'test_source.txt'</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 94" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="94"></a><a href="#94">94</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fileDest</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'test_dest.txt'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="95"></a><a href="#95">95</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 96" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="96"></a><a href="#96">96</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fp</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">fopen</span><span class="keyword">(</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$fileSource</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'a'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 97" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="97"></a><a href="#97">97</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">fwrite</span><span class="keyword">(</span><span class="default">$fp</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'a&nbsp;unit&nbsp;test'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 98" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="98"></a><a href="#98">98</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">fclose</span><span class="keyword">(</span><span class="default">$fp</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="99"></a><a href="#99">99</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="100"></a><a href="#100">100</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 101" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="101"></a><a href="#101">101</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'sourceFilePath'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$fileSource</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 102" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="102"></a><a href="#102">102</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'destinationDir'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$path</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 103" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="103"></a><a href="#103">103</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'fileDestinationName'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$fileDest</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 104" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="104"></a><a href="#104">104</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'docserverSourceFingerprint'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'sha256'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="105"></a><a href="#105">105</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="106"></a><a href="#106">106</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 107" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="107"></a><a href="#107">107</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">copyOnDocserver</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="108"></a><a href="#108">108</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 109" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="109"></a><a href="#109">109</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertArrayHasKey</span><span class="keyword">(</span><span class="default">'destinationDir'</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">[</span><span class="default">'copyOnDocserver'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 110" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="110"></a><a href="#110">110</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="111"></a><a href="#111">111</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="112"></a><a href="#112">112</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testWashTmp</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="113"></a><a href="#113">113</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 114" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testWashTmp&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="114"></a><a href="#114">114</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">DocserverToolsController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="115"></a><a href="#115">115</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 116" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testWashTmp&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="116"></a><a href="#116">116</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'config'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'tmppath'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'/test/'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="117"></a><a href="#117">117</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 118" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testWashTmp&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="118"></a><a href="#118">118</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">is_dir</span><span class="keyword">(</span><span class="default">$path</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="119"></a><a href="#119">119</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">mkdir</span><span class="keyword">(</span><span class="default">$path</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="120"></a><a href="#120">120</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="121"></a><a href="#121">121</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="122"></a><a href="#122">122</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 123" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testWashTmp&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="123"></a><a href="#123">123</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'path'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$path</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="124"></a><a href="#124">124</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'contentOnly'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="125"></a><a href="#125">125</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="126"></a><a href="#126">126</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 127" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testWashTmp&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="127"></a><a href="#127">127</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">washTmp</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="128"></a><a href="#128">128</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 129" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testWashTmp&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="129"></a><a href="#129">129</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertTrue</span><span class="keyword">(</span><span class="default">$response</span><span class="keyword">[</span><span class="default">'washTmp'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 130" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testWashTmp&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="130"></a><a href="#130">130</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="131"></a><a href="#131">131</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="132"></a><a href="#132">132</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testCreatePathOnDocServer</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="133"></a><a href="#133">133</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 134" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCreatePathOnDocServer&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="134"></a><a href="#134">134</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">DocserverToolsController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="135"></a><a href="#135">135</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="136"></a><a href="#136">136</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr><td><div align="right"><a name="137"></a><a href="#137">137</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'path'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'/opt/maarch/new_docservers/MaarchCourrierGit/manual/'</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 138" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCreatePathOnDocServer&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="138"></a><a href="#138">138</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="139"></a><a href="#139">139</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 140" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCreatePathOnDocServer&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="140"></a><a href="#140">140</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">createPathOnDocServer</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="141"></a><a href="#141">141</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 142" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCreatePathOnDocServer&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="142"></a><a href="#142">142</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertArrayHasKey</span><span class="keyword">(</span><span class="default">'destinationDir'</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">[</span><span class="default">'createPathOnDocServer'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 143" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCreatePathOnDocServer&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="143"></a><a href="#143">143</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="144"></a><a href="#144">144</a></div></td><td class="codeLine"><span class="keyword">}</span></td></tr>
+
+    </tbody>
+   </table>
+   <footer>
+    <hr/>
+    <h4>Legend</h4>
+    <p>
+     <span class="success"><strong>Executed</strong></span>
+     <span class="danger"><strong>Not Executed</strong></span>
+     <span class="warning"><strong>Dead Code</strong></span>
+    </p>
+    <p>
+     <small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 3.2.1</a> using <a href="http://php.net/" target="_top">PHP 7.0.16-4+deb.sury.org~xenial+1</a> and <a href="https://phpunit.de/">PHPUnit 5.1.3</a> at Tue Mar 14 18:24:26 CET 2017.</small>
+    </p>
+    <a title="Back to the top" id="toplink" href="#"><span class="glyphicon glyphicon-arrow-up"></span></a>
+   </footer>
+  </div>
+  <script src="js/jquery.min.js" type="text/javascript"></script>
+  <script src="js/bootstrap.min.js" type="text/javascript"></script>
+  <script src="js/holder.min.js" type="text/javascript"></script>
+  <script type="text/javascript">
+  $(function() {
+   var $window   = $(window)
+     , $top_link = $('#toplink')
+     , $body     = $('body, html')
+     , offset    = $('#code').offset().top;
+
+   $top_link.hide().click(function(event) {
+    event.preventDefault();
+    $body.animate({scrollTop:0}, 800);
+   });
+
+   $window.scroll(function() {
+    if($window.scrollTop() > offset) {
+     $top_link.fadeIn();
+    } else {
+     $top_link.fadeOut();
+    }
+   }).scroll();
+
+   $('.popin').popover({trigger: 'hover'});
+  });
+  </script>
+ </body>
+</html>
diff --git a/core/Test/build/DocserverTypeControllerTest.php.html b/core/Test/build/DocserverTypeControllerTest.php.html
new file mode 100644
index 0000000000000000000000000000000000000000..1ecacd803ae3b53965dc90f6e47014186137c194
--- /dev/null
+++ b/core/Test/build/DocserverTypeControllerTest.php.html
@@ -0,0 +1,335 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+  <meta charset="UTF-8">
+  <title>Code Coverage for /var/www/html/MaarchCourrier/core/Test/DocserverTypeControllerTest.php</title>
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <link href="css/bootstrap.min.css" rel="stylesheet">
+  <link href="css/style.css" rel="stylesheet">
+  <!--[if lt IE 9]>
+  <script src="js/html5shiv.min.js"></script>
+  <script src="js/respond.min.js"></script>
+  <![endif]-->
+ </head>
+ <body>
+  <header>
+   <div class="container">
+    <div class="row">
+     <div class="col-md-12">
+      <ol class="breadcrumb">
+        <li><a href="index.html">/var/www/html/MaarchCourrier/core/Test</a></li>
+        <li class="active">DocserverTypeControllerTest.php</li>
+
+      </ol>
+     </div>
+    </div>
+   </div>
+  </header>
+  <div class="container">
+   <table class="table table-bordered">
+    <thead>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td>
+     </tr>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td>
+      <td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td>
+      <td colspan="3"><div align="center"><strong>Lines</strong></div></td>
+     </tr>
+    </thead>
+    <tbody>
+     <tr>
+      <td class="success">Total</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">2&nbsp;/&nbsp;2</div></td>
+      <td class="success small"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">18&nbsp;/&nbsp;18</div></td>
+     </tr>
+
+     <tr>
+      <td class="success">DocserverTypeControllerTest</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">2&nbsp;/&nbsp;2</div></td>
+      <td class="success small">2</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">18&nbsp;/&nbsp;18</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#16"><abbr title="testGetList()">testGetList</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">8&nbsp;/&nbsp;8</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#35"><abbr title="testGetById()">testGetById</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">10&nbsp;/&nbsp;10</div></td>
+     </tr>
+
+
+    </tbody>
+   </table>
+   <table id="code" class="table table-borderless table-condensed">
+    <tbody>
+     <tr><td><div align="right"><a name="1"></a><a href="#1">1</a></div></td><td class="codeLine"><span class="default">&lt;?php</span></td></tr>
+     <tr><td><div align="right"><a name="2"></a><a href="#2">2</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="3"></a><a href="#3">3</a></div></td><td class="codeLine"><span class="keyword">namespace</span><span class="default">&nbsp;</span><span class="default">MaarchTest</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="4"></a><a href="#4">4</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="5"></a><a href="#5">5</a></div></td><td class="codeLine"><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="6"></a><a href="#6">6</a></div></td><td class="codeLine"><span class="comment">*&nbsp;Copyright&nbsp;Maarch&nbsp;since&nbsp;2008&nbsp;under&nbsp;licence&nbsp;GPLv3.</span></td></tr>
+     <tr><td><div align="right"><a name="7"></a><a href="#7">7</a></div></td><td class="codeLine"><span class="comment">*&nbsp;See&nbsp;LICENCE.txt&nbsp;file&nbsp;at&nbsp;the&nbsp;root&nbsp;folder&nbsp;for&nbsp;more&nbsp;details.</span></td></tr>
+     <tr><td><div align="right"><a name="8"></a><a href="#8">8</a></div></td><td class="codeLine"><span class="comment">*&nbsp;This&nbsp;file&nbsp;is&nbsp;part&nbsp;of&nbsp;Maarch&nbsp;software.</span></td></tr>
+     <tr><td><div align="right"><a name="9"></a><a href="#9">9</a></div></td><td class="codeLine"><span class="comment">*</span></td></tr>
+     <tr><td><div align="right"><a name="10"></a><a href="#10">10</a></div></td><td class="codeLine"><span class="comment">*/</span></td></tr>
+     <tr><td><div align="right"><a name="11"></a><a href="#11">11</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="12"></a><a href="#12">12</a></div></td><td class="codeLine"><span class="keyword">require_once</span><span class="default">&nbsp;</span><span class="default">__DIR__</span><span class="keyword">.</span><span class="default">'/define.php'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="13"></a><a href="#13">13</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="14"></a><a href="#14">14</a></div></td><td class="codeLine"><span class="keyword">class</span><span class="default">&nbsp;</span><span class="default">DocserverTypeControllerTest</span><span class="default">&nbsp;</span><span class="keyword">extends</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">PHPUnit_Framework_TestCase</span></td></tr>
+     <tr><td><div align="right"><a name="15"></a><a href="#15">15</a></div></td><td class="codeLine"><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="16"></a><a href="#16">16</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testGetList</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="17"></a><a href="#17">17</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 18" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="18"></a><a href="#18">18</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">DocserverTypeController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="19"></a><a href="#19">19</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 20" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="20"></a><a href="#20">20</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$environment</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Environment</span><span class="default">::</span><span class="default">mock</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="21"></a><a href="#21">21</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 22" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="22"></a><a href="#22">22</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'REQUEST_METHOD'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'GET'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="23"></a><a href="#23">23</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//'REQUEST_URI'&nbsp;=&gt;&nbsp;'/docserverType',</span></td></tr>
+     <tr><td><div align="right"><a name="24"></a><a href="#24">24</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//'QUERY_STRING'=&gt;'foo=bar',</span></td></tr>
+     <tr><td><div align="right"><a name="25"></a><a href="#25">25</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="26"></a><a href="#26">26</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="27"></a><a href="#27">27</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 28" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="28"></a><a href="#28">28</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$request</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Request</span><span class="default">::</span><span class="default">createFromEnvironment</span><span class="keyword">(</span><span class="default">$environment</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 29" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="29"></a><a href="#29">29</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Response</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 30" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="30"></a><a href="#30">30</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">getList</span><span class="keyword">(</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="31"></a><a href="#31">31</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 32" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="32"></a><a href="#32">32</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertNotNull</span><span class="keyword">(</span><span class="default">(string)</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">getBody</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 33" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="33"></a><a href="#33">33</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="34"></a><a href="#34">34</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="35"></a><a href="#35">35</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testGetById</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="36"></a><a href="#36">36</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 37" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="37"></a><a href="#37">37</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">DocserverTypeController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="38"></a><a href="#38">38</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 39" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="39"></a><a href="#39">39</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$environment</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Environment</span><span class="default">::</span><span class="default">mock</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="40"></a><a href="#40">40</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 41" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="41"></a><a href="#41">41</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'REQUEST_METHOD'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'GET'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="42"></a><a href="#42">42</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="43"></a><a href="#43">43</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="44"></a><a href="#44">44</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="45"></a><a href="#45">45</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr><td><div align="right"><a name="46"></a><a href="#46">46</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'FASTHD'</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 47" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="47"></a><a href="#47">47</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="48"></a><a href="#48">48</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 49" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="49"></a><a href="#49">49</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$request</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Request</span><span class="default">::</span><span class="default">createFromEnvironment</span><span class="keyword">(</span><span class="default">$environment</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 50" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="50"></a><a href="#50">50</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Response</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 51" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="51"></a><a href="#51">51</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">getById</span><span class="keyword">(</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="52"></a><a href="#52">52</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$compare</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'[{&quot;DocserverType&quot;:[{&quot;docserver_type_id&quot;:&quot;FASTHD&quot;,'</span></td></tr>
+     <tr><td><div align="right"><a name="53"></a><a href="#53">53</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&quot;docserver_type_label&quot;:&quot;FASTHD&quot;,&quot;enabled&quot;:&quot;Y&quot;,'</span></td></tr>
+     <tr><td><div align="right"><a name="54"></a><a href="#54">54</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&quot;is_container&quot;:&quot;N&quot;,&quot;container_max_number&quot;:0,'</span></td></tr>
+     <tr><td><div align="right"><a name="55"></a><a href="#55">55</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&quot;is_compressed&quot;:&quot;N&quot;,&quot;compression_mode&quot;:&quot;NONE&quot;,'</span></td></tr>
+     <tr><td><div align="right"><a name="56"></a><a href="#56">56</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&quot;is_meta&quot;:&quot;N&quot;,&quot;meta_template&quot;:&quot;NONE&quot;,'</span></td></tr>
+     <tr><td><div align="right"><a name="57"></a><a href="#57">57</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&quot;is_logged&quot;:&quot;N&quot;,&quot;log_template&quot;:&quot;NONE&quot;,'</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 58" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="58"></a><a href="#58">58</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&quot;is_signed&quot;:&quot;Y&quot;,&quot;fingerprint_mode&quot;:&quot;SHA256&quot;}]}]'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="59"></a><a href="#59">59</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 60" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="60"></a><a href="#60">60</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertSame</span><span class="keyword">(</span><span class="default">(string)</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">getBody</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$compare</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 61" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="61"></a><a href="#61">61</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="62"></a><a href="#62">62</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="63"></a><a href="#63">63</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;public&nbsp;function&nbsp;testCreate()</span></td></tr>
+     <tr><td><div align="right"><a name="64"></a><a href="#64">64</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;{</span></td></tr>
+     <tr><td><div align="right"><a name="65"></a><a href="#65">65</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$action&nbsp;=&nbsp;new&nbsp;\Core\Controllers\DocserverTypeController();</span></td></tr>
+     <tr><td><div align="right"><a name="66"></a><a href="#66">66</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="67"></a><a href="#67">67</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$query&nbsp;&nbsp;=&nbsp;'id=TEST&amp;';</span></td></tr>
+     <tr><td><div align="right"><a name="68"></a><a href="#68">68</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$query&nbsp;.=&nbsp;'label_status=TEST';</span></td></tr>
+     <tr><td><div align="right"><a name="69"></a><a href="#69">69</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="70"></a><a href="#70">70</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$environment&nbsp;=&nbsp;\Slim\Http\Environment::mock(</span></td></tr>
+     <tr><td><div align="right"><a name="71"></a><a href="#71">71</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[</span></td></tr>
+     <tr><td><div align="right"><a name="72"></a><a href="#72">72</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'REQUEST_METHOD'&nbsp;=&gt;&nbsp;'POST',</span></td></tr>
+     <tr><td><div align="right"><a name="73"></a><a href="#73">73</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'QUERY_STRING'=&gt;&nbsp;$query,</span></td></tr>
+     <tr><td><div align="right"><a name="74"></a><a href="#74">74</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]</span></td></tr>
+     <tr><td><div align="right"><a name="75"></a><a href="#75">75</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);</span></td></tr>
+     <tr><td><div align="right"><a name="76"></a><a href="#76">76</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="77"></a><a href="#77">77</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$aArgs&nbsp;=&nbsp;[</span></td></tr>
+     <tr><td><div align="right"><a name="78"></a><a href="#78">78</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'id'=&gt;&nbsp;'NEW'</span></td></tr>
+     <tr><td><div align="right"><a name="79"></a><a href="#79">79</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;];</span></td></tr>
+     <tr><td><div align="right"><a name="80"></a><a href="#80">80</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="81"></a><a href="#81">81</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$request&nbsp;=&nbsp;\Slim\Http\Request::createFromEnvironment($environment);</span></td></tr>
+     <tr><td><div align="right"><a name="82"></a><a href="#82">82</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$response&nbsp;=&nbsp;new&nbsp;\Slim\Http\Response();</span></td></tr>
+     <tr><td><div align="right"><a name="83"></a><a href="#83">83</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$response&nbsp;=&nbsp;$action-&gt;create($request,&nbsp;$response,&nbsp;$aArgs);</span></td></tr>
+     <tr><td><div align="right"><a name="84"></a><a href="#84">84</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="85"></a><a href="#85">85</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$compare&nbsp;=&nbsp;'[{&quot;docserverType&quot;:[{&quot;id&quot;:&quot;TEST&quot;,&quot;label_status&quot;:&quot;TEST&quot;,'</span></td></tr>
+     <tr><td><div align="right"><a name="86"></a><a href="#86">86</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;'&quot;is_system&quot;:&quot;Y&quot;,&quot;is_folder_status&quot;:&quot;N&quot;,&quot;img_filename&quot;:null,'</span></td></tr>
+     <tr><td><div align="right"><a name="87"></a><a href="#87">87</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;'&quot;maarch_module&quot;:&quot;apps&quot;,&quot;can_be_searched&quot;:&quot;Y&quot;,'</span></td></tr>
+     <tr><td><div align="right"><a name="88"></a><a href="#88">88</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;'&quot;can_be_modified&quot;:&quot;Y&quot;}]}]';</span></td></tr>
+     <tr><td><div align="right"><a name="89"></a><a href="#89">89</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="90"></a><a href="#90">90</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;assertSame((string)$response-&gt;getBody(),&nbsp;$compare);</span></td></tr>
+     <tr><td><div align="right"><a name="91"></a><a href="#91">91</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;}</span></td></tr>
+     <tr><td><div align="right"><a name="92"></a><a href="#92">92</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="93"></a><a href="#93">93</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;public&nbsp;function&nbsp;testUpdate()</span></td></tr>
+     <tr><td><div align="right"><a name="94"></a><a href="#94">94</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;{</span></td></tr>
+     <tr><td><div align="right"><a name="95"></a><a href="#95">95</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$action&nbsp;=&nbsp;new&nbsp;\Core\Controllers\DocserverTypeController();</span></td></tr>
+     <tr><td><div align="right"><a name="96"></a><a href="#96">96</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="97"></a><a href="#97">97</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$query&nbsp;&nbsp;=&nbsp;'id=TEST&amp;';</span></td></tr>
+     <tr><td><div align="right"><a name="98"></a><a href="#98">98</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$query&nbsp;.=&nbsp;'label_status=TEST&nbsp;AFTER&nbsp;UP';</span></td></tr>
+     <tr><td><div align="right"><a name="99"></a><a href="#99">99</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="100"></a><a href="#100">100</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$environment&nbsp;=&nbsp;\Slim\Http\Environment::mock(</span></td></tr>
+     <tr><td><div align="right"><a name="101"></a><a href="#101">101</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[</span></td></tr>
+     <tr><td><div align="right"><a name="102"></a><a href="#102">102</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'REQUEST_METHOD'&nbsp;=&gt;&nbsp;'PUT',</span></td></tr>
+     <tr><td><div align="right"><a name="103"></a><a href="#103">103</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'QUERY_STRING'=&gt;&nbsp;$query,</span></td></tr>
+     <tr><td><div align="right"><a name="104"></a><a href="#104">104</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]</span></td></tr>
+     <tr><td><div align="right"><a name="105"></a><a href="#105">105</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);</span></td></tr>
+     <tr><td><div align="right"><a name="106"></a><a href="#106">106</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="107"></a><a href="#107">107</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$aArgs&nbsp;=&nbsp;[</span></td></tr>
+     <tr><td><div align="right"><a name="108"></a><a href="#108">108</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'id'=&gt;&nbsp;'NEW'</span></td></tr>
+     <tr><td><div align="right"><a name="109"></a><a href="#109">109</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;];</span></td></tr>
+     <tr><td><div align="right"><a name="110"></a><a href="#110">110</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="111"></a><a href="#111">111</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$request&nbsp;=&nbsp;\Slim\Http\Request::createFromEnvironment($environment);</span></td></tr>
+     <tr><td><div align="right"><a name="112"></a><a href="#112">112</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$response&nbsp;=&nbsp;new&nbsp;\Slim\Http\Response();</span></td></tr>
+     <tr><td><div align="right"><a name="113"></a><a href="#113">113</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$response&nbsp;=&nbsp;$action-&gt;update($request,&nbsp;$response,&nbsp;$aArgs);</span></td></tr>
+     <tr><td><div align="right"><a name="114"></a><a href="#114">114</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="115"></a><a href="#115">115</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$compare&nbsp;=&nbsp;'[{&quot;docserverType&quot;:[{&quot;id&quot;:&quot;TEST&quot;,&quot;label_status&quot;:&quot;TEST&nbsp;AFTER&nbsp;UP&quot;,'</span></td></tr>
+     <tr><td><div align="right"><a name="116"></a><a href="#116">116</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;'&quot;is_system&quot;:&quot;Y&quot;,&quot;is_folder_status&quot;:&quot;N&quot;,&quot;img_filename&quot;:null,'</span></td></tr>
+     <tr><td><div align="right"><a name="117"></a><a href="#117">117</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;'&quot;maarch_module&quot;:&quot;apps&quot;,&quot;can_be_searched&quot;:&quot;Y&quot;,'</span></td></tr>
+     <tr><td><div align="right"><a name="118"></a><a href="#118">118</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;'&quot;can_be_modified&quot;:&quot;Y&quot;}]}]';</span></td></tr>
+     <tr><td><div align="right"><a name="119"></a><a href="#119">119</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="120"></a><a href="#120">120</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;assertSame((string)$response-&gt;getBody(),&nbsp;$compare);</span></td></tr>
+     <tr><td><div align="right"><a name="121"></a><a href="#121">121</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;}</span></td></tr>
+     <tr><td><div align="right"><a name="122"></a><a href="#122">122</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="123"></a><a href="#123">123</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;public&nbsp;function&nbsp;testDelete()</span></td></tr>
+     <tr><td><div align="right"><a name="124"></a><a href="#124">124</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;{</span></td></tr>
+     <tr><td><div align="right"><a name="125"></a><a href="#125">125</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$action&nbsp;=&nbsp;new&nbsp;\Core\Controllers\DocserverTypeController();</span></td></tr>
+     <tr><td><div align="right"><a name="126"></a><a href="#126">126</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="127"></a><a href="#127">127</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$environment&nbsp;=&nbsp;\Slim\Http\Environment::mock(</span></td></tr>
+     <tr><td><div align="right"><a name="128"></a><a href="#128">128</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[</span></td></tr>
+     <tr><td><div align="right"><a name="129"></a><a href="#129">129</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'REQUEST_METHOD'&nbsp;=&gt;&nbsp;'DELETE',</span></td></tr>
+     <tr><td><div align="right"><a name="130"></a><a href="#130">130</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]</span></td></tr>
+     <tr><td><div align="right"><a name="131"></a><a href="#131">131</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);</span></td></tr>
+     <tr><td><div align="right"><a name="132"></a><a href="#132">132</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="133"></a><a href="#133">133</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$aArgs&nbsp;=&nbsp;[</span></td></tr>
+     <tr><td><div align="right"><a name="134"></a><a href="#134">134</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'id'=&gt;&nbsp;'TEST'</span></td></tr>
+     <tr><td><div align="right"><a name="135"></a><a href="#135">135</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;];</span></td></tr>
+     <tr><td><div align="right"><a name="136"></a><a href="#136">136</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="137"></a><a href="#137">137</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$request&nbsp;=&nbsp;\Slim\Http\Request::createFromEnvironment($environment);</span></td></tr>
+     <tr><td><div align="right"><a name="138"></a><a href="#138">138</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$response&nbsp;=&nbsp;new&nbsp;\Slim\Http\Response();</span></td></tr>
+     <tr><td><div align="right"><a name="139"></a><a href="#139">139</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$response&nbsp;=&nbsp;$action-&gt;delete($request,&nbsp;$response,&nbsp;$aArgs);</span></td></tr>
+     <tr><td><div align="right"><a name="140"></a><a href="#140">140</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="141"></a><a href="#141">141</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;assertSame((string)$response-&gt;getBody(),&nbsp;'[{&quot;docserverType&quot;:true}]');</span></td></tr>
+     <tr><td><div align="right"><a name="142"></a><a href="#142">142</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;}</span></td></tr>
+     <tr><td><div align="right"><a name="143"></a><a href="#143">143</a></div></td><td class="codeLine"><span class="keyword">}</span></td></tr>
+
+    </tbody>
+   </table>
+   <footer>
+    <hr/>
+    <h4>Legend</h4>
+    <p>
+     <span class="success"><strong>Executed</strong></span>
+     <span class="danger"><strong>Not Executed</strong></span>
+     <span class="warning"><strong>Dead Code</strong></span>
+    </p>
+    <p>
+     <small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 3.2.1</a> using <a href="http://php.net/" target="_top">PHP 7.0.16-4+deb.sury.org~xenial+1</a> and <a href="https://phpunit.de/">PHPUnit 5.1.3</a> at Tue Mar 14 18:24:26 CET 2017.</small>
+    </p>
+    <a title="Back to the top" id="toplink" href="#"><span class="glyphicon glyphicon-arrow-up"></span></a>
+   </footer>
+  </div>
+  <script src="js/jquery.min.js" type="text/javascript"></script>
+  <script src="js/bootstrap.min.js" type="text/javascript"></script>
+  <script src="js/holder.min.js" type="text/javascript"></script>
+  <script type="text/javascript">
+  $(function() {
+   var $window   = $(window)
+     , $top_link = $('#toplink')
+     , $body     = $('body, html')
+     , offset    = $('#code').offset().top;
+
+   $top_link.hide().click(function(event) {
+    event.preventDefault();
+    $body.animate({scrollTop:0}, 800);
+   });
+
+   $window.scroll(function() {
+    if($window.scrollTop() > offset) {
+     $top_link.fadeIn();
+    } else {
+     $top_link.fadeOut();
+    }
+   }).scroll();
+
+   $('.popin').popover({trigger: 'hover'});
+  });
+  </script>
+ </body>
+</html>
diff --git a/core/Test/build/ResControllerTest.php.html b/core/Test/build/ResControllerTest.php.html
new file mode 100644
index 0000000000000000000000000000000000000000..3335f99ca252fd18d92e8043f7b344f3bd9be8dc
--- /dev/null
+++ b/core/Test/build/ResControllerTest.php.html
@@ -0,0 +1,501 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+  <meta charset="UTF-8">
+  <title>Code Coverage for /var/www/html/MaarchCourrier/core/Test/ResControllerTest.php</title>
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <link href="css/bootstrap.min.css" rel="stylesheet">
+  <link href="css/style.css" rel="stylesheet">
+  <!--[if lt IE 9]>
+  <script src="js/html5shiv.min.js"></script>
+  <script src="js/respond.min.js"></script>
+  <![endif]-->
+ </head>
+ <body>
+  <header>
+   <div class="container">
+    <div class="row">
+     <div class="col-md-12">
+      <ol class="breadcrumb">
+        <li><a href="index.html">/var/www/html/MaarchCourrier/core/Test</a></li>
+        <li class="active">ResControllerTest.php</li>
+
+      </ol>
+     </div>
+    </div>
+   </div>
+  </header>
+  <div class="container">
+   <table class="table table-bordered">
+    <thead>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td>
+     </tr>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td>
+      <td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td>
+      <td colspan="3"><div align="center"><strong>Lines</strong></div></td>
+     </tr>
+    </thead>
+    <tbody>
+     <tr>
+      <td class="danger">Total</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="80.00" aria-valuemin="0" aria-valuemax="100" style="width: 80.00%">
+           <span class="sr-only">80.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">80.00%</div></td>
+      <td class="success small"><div align="right">4&nbsp;/&nbsp;5</div></td>
+      <td class="success small"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="98.88" aria-valuemin="0" aria-valuemax="100" style="width: 98.88%">
+           <span class="sr-only">98.88% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">98.88%</div></td>
+      <td class="success small"><div align="right">88&nbsp;/&nbsp;89</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger">ResControllerTest</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="80.00" aria-valuemin="0" aria-valuemax="100" style="width: 80.00%">
+           <span class="sr-only">80.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">80.00%</div></td>
+      <td class="success small"><div align="right">4&nbsp;/&nbsp;5</div></td>
+      <td class="success small">7</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="98.88" aria-valuemin="0" aria-valuemax="100" style="width: 98.88%">
+           <span class="sr-only">98.88% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">98.88%</div></td>
+      <td class="success small"><div align="right">88&nbsp;/&nbsp;89</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#17"><abbr title="testPrepareStorage()">testPrepareStorage</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">13&nbsp;/&nbsp;13</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#53"><abbr title="testStoreResource()">testStoreResource</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">2</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">28&nbsp;/&nbsp;28</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#124"><abbr title="testDelete()">testDelete</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">10&nbsp;/&nbsp;10</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#147"><abbr title="testCreate()">testCreate</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">2</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="96.88" aria-valuemin="0" aria-valuemax="100" style="width: 96.88%">
+           <span class="sr-only">96.88% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">96.88%</div></td>
+      <td class="success small"><div align="right">31&nbsp;/&nbsp;32</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#232"><abbr title="testDeleteRes()">testDeleteRes</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">6&nbsp;/&nbsp;6</div></td>
+     </tr>
+
+
+    </tbody>
+   </table>
+   <table id="code" class="table table-borderless table-condensed">
+    <tbody>
+     <tr><td><div align="right"><a name="1"></a><a href="#1">1</a></div></td><td class="codeLine"><span class="default">&lt;?php</span></td></tr>
+     <tr><td><div align="right"><a name="2"></a><a href="#2">2</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="3"></a><a href="#3">3</a></div></td><td class="codeLine"><span class="keyword">namespace</span><span class="default">&nbsp;</span><span class="default">MaarchTest</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="4"></a><a href="#4">4</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="5"></a><a href="#5">5</a></div></td><td class="codeLine"><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="6"></a><a href="#6">6</a></div></td><td class="codeLine"><span class="comment">*&nbsp;Copyright&nbsp;Maarch&nbsp;since&nbsp;2008&nbsp;under&nbsp;licence&nbsp;GPLv3.</span></td></tr>
+     <tr><td><div align="right"><a name="7"></a><a href="#7">7</a></div></td><td class="codeLine"><span class="comment">*&nbsp;See&nbsp;LICENCE.txt&nbsp;file&nbsp;at&nbsp;the&nbsp;root&nbsp;folder&nbsp;for&nbsp;more&nbsp;details.</span></td></tr>
+     <tr><td><div align="right"><a name="8"></a><a href="#8">8</a></div></td><td class="codeLine"><span class="comment">*&nbsp;This&nbsp;file&nbsp;is&nbsp;part&nbsp;of&nbsp;Maarch&nbsp;software.</span></td></tr>
+     <tr><td><div align="right"><a name="9"></a><a href="#9">9</a></div></td><td class="codeLine"><span class="comment">*</span></td></tr>
+     <tr><td><div align="right"><a name="10"></a><a href="#10">10</a></div></td><td class="codeLine"><span class="comment">*/</span></td></tr>
+     <tr><td><div align="right"><a name="11"></a><a href="#11">11</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="12"></a><a href="#12">12</a></div></td><td class="codeLine"><span class="keyword">require_once</span><span class="default">&nbsp;</span><span class="default">__DIR__</span><span class="keyword">.</span><span class="default">'/define.php'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="13"></a><a href="#13">13</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="14"></a><a href="#14">14</a></div></td><td class="codeLine"><span class="keyword">class</span><span class="default">&nbsp;</span><span class="default">ResControllerTest</span><span class="default">&nbsp;</span><span class="keyword">extends</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">PHPUnit_Framework_TestCase</span></td></tr>
+     <tr><td><div align="right"><a name="15"></a><a href="#15">15</a></div></td><td class="codeLine"><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="16"></a><a href="#16">16</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="17"></a><a href="#17">17</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testPrepareStorage</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="18"></a><a href="#18">18</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 19" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="19"></a><a href="#19">19</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">ResController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="20"></a><a href="#20">20</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 21" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="21"></a><a href="#21">21</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="22"></a><a href="#22">22</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 23" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="23"></a><a href="#23">23</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="24"></a><a href="#24">24</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="25"></a><a href="#25">25</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 26" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="26"></a><a href="#26">26</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'custom_t1'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="27"></a><a href="#27">27</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'TEST'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="28"></a><a href="#28">28</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="29"></a><a href="#29">29</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="30"></a><a href="#30">30</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="31"></a><a href="#31">31</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 32" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="32"></a><a href="#32">32</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="33"></a><a href="#33">33</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="34"></a><a href="#34">34</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 35" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="35"></a><a href="#35">35</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'custom_t10'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="36"></a><a href="#36">36</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'lgi@maarch.org'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="37"></a><a href="#37">37</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="38"></a><a href="#38">38</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="39"></a><a href="#39">39</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="40"></a><a href="#40">40</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="41"></a><a href="#41">41</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 42" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="42"></a><a href="#42">42</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'data'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 43" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="43"></a><a href="#43">43</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'docserverId'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'FASTHD_MAN'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 44" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="44"></a><a href="#44">44</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'status'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'new'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 45" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="45"></a><a href="#45">45</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'fileFormat'</span><span class="default">&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'pdf'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="46"></a><a href="#46">46</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="47"></a><a href="#47">47</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 48" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="48"></a><a href="#48">48</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">prepareStorage</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="49"></a><a href="#49">49</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 50" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="50"></a><a href="#50">50</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertArrayHasKey</span><span class="keyword">(</span><span class="default">'column'</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 51" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="51"></a><a href="#51">51</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="52"></a><a href="#52">52</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="53"></a><a href="#53">53</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testStoreResource</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="54"></a><a href="#54">54</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 55" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="55"></a><a href="#55">55</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">ResController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="56"></a><a href="#56">56</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 57" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="57"></a><a href="#57">57</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'config'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'tmppath'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'/test/'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="58"></a><a href="#58">58</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 59" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="59"></a><a href="#59">59</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">is_dir</span><span class="keyword">(</span><span class="default">$path</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 60" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="60"></a><a href="#60">60</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">mkdir</span><span class="keyword">(</span><span class="default">$path</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="61"></a><a href="#61">61</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="62"></a><a href="#62">62</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 63" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="63"></a><a href="#63">63</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fileSource</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'test_source.txt'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="64"></a><a href="#64">64</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 65" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="65"></a><a href="#65">65</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fp</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">fopen</span><span class="keyword">(</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$fileSource</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'a'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 66" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="66"></a><a href="#66">66</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">fwrite</span><span class="keyword">(</span><span class="default">$fp</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'a&nbsp;unit&nbsp;test'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 67" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="67"></a><a href="#67">67</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">fclose</span><span class="keyword">(</span><span class="default">$fp</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="68"></a><a href="#68">68</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 69" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="69"></a><a href="#69">69</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fileContent</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">file_get_contents</span><span class="keyword">(</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$fileSource</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">FILE_BINARY</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 70" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="70"></a><a href="#70">70</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$encodedFile</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">base64_encode</span><span class="keyword">(</span><span class="default">$fileContent</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="71"></a><a href="#71">71</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 72" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="72"></a><a href="#72">72</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="73"></a><a href="#73">73</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 74" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="74"></a><a href="#74">74</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="75"></a><a href="#75">75</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="76"></a><a href="#76">76</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 77" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="77"></a><a href="#77">77</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'subject'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="78"></a><a href="#78">78</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'UNIT&nbsp;TEST'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="79"></a><a href="#79">79</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="80"></a><a href="#80">80</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="81"></a><a href="#81">81</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="82"></a><a href="#82">82</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 83" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="83"></a><a href="#83">83</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="84"></a><a href="#84">84</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="85"></a><a href="#85">85</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 86" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="86"></a><a href="#86">86</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'type_id'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="87"></a><a href="#87">87</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">110</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="88"></a><a href="#88">88</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'integer'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="89"></a><a href="#89">89</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="90"></a><a href="#90">90</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="91"></a><a href="#91">91</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 92" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="92"></a><a href="#92">92</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="93"></a><a href="#93">93</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="94"></a><a href="#94">94</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 95" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="95"></a><a href="#95">95</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'custom_t1'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="96"></a><a href="#96">96</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'TEST'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="97"></a><a href="#97">97</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="98"></a><a href="#98">98</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="99"></a><a href="#99">99</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="100"></a><a href="#100">100</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 101" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="101"></a><a href="#101">101</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="102"></a><a href="#102">102</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="103"></a><a href="#103">103</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 104" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="104"></a><a href="#104">104</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'custom_t10'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="105"></a><a href="#105">105</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'lgi@maarch.org'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="106"></a><a href="#106">106</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="107"></a><a href="#107">107</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="108"></a><a href="#108">108</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="109"></a><a href="#109">109</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="110"></a><a href="#110">110</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 111" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="111"></a><a href="#111">111</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'encodedFile'</span><span class="default">&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$encodedFile</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 112" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="112"></a><a href="#112">112</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'data'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 113" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="113"></a><a href="#113">113</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'collId'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'letterbox_coll'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 114" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="114"></a><a href="#114">114</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'table'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'res_letterbox'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 115" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="115"></a><a href="#115">115</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'fileFormat'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'txt'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 116" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="116"></a><a href="#116">116</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'status'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'new'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="117"></a><a href="#117">117</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="118"></a><a href="#118">118</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 119" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="119"></a><a href="#119">119</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">storeResource</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="120"></a><a href="#120">120</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 121" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="121"></a><a href="#121">121</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertGreaterThanOrEqual</span><span class="keyword">(</span><span class="default">0</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 122" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="122"></a><a href="#122">122</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="123"></a><a href="#123">123</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="124"></a><a href="#124">124</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testDelete</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="125"></a><a href="#125">125</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 126" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="126"></a><a href="#126">126</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">ResController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="127"></a><a href="#127">127</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 128" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="128"></a><a href="#128">128</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$environment</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Environment</span><span class="default">::</span><span class="default">mock</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="129"></a><a href="#129">129</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 130" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="130"></a><a href="#130">130</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'REQUEST_METHOD'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'DELETE'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="131"></a><a href="#131">131</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="132"></a><a href="#132">132</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="133"></a><a href="#133">133</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 134" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="134"></a><a href="#134">134</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$resId</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Models</span><span class="default">\</span><span class="default">ResModel</span><span class="default">::</span><span class="default">getLastId</span><span class="keyword">(</span><span class="keyword">[</span><span class="default">'select'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'res_id'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="135"></a><a href="#135">135</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="136"></a><a href="#136">136</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 137" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="137"></a><a href="#137">137</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$resId</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'res_id'</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="138"></a><a href="#138">138</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="139"></a><a href="#139">139</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 140" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="140"></a><a href="#140">140</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$request</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Request</span><span class="default">::</span><span class="default">createFromEnvironment</span><span class="keyword">(</span><span class="default">$environment</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 141" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="141"></a><a href="#141">141</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Response</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 142" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="142"></a><a href="#142">142</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">delete</span><span class="keyword">(</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="143"></a><a href="#143">143</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 144" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="144"></a><a href="#144">144</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertSame</span><span class="keyword">(</span><span class="default">(string)</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">getBody</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'[true]'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 145" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="145"></a><a href="#145">145</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="146"></a><a href="#146">146</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="147"></a><a href="#147">147</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testCreate</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="148"></a><a href="#148">148</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 149" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="149"></a><a href="#149">149</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">ResController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="150"></a><a href="#150">150</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 151" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="151"></a><a href="#151">151</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$environment</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Environment</span><span class="default">::</span><span class="default">mock</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="152"></a><a href="#152">152</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 153" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="153"></a><a href="#153">153</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'REQUEST_METHOD'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'POST'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="154"></a><a href="#154">154</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="155"></a><a href="#155">155</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="156"></a><a href="#156">156</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 157" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="157"></a><a href="#157">157</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'config'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'tmppath'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'/test/'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="158"></a><a href="#158">158</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 159" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="159"></a><a href="#159">159</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">is_dir</span><span class="keyword">(</span><span class="default">$path</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="160"></a><a href="#160">160</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">mkdir</span><span class="keyword">(</span><span class="default">$path</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="161"></a><a href="#161">161</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="162"></a><a href="#162">162</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 163" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="163"></a><a href="#163">163</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fileSource</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'test_source.txt'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="164"></a><a href="#164">164</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 165" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="165"></a><a href="#165">165</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fp</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">fopen</span><span class="keyword">(</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$fileSource</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'a'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 166" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="166"></a><a href="#166">166</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">fwrite</span><span class="keyword">(</span><span class="default">$fp</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'a&nbsp;unit&nbsp;test'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 167" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="167"></a><a href="#167">167</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">fclose</span><span class="keyword">(</span><span class="default">$fp</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="168"></a><a href="#168">168</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 169" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="169"></a><a href="#169">169</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fileContent</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">file_get_contents</span><span class="keyword">(</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$fileSource</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">FILE_BINARY</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 170" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="170"></a><a href="#170">170</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$encodedFile</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">base64_encode</span><span class="keyword">(</span><span class="default">$fileContent</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="171"></a><a href="#171">171</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//echo&nbsp;$encodedFile&nbsp;.&nbsp;PHP_EOL;exit;</span></td></tr>
+     <tr><td><div align="right"><a name="172"></a><a href="#172">172</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 173" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="173"></a><a href="#173">173</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="174"></a><a href="#174">174</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 175" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="175"></a><a href="#175">175</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="176"></a><a href="#176">176</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="177"></a><a href="#177">177</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 178" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="178"></a><a href="#178">178</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'subject'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="179"></a><a href="#179">179</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'UNIT&nbsp;TEST&nbsp;from&nbsp;slim'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="180"></a><a href="#180">180</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="181"></a><a href="#181">181</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="182"></a><a href="#182">182</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="183"></a><a href="#183">183</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 184" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="184"></a><a href="#184">184</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="185"></a><a href="#185">185</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="186"></a><a href="#186">186</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 187" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="187"></a><a href="#187">187</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'type_id'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="188"></a><a href="#188">188</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">110</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="189"></a><a href="#189">189</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'integer'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="190"></a><a href="#190">190</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="191"></a><a href="#191">191</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="192"></a><a href="#192">192</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 193" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="193"></a><a href="#193">193</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="194"></a><a href="#194">194</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="195"></a><a href="#195">195</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 196" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="196"></a><a href="#196">196</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'custom_t1'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="197"></a><a href="#197">197</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'TEST'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="198"></a><a href="#198">198</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="199"></a><a href="#199">199</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="200"></a><a href="#200">200</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="201"></a><a href="#201">201</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 202" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="202"></a><a href="#202">202</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="203"></a><a href="#203">203</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="204"></a><a href="#204">204</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 205" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="205"></a><a href="#205">205</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'custom_t10'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="206"></a><a href="#206">206</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'lgi@maarch.org'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="207"></a><a href="#207">207</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="208"></a><a href="#208">208</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="209"></a><a href="#209">209</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="210"></a><a href="#210">210</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//print_r(json_encode($data));</span></td></tr>
+     <tr><td><div align="right"><a name="211"></a><a href="#211">211</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//sample&nbsp;in&nbsp;json&nbsp;:&nbsp;[{&quot;column&quot;:&quot;subject&quot;,&quot;value&quot;:&quot;UNIT&nbsp;T</span></td></tr>
+     <tr><td><div align="right"><a name="212"></a><a href="#212">212</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//EST&nbsp;from&nbsp;slim&quot;,&quot;type&quot;:&quot;string&quot;},{&quot;column&quot;:&quot;type_id&quot;,&quot;value&quot;:110,&quot;type&quot;:&quot;integer&quot;},</span></td></tr>
+     <tr><td><div align="right"><a name="213"></a><a href="#213">213</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//{&quot;column&quot;:&quot;custom_t1&quot;,&quot;value&quot;:&quot;TES</span></td></tr>
+     <tr><td><div align="right"><a name="214"></a><a href="#214">214</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//T&quot;,&quot;type&quot;:&quot;string&quot;},{&quot;column&quot;:&quot;custom_t10&quot;,&quot;value&quot;:&quot;lgi@maarch.org&quot;,&quot;type&quot;:&quot;string&quot;}]</span></td></tr>
+     <tr><td><div align="right"><a name="215"></a><a href="#215">215</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="216"></a><a href="#216">216</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 217" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="217"></a><a href="#217">217</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'encodedFile'</span><span class="default">&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$encodedFile</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 218" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="218"></a><a href="#218">218</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'data'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 219" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="219"></a><a href="#219">219</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'collId'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'letterbox_coll'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 220" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="220"></a><a href="#220">220</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'table'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'res_letterbox'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 221" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="221"></a><a href="#221">221</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'fileFormat'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'txt'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 222" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="222"></a><a href="#222">222</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'status'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'new'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="223"></a><a href="#223">223</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="224"></a><a href="#224">224</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 225" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="225"></a><a href="#225">225</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$request</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Request</span><span class="default">::</span><span class="default">createFromEnvironment</span><span class="keyword">(</span><span class="default">$environment</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 226" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="226"></a><a href="#226">226</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Response</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 227" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="227"></a><a href="#227">227</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">create</span><span class="keyword">(</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="228"></a><a href="#228">228</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//print_r($response);exit;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 229" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="229"></a><a href="#229">229</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertGreaterThan</span><span class="keyword">(</span><span class="default">1</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">json_decode</span><span class="keyword">(</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">getBody</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 230" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="230"></a><a href="#230">230</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="231"></a><a href="#231">231</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="232"></a><a href="#232">232</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testDeleteRes</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="233"></a><a href="#233">233</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 234" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDeleteRes&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="234"></a><a href="#234">234</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">ResController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="235"></a><a href="#235">235</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 236" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDeleteRes&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="236"></a><a href="#236">236</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$resId</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Models</span><span class="default">\</span><span class="default">ResModel</span><span class="default">::</span><span class="default">getLastId</span><span class="keyword">(</span><span class="keyword">[</span><span class="default">'select'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'res_id'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="237"></a><a href="#237">237</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="238"></a><a href="#238">238</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 239" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDeleteRes&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="239"></a><a href="#239">239</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$resId</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'res_id'</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="240"></a><a href="#240">240</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="241"></a><a href="#241">241</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 242" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDeleteRes&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="242"></a><a href="#242">242</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">deleteRes</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="243"></a><a href="#243">243</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 244" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDeleteRes&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="244"></a><a href="#244">244</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertTrue</span><span class="keyword">(</span><span class="default">$response</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 245" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDeleteRes&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="245"></a><a href="#245">245</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="246"></a><a href="#246">246</a></div></td><td class="codeLine"><span class="keyword">}</span></td></tr>
+
+    </tbody>
+   </table>
+   <footer>
+    <hr/>
+    <h4>Legend</h4>
+    <p>
+     <span class="success"><strong>Executed</strong></span>
+     <span class="danger"><strong>Not Executed</strong></span>
+     <span class="warning"><strong>Dead Code</strong></span>
+    </p>
+    <p>
+     <small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 3.2.1</a> using <a href="http://php.net/" target="_top">PHP 7.0.16-4+deb.sury.org~xenial+1</a> and <a href="https://phpunit.de/">PHPUnit 5.1.3</a> at Tue Mar 14 18:24:26 CET 2017.</small>
+    </p>
+    <a title="Back to the top" id="toplink" href="#"><span class="glyphicon glyphicon-arrow-up"></span></a>
+   </footer>
+  </div>
+  <script src="js/jquery.min.js" type="text/javascript"></script>
+  <script src="js/bootstrap.min.js" type="text/javascript"></script>
+  <script src="js/holder.min.js" type="text/javascript"></script>
+  <script type="text/javascript">
+  $(function() {
+   var $window   = $(window)
+     , $top_link = $('#toplink')
+     , $body     = $('body, html')
+     , offset    = $('#code').offset().top;
+
+   $top_link.hide().click(function(event) {
+    event.preventDefault();
+    $body.animate({scrollTop:0}, 800);
+   });
+
+   $window.scroll(function() {
+    if($window.scrollTop() > offset) {
+     $top_link.fadeIn();
+    } else {
+     $top_link.fadeOut();
+    }
+   }).scroll();
+
+   $('.popin').popover({trigger: 'hover'});
+  });
+  </script>
+ </body>
+</html>
diff --git a/core/Test/build/ResExtControllerTest.php.html b/core/Test/build/ResExtControllerTest.php.html
new file mode 100644
index 0000000000000000000000000000000000000000..bb845b00561648a5a69b47739737d7e6507edfb7
--- /dev/null
+++ b/core/Test/build/ResExtControllerTest.php.html
@@ -0,0 +1,717 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+  <meta charset="UTF-8">
+  <title>Code Coverage for /var/www/html/MaarchCourrier/core/Test/ResExtControllerTest.php</title>
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <link href="css/bootstrap.min.css" rel="stylesheet">
+  <link href="css/style.css" rel="stylesheet">
+  <!--[if lt IE 9]>
+  <script src="js/html5shiv.min.js"></script>
+  <script src="js/respond.min.js"></script>
+  <![endif]-->
+ </head>
+ <body>
+  <header>
+   <div class="container">
+    <div class="row">
+     <div class="col-md-12">
+      <ol class="breadcrumb">
+        <li><a href="index.html">/var/www/html/MaarchCourrier/core/Test</a></li>
+        <li class="active">ResExtControllerTest.php</li>
+
+      </ol>
+     </div>
+    </div>
+   </div>
+  </header>
+  <div class="container">
+   <table class="table table-bordered">
+    <thead>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td>
+     </tr>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td>
+      <td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td>
+      <td colspan="3"><div align="center"><strong>Lines</strong></div></td>
+     </tr>
+    </thead>
+    <tbody>
+     <tr>
+      <td class="danger">Total</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="85.71" aria-valuemin="0" aria-valuemax="100" style="width: 85.71%">
+           <span class="sr-only">85.71% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">85.71%</div></td>
+      <td class="success small"><div align="right">6&nbsp;/&nbsp;7</div></td>
+      <td class="success small"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="99.26" aria-valuemin="0" aria-valuemax="100" style="width: 99.26%">
+           <span class="sr-only">99.26% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">99.26%</div></td>
+      <td class="success small"><div align="right">134&nbsp;/&nbsp;135</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger">ResExtControllerTest</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="85.71" aria-valuemin="0" aria-valuemax="100" style="width: 85.71%">
+           <span class="sr-only">85.71% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">85.71%</div></td>
+      <td class="success small"><div align="right">6&nbsp;/&nbsp;7</div></td>
+      <td class="success small">8</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="99.26" aria-valuemin="0" aria-valuemax="100" style="width: 99.26%">
+           <span class="sr-only">99.26% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">99.26%</div></td>
+      <td class="success small"><div align="right">134&nbsp;/&nbsp;135</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#16"><abbr title="testCreate()">testCreate</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">33&nbsp;/&nbsp;33</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#118"><abbr title="testDelete()">testDelete</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">10&nbsp;/&nbsp;10</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#141"><abbr title="testPrepareStorageExt()">testPrepareStorageExt</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">26&nbsp;/&nbsp;26</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#230"><abbr title="testStoreExtResource()">testStoreExtResource</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">29&nbsp;/&nbsp;29</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#324"><abbr title="testDeleteExtRes()">testDeleteExtRes</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">6&nbsp;/&nbsp;6</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#339"><abbr title="createResArtefact()">createResArtefact</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">2</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="96.30" aria-valuemin="0" aria-valuemax="100" style="width: 96.30%">
+           <span class="sr-only">96.30% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">96.30%</div></td>
+      <td class="success small"><div align="right">26&nbsp;/&nbsp;27</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#410"><abbr title="deleteResArtefact($resId)">deleteResArtefact</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">4&nbsp;/&nbsp;4</div></td>
+     </tr>
+
+
+    </tbody>
+   </table>
+   <table id="code" class="table table-borderless table-condensed">
+    <tbody>
+     <tr><td><div align="right"><a name="1"></a><a href="#1">1</a></div></td><td class="codeLine"><span class="default">&lt;?php</span></td></tr>
+     <tr><td><div align="right"><a name="2"></a><a href="#2">2</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="3"></a><a href="#3">3</a></div></td><td class="codeLine"><span class="keyword">namespace</span><span class="default">&nbsp;</span><span class="default">MaarchTest</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="4"></a><a href="#4">4</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="5"></a><a href="#5">5</a></div></td><td class="codeLine"><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="6"></a><a href="#6">6</a></div></td><td class="codeLine"><span class="comment">*&nbsp;Copyright&nbsp;Maarch&nbsp;since&nbsp;2008&nbsp;under&nbsp;licence&nbsp;GPLv3.</span></td></tr>
+     <tr><td><div align="right"><a name="7"></a><a href="#7">7</a></div></td><td class="codeLine"><span class="comment">*&nbsp;See&nbsp;LICENCE.txt&nbsp;file&nbsp;at&nbsp;the&nbsp;root&nbsp;folder&nbsp;for&nbsp;more&nbsp;details.</span></td></tr>
+     <tr><td><div align="right"><a name="8"></a><a href="#8">8</a></div></td><td class="codeLine"><span class="comment">*&nbsp;This&nbsp;file&nbsp;is&nbsp;part&nbsp;of&nbsp;Maarch&nbsp;software.</span></td></tr>
+     <tr><td><div align="right"><a name="9"></a><a href="#9">9</a></div></td><td class="codeLine"><span class="comment">*</span></td></tr>
+     <tr><td><div align="right"><a name="10"></a><a href="#10">10</a></div></td><td class="codeLine"><span class="comment">*/</span></td></tr>
+     <tr><td><div align="right"><a name="11"></a><a href="#11">11</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="12"></a><a href="#12">12</a></div></td><td class="codeLine"><span class="keyword">require_once</span><span class="default">&nbsp;</span><span class="default">__DIR__</span><span class="keyword">.</span><span class="default">'/define.php'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="13"></a><a href="#13">13</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="14"></a><a href="#14">14</a></div></td><td class="codeLine"><span class="keyword">class</span><span class="default">&nbsp;</span><span class="default">ResExtControllerTest</span><span class="default">&nbsp;</span><span class="keyword">extends</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">PHPUnit_Framework_TestCase</span></td></tr>
+     <tr><td><div align="right"><a name="15"></a><a href="#15">15</a></div></td><td class="codeLine"><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="16"></a><a href="#16">16</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testCreate</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="17"></a><a href="#17">17</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 18" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="18"></a><a href="#18">18</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$resId</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">createResArtefact</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="19"></a><a href="#19">19</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 20" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="20"></a><a href="#20">20</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">ResExtController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="21"></a><a href="#21">21</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 22" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="22"></a><a href="#22">22</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$environment</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Environment</span><span class="default">::</span><span class="default">mock</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="23"></a><a href="#23">23</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 24" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="24"></a><a href="#24">24</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'REQUEST_METHOD'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'POST'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="25"></a><a href="#25">25</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="26"></a><a href="#26">26</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="27"></a><a href="#27">27</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 28" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="28"></a><a href="#28">28</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="29"></a><a href="#29">29</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 30" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="30"></a><a href="#30">30</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="31"></a><a href="#31">31</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="32"></a><a href="#32">32</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 33" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="33"></a><a href="#33">33</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'process_limit_date'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="34"></a><a href="#34">34</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'29/03/2017'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="35"></a><a href="#35">35</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'date'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="36"></a><a href="#36">36</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="37"></a><a href="#37">37</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="38"></a><a href="#38">38</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 39" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="39"></a><a href="#39">39</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="40"></a><a href="#40">40</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="41"></a><a href="#41">41</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 42" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="42"></a><a href="#42">42</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'process_notes'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="43"></a><a href="#43">43</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'50,workingDay'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="44"></a><a href="#44">44</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="45"></a><a href="#45">45</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="46"></a><a href="#46">46</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="47"></a><a href="#47">47</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 48" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="48"></a><a href="#48">48</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="49"></a><a href="#49">49</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="50"></a><a href="#50">50</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 51" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="51"></a><a href="#51">51</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'category_id'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="52"></a><a href="#52">52</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'incoming'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="53"></a><a href="#53">53</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="54"></a><a href="#54">54</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="55"></a><a href="#55">55</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="56"></a><a href="#56">56</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 57" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="57"></a><a href="#57">57</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="58"></a><a href="#58">58</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="59"></a><a href="#59">59</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 60" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="60"></a><a href="#60">60</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'alt_identifier'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="61"></a><a href="#61">61</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">''</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="62"></a><a href="#62">62</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="63"></a><a href="#63">63</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="64"></a><a href="#64">64</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="65"></a><a href="#65">65</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 66" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="66"></a><a href="#66">66</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="67"></a><a href="#67">67</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="68"></a><a href="#68">68</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 69" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="69"></a><a href="#69">69</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'exp_contact_id'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="70"></a><a href="#70">70</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'jeanlouis.ercolani@maarch.org'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="71"></a><a href="#71">71</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="72"></a><a href="#72">72</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="73"></a><a href="#73">73</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="74"></a><a href="#74">74</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 75" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="75"></a><a href="#75">75</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="76"></a><a href="#76">76</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="77"></a><a href="#77">77</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 78" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="78"></a><a href="#78">78</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'address_id'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="79"></a><a href="#79">79</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'jeanlouis.ercolani@maarch.org'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="80"></a><a href="#80">80</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="81"></a><a href="#81">81</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="82"></a><a href="#82">82</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="83"></a><a href="#83">83</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 84" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="84"></a><a href="#84">84</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="85"></a><a href="#85">85</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="86"></a><a href="#86">86</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 87" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="87"></a><a href="#87">87</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'nature_id'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="88"></a><a href="#88">88</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'simple_mail'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="89"></a><a href="#89">89</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="90"></a><a href="#90">90</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="91"></a><a href="#91">91</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="92"></a><a href="#92">92</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 93" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="93"></a><a href="#93">93</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="94"></a><a href="#94">94</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="95"></a><a href="#95">95</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 96" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="96"></a><a href="#96">96</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'admission_date'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 97" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="97"></a><a href="#97">97</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">date</span><span class="keyword">(</span><span class="default">'d/m/Y'</span><span class="keyword">)</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 98" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="98"></a><a href="#98">98</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'date'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="99"></a><a href="#99">99</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="100"></a><a href="#100">100</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="101"></a><a href="#101">101</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="102"></a><a href="#102">102</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 103" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="103"></a><a href="#103">103</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'resId'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$resId</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 104" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="104"></a><a href="#104">104</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'data'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 105" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="105"></a><a href="#105">105</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'table'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'mlb_coll_ext'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 106" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="106"></a><a href="#106">106</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'resTable'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'res_letterbox'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="107"></a><a href="#107">107</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="108"></a><a href="#108">108</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 109" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="109"></a><a href="#109">109</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$request</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Request</span><span class="default">::</span><span class="default">createFromEnvironment</span><span class="keyword">(</span><span class="default">$environment</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 110" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="110"></a><a href="#110">110</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Response</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 111" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="111"></a><a href="#111">111</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">create</span><span class="keyword">(</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="112"></a><a href="#112">112</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 113" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="113"></a><a href="#113">113</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertTrue</span><span class="keyword">(</span><span class="default">json_decode</span><span class="keyword">(</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">getBody</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="114"></a><a href="#114">114</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 115" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="115"></a><a href="#115">115</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">deleteResArtefact</span><span class="keyword">(</span><span class="default">$resId</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 116" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="116"></a><a href="#116">116</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="117"></a><a href="#117">117</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="118"></a><a href="#118">118</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testDelete</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="119"></a><a href="#119">119</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 120" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="120"></a><a href="#120">120</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">ResExtController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="121"></a><a href="#121">121</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 122" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="122"></a><a href="#122">122</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$environment</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Environment</span><span class="default">::</span><span class="default">mock</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="123"></a><a href="#123">123</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 124" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="124"></a><a href="#124">124</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'REQUEST_METHOD'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'DELETE'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="125"></a><a href="#125">125</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="126"></a><a href="#126">126</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="127"></a><a href="#127">127</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 128" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="128"></a><a href="#128">128</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$resId</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Models</span><span class="default">\</span><span class="default">ResExtModel</span><span class="default">::</span><span class="default">getLastId</span><span class="keyword">(</span><span class="keyword">[</span><span class="default">'select'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'res_id'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="129"></a><a href="#129">129</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="130"></a><a href="#130">130</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 131" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="131"></a><a href="#131">131</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$resId</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'res_id'</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="132"></a><a href="#132">132</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="133"></a><a href="#133">133</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 134" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="134"></a><a href="#134">134</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$request</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Request</span><span class="default">::</span><span class="default">createFromEnvironment</span><span class="keyword">(</span><span class="default">$environment</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 135" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="135"></a><a href="#135">135</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Response</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 136" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="136"></a><a href="#136">136</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">delete</span><span class="keyword">(</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="137"></a><a href="#137">137</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 138" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="138"></a><a href="#138">138</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertSame</span><span class="keyword">(</span><span class="default">(string)</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">getBody</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'[true]'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 139" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="139"></a><a href="#139">139</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="140"></a><a href="#140">140</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="141"></a><a href="#141">141</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testPrepareStorageExt</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="142"></a><a href="#142">142</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 143" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="143"></a><a href="#143">143</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">ResExtController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="144"></a><a href="#144">144</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 145" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="145"></a><a href="#145">145</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="146"></a><a href="#146">146</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 147" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="147"></a><a href="#147">147</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="148"></a><a href="#148">148</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="149"></a><a href="#149">149</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 150" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="150"></a><a href="#150">150</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'process_limit_date'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="151"></a><a href="#151">151</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'29/03/2017'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="152"></a><a href="#152">152</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'date'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="153"></a><a href="#153">153</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="154"></a><a href="#154">154</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="155"></a><a href="#155">155</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 156" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="156"></a><a href="#156">156</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="157"></a><a href="#157">157</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="158"></a><a href="#158">158</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 159" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="159"></a><a href="#159">159</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'process_notes'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="160"></a><a href="#160">160</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'50,workingDay'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="161"></a><a href="#161">161</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="162"></a><a href="#162">162</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="163"></a><a href="#163">163</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="164"></a><a href="#164">164</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 165" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="165"></a><a href="#165">165</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="166"></a><a href="#166">166</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="167"></a><a href="#167">167</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 168" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="168"></a><a href="#168">168</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'category_id'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="169"></a><a href="#169">169</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'incoming'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="170"></a><a href="#170">170</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="171"></a><a href="#171">171</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="172"></a><a href="#172">172</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="173"></a><a href="#173">173</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 174" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="174"></a><a href="#174">174</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="175"></a><a href="#175">175</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="176"></a><a href="#176">176</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 177" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="177"></a><a href="#177">177</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'alt_identifier'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="178"></a><a href="#178">178</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">''</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="179"></a><a href="#179">179</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="180"></a><a href="#180">180</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="181"></a><a href="#181">181</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="182"></a><a href="#182">182</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 183" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="183"></a><a href="#183">183</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="184"></a><a href="#184">184</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="185"></a><a href="#185">185</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 186" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="186"></a><a href="#186">186</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'exp_contact_id'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="187"></a><a href="#187">187</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'jeanlouis.ercolani@maarch.org'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="188"></a><a href="#188">188</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="189"></a><a href="#189">189</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="190"></a><a href="#190">190</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="191"></a><a href="#191">191</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 192" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="192"></a><a href="#192">192</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="193"></a><a href="#193">193</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="194"></a><a href="#194">194</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 195" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="195"></a><a href="#195">195</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'address_id'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="196"></a><a href="#196">196</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'jeanlouis.ercolani@maarch.org'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="197"></a><a href="#197">197</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="198"></a><a href="#198">198</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="199"></a><a href="#199">199</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="200"></a><a href="#200">200</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 201" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="201"></a><a href="#201">201</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="202"></a><a href="#202">202</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="203"></a><a href="#203">203</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 204" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="204"></a><a href="#204">204</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'nature_id'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="205"></a><a href="#205">205</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'simple_mail'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="206"></a><a href="#206">206</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="207"></a><a href="#207">207</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="208"></a><a href="#208">208</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="209"></a><a href="#209">209</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 210" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="210"></a><a href="#210">210</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="211"></a><a href="#211">211</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="212"></a><a href="#212">212</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 213" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="213"></a><a href="#213">213</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'admission_date'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 214" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="214"></a><a href="#214">214</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">date</span><span class="keyword">(</span><span class="default">'d/m/Y'</span><span class="keyword">)</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 215" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="215"></a><a href="#215">215</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'date'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="216"></a><a href="#216">216</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="217"></a><a href="#217">217</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="218"></a><a href="#218">218</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="219"></a><a href="#219">219</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 220" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="220"></a><a href="#220">220</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'resId'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">100</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 221" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="221"></a><a href="#221">221</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'data'</span><span class="default">&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 222" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="222"></a><a href="#222">222</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'table'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'mlb_coll_ext'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="223"></a><a href="#223">223</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="224"></a><a href="#224">224</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 225" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="225"></a><a href="#225">225</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">prepareStorageExt</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="226"></a><a href="#226">226</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 227" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="227"></a><a href="#227">227</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertArrayHasKey</span><span class="keyword">(</span><span class="default">'res_id'</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 228" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="228"></a><a href="#228">228</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="229"></a><a href="#229">229</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="230"></a><a href="#230">230</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testStoreExtResource</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="231"></a><a href="#231">231</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 232" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="232"></a><a href="#232">232</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$resId</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">createResArtefact</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="233"></a><a href="#233">233</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 234" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="234"></a><a href="#234">234</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">ResExtController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="235"></a><a href="#235">235</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 236" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="236"></a><a href="#236">236</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="237"></a><a href="#237">237</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 238" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="238"></a><a href="#238">238</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="239"></a><a href="#239">239</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="240"></a><a href="#240">240</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 241" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="241"></a><a href="#241">241</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'process_limit_date'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="242"></a><a href="#242">242</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'29/03/2017'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="243"></a><a href="#243">243</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'date'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="244"></a><a href="#244">244</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="245"></a><a href="#245">245</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="246"></a><a href="#246">246</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 247" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="247"></a><a href="#247">247</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="248"></a><a href="#248">248</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="249"></a><a href="#249">249</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 250" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="250"></a><a href="#250">250</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'process_notes'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="251"></a><a href="#251">251</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'50,workingDay'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="252"></a><a href="#252">252</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="253"></a><a href="#253">253</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="254"></a><a href="#254">254</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="255"></a><a href="#255">255</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 256" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="256"></a><a href="#256">256</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="257"></a><a href="#257">257</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="258"></a><a href="#258">258</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 259" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="259"></a><a href="#259">259</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'category_id'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="260"></a><a href="#260">260</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'incoming'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="261"></a><a href="#261">261</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="262"></a><a href="#262">262</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="263"></a><a href="#263">263</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="264"></a><a href="#264">264</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 265" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="265"></a><a href="#265">265</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="266"></a><a href="#266">266</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="267"></a><a href="#267">267</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 268" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="268"></a><a href="#268">268</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'alt_identifier'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="269"></a><a href="#269">269</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">''</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="270"></a><a href="#270">270</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="271"></a><a href="#271">271</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="272"></a><a href="#272">272</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="273"></a><a href="#273">273</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 274" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="274"></a><a href="#274">274</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="275"></a><a href="#275">275</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="276"></a><a href="#276">276</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 277" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="277"></a><a href="#277">277</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'exp_contact_id'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="278"></a><a href="#278">278</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'jeanlouis.ercolani@maarch.org'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="279"></a><a href="#279">279</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="280"></a><a href="#280">280</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="281"></a><a href="#281">281</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="282"></a><a href="#282">282</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 283" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="283"></a><a href="#283">283</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="284"></a><a href="#284">284</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="285"></a><a href="#285">285</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 286" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="286"></a><a href="#286">286</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'address_id'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="287"></a><a href="#287">287</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'jeanlouis.ercolani@maarch.org'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="288"></a><a href="#288">288</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="289"></a><a href="#289">289</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="290"></a><a href="#290">290</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="291"></a><a href="#291">291</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 292" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="292"></a><a href="#292">292</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="293"></a><a href="#293">293</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="294"></a><a href="#294">294</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 295" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="295"></a><a href="#295">295</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'nature_id'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="296"></a><a href="#296">296</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'simple_mail'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="297"></a><a href="#297">297</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="298"></a><a href="#298">298</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="299"></a><a href="#299">299</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="300"></a><a href="#300">300</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 301" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="301"></a><a href="#301">301</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="302"></a><a href="#302">302</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="303"></a><a href="#303">303</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 304" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="304"></a><a href="#304">304</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'admission_date'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 305" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="305"></a><a href="#305">305</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">date</span><span class="keyword">(</span><span class="default">'d/m/Y'</span><span class="keyword">)</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 306" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="306"></a><a href="#306">306</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'date'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="307"></a><a href="#307">307</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="308"></a><a href="#308">308</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="309"></a><a href="#309">309</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="310"></a><a href="#310">310</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 311" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="311"></a><a href="#311">311</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'resId'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$resId</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 312" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="312"></a><a href="#312">312</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'data'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 313" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="313"></a><a href="#313">313</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'table'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'mlb_coll_ext'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 314" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="314"></a><a href="#314">314</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'resTable'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'res_letterbox'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="315"></a><a href="#315">315</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="316"></a><a href="#316">316</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 317" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="317"></a><a href="#317">317</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">storeExtResource</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="318"></a><a href="#318">318</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 319" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="319"></a><a href="#319">319</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertTrue</span><span class="keyword">(</span><span class="default">$response</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="320"></a><a href="#320">320</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 321" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="321"></a><a href="#321">321</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">deleteResArtefact</span><span class="keyword">(</span><span class="default">$resId</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 322" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="322"></a><a href="#322">322</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="323"></a><a href="#323">323</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="324"></a><a href="#324">324</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testDeleteExtRes</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="325"></a><a href="#325">325</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 326" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDeleteExtRes&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="326"></a><a href="#326">326</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">ResExtController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="327"></a><a href="#327">327</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 328" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDeleteExtRes&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="328"></a><a href="#328">328</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$resId</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Models</span><span class="default">\</span><span class="default">ResExtModel</span><span class="default">::</span><span class="default">getLastId</span><span class="keyword">(</span><span class="keyword">[</span><span class="default">'select'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'res_id'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="329"></a><a href="#329">329</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="330"></a><a href="#330">330</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 331" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDeleteExtRes&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="331"></a><a href="#331">331</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$resId</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'res_id'</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="332"></a><a href="#332">332</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="333"></a><a href="#333">333</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 334" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDeleteExtRes&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="334"></a><a href="#334">334</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">deleteExtRes</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="335"></a><a href="#335">335</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 336" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDeleteExtRes&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="336"></a><a href="#336">336</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertTrue</span><span class="keyword">(</span><span class="default">$response</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 337" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDeleteExtRes&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="337"></a><a href="#337">337</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="338"></a><a href="#338">338</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="339"></a><a href="#339">339</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">createResArtefact</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="340"></a><a href="#340">340</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 341" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="341"></a><a href="#341">341</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">ResController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="342"></a><a href="#342">342</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 343" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="343"></a><a href="#343">343</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'config'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'tmppath'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'/test/'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="344"></a><a href="#344">344</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 345" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="345"></a><a href="#345">345</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">is_dir</span><span class="keyword">(</span><span class="default">$path</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="346"></a><a href="#346">346</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">mkdir</span><span class="keyword">(</span><span class="default">$path</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="347"></a><a href="#347">347</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="348"></a><a href="#348">348</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 349" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="349"></a><a href="#349">349</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fileSource</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'test_source.txt'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="350"></a><a href="#350">350</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 351" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="351"></a><a href="#351">351</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fp</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">fopen</span><span class="keyword">(</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$fileSource</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'a'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 352" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="352"></a><a href="#352">352</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">fwrite</span><span class="keyword">(</span><span class="default">$fp</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'a&nbsp;unit&nbsp;test'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 353" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="353"></a><a href="#353">353</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">fclose</span><span class="keyword">(</span><span class="default">$fp</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="354"></a><a href="#354">354</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 355" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="355"></a><a href="#355">355</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fileContent</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">file_get_contents</span><span class="keyword">(</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$fileSource</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">FILE_BINARY</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 356" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="356"></a><a href="#356">356</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$encodedFile</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">base64_encode</span><span class="keyword">(</span><span class="default">$fileContent</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="357"></a><a href="#357">357</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 358" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="358"></a><a href="#358">358</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="359"></a><a href="#359">359</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 360" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="360"></a><a href="#360">360</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="361"></a><a href="#361">361</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="362"></a><a href="#362">362</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 363" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="363"></a><a href="#363">363</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'subject'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="364"></a><a href="#364">364</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'UNIT&nbsp;TEST'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="365"></a><a href="#365">365</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="366"></a><a href="#366">366</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="367"></a><a href="#367">367</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="368"></a><a href="#368">368</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 369" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="369"></a><a href="#369">369</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="370"></a><a href="#370">370</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="371"></a><a href="#371">371</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 372" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="372"></a><a href="#372">372</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'type_id'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="373"></a><a href="#373">373</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">110</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="374"></a><a href="#374">374</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'integer'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="375"></a><a href="#375">375</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="376"></a><a href="#376">376</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="377"></a><a href="#377">377</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 378" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="378"></a><a href="#378">378</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="379"></a><a href="#379">379</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="380"></a><a href="#380">380</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 381" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="381"></a><a href="#381">381</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'custom_t1'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="382"></a><a href="#382">382</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'TEST'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="383"></a><a href="#383">383</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="384"></a><a href="#384">384</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="385"></a><a href="#385">385</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="386"></a><a href="#386">386</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 387" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="387"></a><a href="#387">387</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="388"></a><a href="#388">388</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="389"></a><a href="#389">389</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 390" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="390"></a><a href="#390">390</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'custom_t10'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="391"></a><a href="#391">391</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'lgi@maarch.org'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="392"></a><a href="#392">392</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="393"></a><a href="#393">393</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="394"></a><a href="#394">394</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="395"></a><a href="#395">395</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="396"></a><a href="#396">396</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 397" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="397"></a><a href="#397">397</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'encodedFile'</span><span class="default">&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$encodedFile</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 398" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="398"></a><a href="#398">398</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'data'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 399" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="399"></a><a href="#399">399</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'collId'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'letterbox_coll'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 400" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="400"></a><a href="#400">400</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'table'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'res_letterbox'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 401" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="401"></a><a href="#401">401</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'fileFormat'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'txt'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 402" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="402"></a><a href="#402">402</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'status'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'new'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="403"></a><a href="#403">403</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="404"></a><a href="#404">404</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 405" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="405"></a><a href="#405">405</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">storeResource</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="406"></a><a href="#406">406</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 407" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="407"></a><a href="#407">407</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="408"></a><a href="#408">408</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="409"></a><a href="#409">409</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="410"></a><a href="#410">410</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">deleteResArtefact</span><span class="keyword">(</span><span class="default">$resId</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="411"></a><a href="#411">411</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 412" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="412"></a><a href="#412">412</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">ResController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="413"></a><a href="#413">413</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="414"></a><a href="#414">414</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 415" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="415"></a><a href="#415">415</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$resId</span></td></tr>
+     <tr><td><div align="right"><a name="416"></a><a href="#416">416</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="417"></a><a href="#417">417</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 418" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="418"></a><a href="#418">418</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">deleteRes</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 419" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="419"></a><a href="#419">419</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="420"></a><a href="#420">420</a></div></td><td class="codeLine"><span class="keyword">}</span></td></tr>
+
+    </tbody>
+   </table>
+   <footer>
+    <hr/>
+    <h4>Legend</h4>
+    <p>
+     <span class="success"><strong>Executed</strong></span>
+     <span class="danger"><strong>Not Executed</strong></span>
+     <span class="warning"><strong>Dead Code</strong></span>
+    </p>
+    <p>
+     <small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 3.2.1</a> using <a href="http://php.net/" target="_top">PHP 7.0.16-4+deb.sury.org~xenial+1</a> and <a href="https://phpunit.de/">PHPUnit 5.1.3</a> at Tue Mar 14 18:24:26 CET 2017.</small>
+    </p>
+    <a title="Back to the top" id="toplink" href="#"><span class="glyphicon glyphicon-arrow-up"></span></a>
+   </footer>
+  </div>
+  <script src="js/jquery.min.js" type="text/javascript"></script>
+  <script src="js/bootstrap.min.js" type="text/javascript"></script>
+  <script src="js/holder.min.js" type="text/javascript"></script>
+  <script type="text/javascript">
+  $(function() {
+   var $window   = $(window)
+     , $top_link = $('#toplink')
+     , $body     = $('body, html')
+     , offset    = $('#code').offset().top;
+
+   $top_link.hide().click(function(event) {
+    event.preventDefault();
+    $body.animate({scrollTop:0}, 800);
+   });
+
+   $window.scroll(function() {
+    if($window.scrollTop() > offset) {
+     $top_link.fadeIn();
+    } else {
+     $top_link.fadeOut();
+    }
+   }).scroll();
+
+   $('.popin').popover({trigger: 'hover'});
+  });
+  </script>
+ </body>
+</html>
diff --git a/core/Test/build/StatusControllerTest.php.html b/core/Test/build/StatusControllerTest.php.html
new file mode 100644
index 0000000000000000000000000000000000000000..f92d4a10625a47733efe5f69d4151d8fe2f77985
--- /dev/null
+++ b/core/Test/build/StatusControllerTest.php.html
@@ -0,0 +1,395 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+  <meta charset="UTF-8">
+  <title>Code Coverage for /var/www/html/MaarchCourrier/core/Test/StatusControllerTest.php</title>
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <link href="css/bootstrap.min.css" rel="stylesheet">
+  <link href="css/style.css" rel="stylesheet">
+  <!--[if lt IE 9]>
+  <script src="js/html5shiv.min.js"></script>
+  <script src="js/respond.min.js"></script>
+  <![endif]-->
+ </head>
+ <body>
+  <header>
+   <div class="container">
+    <div class="row">
+     <div class="col-md-12">
+      <ol class="breadcrumb">
+        <li><a href="index.html">/var/www/html/MaarchCourrier/core/Test</a></li>
+        <li class="active">StatusControllerTest.php</li>
+
+      </ol>
+     </div>
+    </div>
+   </div>
+  </header>
+  <div class="container">
+   <table class="table table-bordered">
+    <thead>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td>
+     </tr>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td>
+      <td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td>
+      <td colspan="3"><div align="center"><strong>Lines</strong></div></td>
+     </tr>
+    </thead>
+    <tbody>
+     <tr>
+      <td class="success">Total</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">5&nbsp;/&nbsp;5</div></td>
+      <td class="success small"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">53&nbsp;/&nbsp;53</div></td>
+     </tr>
+
+     <tr>
+      <td class="success">StatusControllerTest</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">5&nbsp;/&nbsp;5</div></td>
+      <td class="success small">5</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">53&nbsp;/&nbsp;53</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#16"><abbr title="testGetList()">testGetList</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">8&nbsp;/&nbsp;8</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#35"><abbr title="testGetById()">testGetById</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">10&nbsp;/&nbsp;10</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#60"><abbr title="testCreate()">testCreate</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">13&nbsp;/&nbsp;13</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#90"><abbr title="testUpdate()">testUpdate</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">13&nbsp;/&nbsp;13</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#120"><abbr title="testDelete()">testDelete</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">9&nbsp;/&nbsp;9</div></td>
+     </tr>
+
+
+    </tbody>
+   </table>
+   <table id="code" class="table table-borderless table-condensed">
+    <tbody>
+     <tr><td><div align="right"><a name="1"></a><a href="#1">1</a></div></td><td class="codeLine"><span class="default">&lt;?php</span></td></tr>
+     <tr><td><div align="right"><a name="2"></a><a href="#2">2</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="3"></a><a href="#3">3</a></div></td><td class="codeLine"><span class="keyword">namespace</span><span class="default">&nbsp;</span><span class="default">MaarchTest</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="4"></a><a href="#4">4</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="5"></a><a href="#5">5</a></div></td><td class="codeLine"><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="6"></a><a href="#6">6</a></div></td><td class="codeLine"><span class="comment">*&nbsp;Copyright&nbsp;Maarch&nbsp;since&nbsp;2008&nbsp;under&nbsp;licence&nbsp;GPLv3.</span></td></tr>
+     <tr><td><div align="right"><a name="7"></a><a href="#7">7</a></div></td><td class="codeLine"><span class="comment">*&nbsp;See&nbsp;LICENCE.txt&nbsp;file&nbsp;at&nbsp;the&nbsp;root&nbsp;folder&nbsp;for&nbsp;more&nbsp;details.</span></td></tr>
+     <tr><td><div align="right"><a name="8"></a><a href="#8">8</a></div></td><td class="codeLine"><span class="comment">*&nbsp;This&nbsp;file&nbsp;is&nbsp;part&nbsp;of&nbsp;Maarch&nbsp;software.</span></td></tr>
+     <tr><td><div align="right"><a name="9"></a><a href="#9">9</a></div></td><td class="codeLine"><span class="comment">*</span></td></tr>
+     <tr><td><div align="right"><a name="10"></a><a href="#10">10</a></div></td><td class="codeLine"><span class="comment">*/</span></td></tr>
+     <tr><td><div align="right"><a name="11"></a><a href="#11">11</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="12"></a><a href="#12">12</a></div></td><td class="codeLine"><span class="keyword">require_once</span><span class="default">&nbsp;</span><span class="default">__DIR__</span><span class="keyword">.</span><span class="default">'/define.php'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="13"></a><a href="#13">13</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="14"></a><a href="#14">14</a></div></td><td class="codeLine"><span class="keyword">class</span><span class="default">&nbsp;</span><span class="default">StatusControllerTest</span><span class="default">&nbsp;</span><span class="keyword">extends</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">PHPUnit_Framework_TestCase</span></td></tr>
+     <tr><td><div align="right"><a name="15"></a><a href="#15">15</a></div></td><td class="codeLine"><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="16"></a><a href="#16">16</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testGetList</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="17"></a><a href="#17">17</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 18" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="18"></a><a href="#18">18</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">StatusController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="19"></a><a href="#19">19</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 20" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="20"></a><a href="#20">20</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$environment</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Environment</span><span class="default">::</span><span class="default">mock</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="21"></a><a href="#21">21</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 22" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="22"></a><a href="#22">22</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'REQUEST_METHOD'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'GET'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="23"></a><a href="#23">23</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//'REQUEST_URI'&nbsp;=&gt;&nbsp;'/status',</span></td></tr>
+     <tr><td><div align="right"><a name="24"></a><a href="#24">24</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//'QUERY_STRING'=&gt;'foo=bar',</span></td></tr>
+     <tr><td><div align="right"><a name="25"></a><a href="#25">25</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="26"></a><a href="#26">26</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="27"></a><a href="#27">27</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 28" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="28"></a><a href="#28">28</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$request</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Request</span><span class="default">::</span><span class="default">createFromEnvironment</span><span class="keyword">(</span><span class="default">$environment</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 29" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="29"></a><a href="#29">29</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Response</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 30" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="30"></a><a href="#30">30</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">getList</span><span class="keyword">(</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="31"></a><a href="#31">31</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 32" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="32"></a><a href="#32">32</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertNotNull</span><span class="keyword">(</span><span class="default">(string)</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">getBody</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 33" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="33"></a><a href="#33">33</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="34"></a><a href="#34">34</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="35"></a><a href="#35">35</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testGetById</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="36"></a><a href="#36">36</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 37" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="37"></a><a href="#37">37</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">StatusController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="38"></a><a href="#38">38</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 39" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="39"></a><a href="#39">39</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$environment</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Environment</span><span class="default">::</span><span class="default">mock</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="40"></a><a href="#40">40</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 41" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="41"></a><a href="#41">41</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'REQUEST_METHOD'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'GET'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="42"></a><a href="#42">42</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="43"></a><a href="#43">43</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="44"></a><a href="#44">44</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="45"></a><a href="#45">45</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr><td><div align="right"><a name="46"></a><a href="#46">46</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'NEW'</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 47" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="47"></a><a href="#47">47</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="48"></a><a href="#48">48</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 49" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="49"></a><a href="#49">49</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$request</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Request</span><span class="default">::</span><span class="default">createFromEnvironment</span><span class="keyword">(</span><span class="default">$environment</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 50" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="50"></a><a href="#50">50</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Response</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 51" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="51"></a><a href="#51">51</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">getById</span><span class="keyword">(</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="52"></a><a href="#52">52</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$compare</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'[[{&quot;id&quot;:&quot;NEW&quot;,&quot;label_status&quot;:&quot;Nouveau&quot;,'</span></td></tr>
+     <tr><td><div align="right"><a name="53"></a><a href="#53">53</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&quot;is_system&quot;:&quot;Y&quot;,&quot;is_folder_status&quot;:&quot;N&quot;,&quot;img_filename&quot;:'</span></td></tr>
+     <tr><td><div align="right"><a name="54"></a><a href="#54">54</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&quot;fm-letter-status-new&quot;,&quot;maarch_module&quot;:&quot;apps&quot;,'</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 55" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="55"></a><a href="#55">55</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&quot;can_be_searched&quot;:&quot;Y&quot;,&quot;can_be_modified&quot;:&quot;Y&quot;}]]'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="56"></a><a href="#56">56</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 57" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="57"></a><a href="#57">57</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertSame</span><span class="keyword">(</span><span class="default">(string)</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">getBody</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$compare</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 58" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="58"></a><a href="#58">58</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="59"></a><a href="#59">59</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="60"></a><a href="#60">60</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testCreate</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="61"></a><a href="#61">61</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 62" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="62"></a><a href="#62">62</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">StatusController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="63"></a><a href="#63">63</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 64" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="64"></a><a href="#64">64</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$query</span><span class="default">&nbsp;&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'id=TEST&amp;'</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 65" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="65"></a><a href="#65">65</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$query</span><span class="default">&nbsp;</span><span class="default">.=</span><span class="default">&nbsp;</span><span class="default">'label_status=TEST'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="66"></a><a href="#66">66</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 67" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="67"></a><a href="#67">67</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$environment</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Environment</span><span class="default">::</span><span class="default">mock</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="68"></a><a href="#68">68</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 69" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="69"></a><a href="#69">69</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'REQUEST_METHOD'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'POST'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 70" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="70"></a><a href="#70">70</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'QUERY_STRING'</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$query</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="71"></a><a href="#71">71</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="72"></a><a href="#72">72</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="73"></a><a href="#73">73</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="74"></a><a href="#74">74</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr><td><div align="right"><a name="75"></a><a href="#75">75</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'NEW'</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 76" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="76"></a><a href="#76">76</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="77"></a><a href="#77">77</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 78" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="78"></a><a href="#78">78</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$request</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Request</span><span class="default">::</span><span class="default">createFromEnvironment</span><span class="keyword">(</span><span class="default">$environment</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 79" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="79"></a><a href="#79">79</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Response</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 80" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="80"></a><a href="#80">80</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">create</span><span class="keyword">(</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="81"></a><a href="#81">81</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="82"></a><a href="#82">82</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$compare</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'[[{&quot;id&quot;:&quot;TEST&quot;,&quot;label_status&quot;:&quot;TEST&quot;,'</span></td></tr>
+     <tr><td><div align="right"><a name="83"></a><a href="#83">83</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&quot;is_system&quot;:&quot;Y&quot;,&quot;is_folder_status&quot;:&quot;N&quot;,&quot;img_filename&quot;:null,'</span></td></tr>
+     <tr><td><div align="right"><a name="84"></a><a href="#84">84</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&quot;maarch_module&quot;:&quot;apps&quot;,&quot;can_be_searched&quot;:&quot;Y&quot;,'</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 85" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="85"></a><a href="#85">85</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&quot;can_be_modified&quot;:&quot;Y&quot;}]]'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="86"></a><a href="#86">86</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 87" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="87"></a><a href="#87">87</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertSame</span><span class="keyword">(</span><span class="default">(string)</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">getBody</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$compare</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 88" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="88"></a><a href="#88">88</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="89"></a><a href="#89">89</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="90"></a><a href="#90">90</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testUpdate</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="91"></a><a href="#91">91</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 92" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="92"></a><a href="#92">92</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">StatusController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="93"></a><a href="#93">93</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 94" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="94"></a><a href="#94">94</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$query</span><span class="default">&nbsp;&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'id=TEST&amp;'</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 95" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="95"></a><a href="#95">95</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$query</span><span class="default">&nbsp;</span><span class="default">.=</span><span class="default">&nbsp;</span><span class="default">'label_status=TEST&nbsp;AFTER&nbsp;UP'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="96"></a><a href="#96">96</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 97" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="97"></a><a href="#97">97</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$environment</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Environment</span><span class="default">::</span><span class="default">mock</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="98"></a><a href="#98">98</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 99" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="99"></a><a href="#99">99</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'REQUEST_METHOD'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'PUT'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 100" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="100"></a><a href="#100">100</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'QUERY_STRING'</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$query</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="101"></a><a href="#101">101</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="102"></a><a href="#102">102</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="103"></a><a href="#103">103</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="104"></a><a href="#104">104</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr><td><div align="right"><a name="105"></a><a href="#105">105</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'NEW'</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 106" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="106"></a><a href="#106">106</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="107"></a><a href="#107">107</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 108" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="108"></a><a href="#108">108</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$request</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Request</span><span class="default">::</span><span class="default">createFromEnvironment</span><span class="keyword">(</span><span class="default">$environment</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 109" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="109"></a><a href="#109">109</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Response</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 110" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="110"></a><a href="#110">110</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">update</span><span class="keyword">(</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="111"></a><a href="#111">111</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="112"></a><a href="#112">112</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$compare</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'[[{&quot;id&quot;:&quot;TEST&quot;,&quot;label_status&quot;:&quot;TEST&nbsp;AFTER&nbsp;UP&quot;,'</span></td></tr>
+     <tr><td><div align="right"><a name="113"></a><a href="#113">113</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&quot;is_system&quot;:&quot;Y&quot;,&quot;is_folder_status&quot;:&quot;N&quot;,&quot;img_filename&quot;:null,'</span></td></tr>
+     <tr><td><div align="right"><a name="114"></a><a href="#114">114</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&quot;maarch_module&quot;:&quot;apps&quot;,&quot;can_be_searched&quot;:&quot;Y&quot;,'</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 115" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="115"></a><a href="#115">115</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&quot;can_be_modified&quot;:&quot;Y&quot;}]]'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="116"></a><a href="#116">116</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 117" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="117"></a><a href="#117">117</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertSame</span><span class="keyword">(</span><span class="default">(string)</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">getBody</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$compare</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 118" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="118"></a><a href="#118">118</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="119"></a><a href="#119">119</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="120"></a><a href="#120">120</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testDelete</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="121"></a><a href="#121">121</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 122" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="122"></a><a href="#122">122</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">StatusController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="123"></a><a href="#123">123</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 124" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="124"></a><a href="#124">124</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$environment</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Environment</span><span class="default">::</span><span class="default">mock</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="125"></a><a href="#125">125</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 126" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="126"></a><a href="#126">126</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'REQUEST_METHOD'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'DELETE'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="127"></a><a href="#127">127</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="128"></a><a href="#128">128</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="129"></a><a href="#129">129</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="130"></a><a href="#130">130</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr><td><div align="right"><a name="131"></a><a href="#131">131</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'TEST'</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 132" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="132"></a><a href="#132">132</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="133"></a><a href="#133">133</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 134" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="134"></a><a href="#134">134</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$request</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Request</span><span class="default">::</span><span class="default">createFromEnvironment</span><span class="keyword">(</span><span class="default">$environment</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 135" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="135"></a><a href="#135">135</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Response</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 136" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="136"></a><a href="#136">136</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">delete</span><span class="keyword">(</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="137"></a><a href="#137">137</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 138" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="138"></a><a href="#138">138</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertSame</span><span class="keyword">(</span><span class="default">(string)</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">getBody</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'[true]'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 139" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="139"></a><a href="#139">139</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="140"></a><a href="#140">140</a></div></td><td class="codeLine"><span class="keyword">}</span></td></tr>
+
+    </tbody>
+   </table>
+   <footer>
+    <hr/>
+    <h4>Legend</h4>
+    <p>
+     <span class="success"><strong>Executed</strong></span>
+     <span class="danger"><strong>Not Executed</strong></span>
+     <span class="warning"><strong>Dead Code</strong></span>
+    </p>
+    <p>
+     <small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 3.2.1</a> using <a href="http://php.net/" target="_top">PHP 7.0.16-4+deb.sury.org~xenial+1</a> and <a href="https://phpunit.de/">PHPUnit 5.1.3</a> at Tue Mar 14 18:24:26 CET 2017.</small>
+    </p>
+    <a title="Back to the top" id="toplink" href="#"><span class="glyphicon glyphicon-arrow-up"></span></a>
+   </footer>
+  </div>
+  <script src="js/jquery.min.js" type="text/javascript"></script>
+  <script src="js/bootstrap.min.js" type="text/javascript"></script>
+  <script src="js/holder.min.js" type="text/javascript"></script>
+  <script type="text/javascript">
+  $(function() {
+   var $window   = $(window)
+     , $top_link = $('#toplink')
+     , $body     = $('body, html')
+     , offset    = $('#code').offset().top;
+
+   $top_link.hide().click(function(event) {
+    event.preventDefault();
+    $body.animate({scrollTop:0}, 800);
+   });
+
+   $window.scroll(function() {
+    if($window.scrollTop() > offset) {
+     $top_link.fadeIn();
+    } else {
+     $top_link.fadeOut();
+    }
+   }).scroll();
+
+   $('.popin').popover({trigger: 'hover'});
+  });
+  </script>
+ </body>
+</html>
diff --git a/core/Test/build/Test/DocserverControllerTest.php.html b/core/Test/build/Test/DocserverControllerTest.php.html
new file mode 100644
index 0000000000000000000000000000000000000000..302b2fd6dd90c044cad0ed04de639f5929133dfb
--- /dev/null
+++ b/core/Test/build/Test/DocserverControllerTest.php.html
@@ -0,0 +1,502 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+  <meta charset="UTF-8">
+  <title>Code Coverage for /var/www/html/MaarchCourrier/core/Test/DocserverControllerTest.php</title>
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <link href="../css/bootstrap.min.css" rel="stylesheet">
+  <link href="../css/style.css" rel="stylesheet">
+  <!--[if lt IE 9]>
+  <script src="../js/html5shiv.min.js"></script>
+  <script src="../js/respond.min.js"></script>
+  <![endif]-->
+ </head>
+ <body>
+  <header>
+   <div class="container">
+    <div class="row">
+     <div class="col-md-12">
+      <ol class="breadcrumb">
+        <li><a href="../index.html">/var/www/html/MaarchCourrier/core</a></li>
+        <li><a href="index.html">Test</a></li>
+        <li class="active">DocserverControllerTest.php</li>
+
+      </ol>
+     </div>
+    </div>
+   </div>
+  </header>
+  <div class="container">
+   <table class="table table-bordered">
+    <thead>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td>
+     </tr>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td>
+      <td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td>
+      <td colspan="3"><div align="center"><strong>Lines</strong></div></td>
+     </tr>
+    </thead>
+    <tbody>
+     <tr>
+      <td class="danger">Total</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="80.00" aria-valuemin="0" aria-valuemax="100" style="width: 80.00%">
+           <span class="sr-only">80.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">80.00%</div></td>
+      <td class="success small"><div align="right">4&nbsp;/&nbsp;5</div></td>
+      <td class="success small"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="97.78" aria-valuemin="0" aria-valuemax="100" style="width: 97.78%">
+           <span class="sr-only">97.78% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">97.78%</div></td>
+      <td class="success small"><div align="right">44&nbsp;/&nbsp;45</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger">DocserverControllerTest</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="80.00" aria-valuemin="0" aria-valuemax="100" style="width: 80.00%">
+           <span class="sr-only">80.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">80.00%</div></td>
+      <td class="success small"><div align="right">4&nbsp;/&nbsp;5</div></td>
+      <td class="success small">6</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="97.78" aria-valuemin="0" aria-valuemax="100" style="width: 97.78%">
+           <span class="sr-only">97.78% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">97.78%</div></td>
+      <td class="success small"><div align="right">44&nbsp;/&nbsp;45</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#141"><abbr title="testGetDocserverToInsert()">testGetDocserverToInsert</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">7&nbsp;/&nbsp;7</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#157"><abbr title="testCheckSize()">testCheckSize</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">8&nbsp;/&nbsp;8</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#177"><abbr title="testSetSize()">testSetSize</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">8&nbsp;/&nbsp;8</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#197"><abbr title="testGetNextFileNameInDocserver()">testGetNextFileNameInDocserver</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">5&nbsp;/&nbsp;5</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#210"><abbr title="testStoreResourceOnDocserver()">testStoreResourceOnDocserver</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">2.00</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="94.12" aria-valuemin="0" aria-valuemax="100" style="width: 94.12%">
+           <span class="sr-only">94.12% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">94.12%</div></td>
+      <td class="success small"><div align="right">16&nbsp;/&nbsp;17</div></td>
+     </tr>
+
+
+    </tbody>
+   </table>
+   <table id="code" class="table table-borderless table-condensed">
+    <tbody>
+     <tr><td><div align="right"><a name="1"></a><a href="#1">1</a></div></td><td class="codeLine"><span class="default">&lt;?php</span></td></tr>
+     <tr><td><div align="right"><a name="2"></a><a href="#2">2</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="3"></a><a href="#3">3</a></div></td><td class="codeLine"><span class="keyword">namespace</span><span class="default">&nbsp;</span><span class="default">MaarchTest</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="4"></a><a href="#4">4</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="5"></a><a href="#5">5</a></div></td><td class="codeLine"><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="6"></a><a href="#6">6</a></div></td><td class="codeLine"><span class="comment">*&nbsp;Copyright&nbsp;Maarch&nbsp;since&nbsp;2008&nbsp;under&nbsp;licence&nbsp;GPLv3.</span></td></tr>
+     <tr><td><div align="right"><a name="7"></a><a href="#7">7</a></div></td><td class="codeLine"><span class="comment">*&nbsp;See&nbsp;LICENCE.txt&nbsp;file&nbsp;at&nbsp;the&nbsp;root&nbsp;folder&nbsp;for&nbsp;more&nbsp;details.</span></td></tr>
+     <tr><td><div align="right"><a name="8"></a><a href="#8">8</a></div></td><td class="codeLine"><span class="comment">*&nbsp;This&nbsp;file&nbsp;is&nbsp;part&nbsp;of&nbsp;Maarch&nbsp;software.</span></td></tr>
+     <tr><td><div align="right"><a name="9"></a><a href="#9">9</a></div></td><td class="codeLine"><span class="comment">*</span></td></tr>
+     <tr><td><div align="right"><a name="10"></a><a href="#10">10</a></div></td><td class="codeLine"><span class="comment">*/</span></td></tr>
+     <tr><td><div align="right"><a name="11"></a><a href="#11">11</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="12"></a><a href="#12">12</a></div></td><td class="codeLine"><span class="keyword">require_once</span><span class="default">&nbsp;</span><span class="default">__DIR__</span><span class="keyword">.</span><span class="default">'/define.php'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="13"></a><a href="#13">13</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="14"></a><a href="#14">14</a></div></td><td class="codeLine"><span class="keyword">class</span><span class="default">&nbsp;</span><span class="default">DocserverControllerTest</span><span class="default">&nbsp;</span><span class="keyword">extends</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">PHPUnit_Framework_TestCase</span></td></tr>
+     <tr><td><div align="right"><a name="15"></a><a href="#15">15</a></div></td><td class="codeLine"><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="16"></a><a href="#16">16</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;public&nbsp;function&nbsp;testGetList()</span></td></tr>
+     <tr><td><div align="right"><a name="17"></a><a href="#17">17</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;{</span></td></tr>
+     <tr><td><div align="right"><a name="18"></a><a href="#18">18</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$action&nbsp;=&nbsp;new&nbsp;\Core\Controllers\DocserverController();</span></td></tr>
+     <tr><td><div align="right"><a name="19"></a><a href="#19">19</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="20"></a><a href="#20">20</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$environment&nbsp;=&nbsp;\Slim\Http\Environment::mock(</span></td></tr>
+     <tr><td><div align="right"><a name="21"></a><a href="#21">21</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[</span></td></tr>
+     <tr><td><div align="right"><a name="22"></a><a href="#22">22</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'REQUEST_METHOD'&nbsp;=&gt;&nbsp;'GET',</span></td></tr>
+     <tr><td><div align="right"><a name="23"></a><a href="#23">23</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//'REQUEST_URI'&nbsp;=&gt;&nbsp;'/status',</span></td></tr>
+     <tr><td><div align="right"><a name="24"></a><a href="#24">24</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//'QUERY_STRING'=&gt;'foo=bar',</span></td></tr>
+     <tr><td><div align="right"><a name="25"></a><a href="#25">25</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]</span></td></tr>
+     <tr><td><div align="right"><a name="26"></a><a href="#26">26</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);</span></td></tr>
+     <tr><td><div align="right"><a name="27"></a><a href="#27">27</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="28"></a><a href="#28">28</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$request&nbsp;=&nbsp;\Slim\Http\Request::createFromEnvironment($environment);</span></td></tr>
+     <tr><td><div align="right"><a name="29"></a><a href="#29">29</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$response&nbsp;=&nbsp;new&nbsp;\Slim\Http\Response();</span></td></tr>
+     <tr><td><div align="right"><a name="30"></a><a href="#30">30</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$response&nbsp;=&nbsp;$action-&gt;getList($request,&nbsp;$response,&nbsp;[]);</span></td></tr>
+     <tr><td><div align="right"><a name="31"></a><a href="#31">31</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="32"></a><a href="#32">32</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;assertNotNull((string)$response-&gt;getBody());</span></td></tr>
+     <tr><td><div align="right"><a name="33"></a><a href="#33">33</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;}</span></td></tr>
+     <tr><td><div align="right"><a name="34"></a><a href="#34">34</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="35"></a><a href="#35">35</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;public&nbsp;function&nbsp;testGetById()</span></td></tr>
+     <tr><td><div align="right"><a name="36"></a><a href="#36">36</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;{</span></td></tr>
+     <tr><td><div align="right"><a name="37"></a><a href="#37">37</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$action&nbsp;=&nbsp;new&nbsp;\Core\Controllers\DocserverController();</span></td></tr>
+     <tr><td><div align="right"><a name="38"></a><a href="#38">38</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="39"></a><a href="#39">39</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$environment&nbsp;=&nbsp;\Slim\Http\Environment::mock(</span></td></tr>
+     <tr><td><div align="right"><a name="40"></a><a href="#40">40</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[</span></td></tr>
+     <tr><td><div align="right"><a name="41"></a><a href="#41">41</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'REQUEST_METHOD'&nbsp;=&gt;&nbsp;'GET',</span></td></tr>
+     <tr><td><div align="right"><a name="42"></a><a href="#42">42</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]</span></td></tr>
+     <tr><td><div align="right"><a name="43"></a><a href="#43">43</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);</span></td></tr>
+     <tr><td><div align="right"><a name="44"></a><a href="#44">44</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="45"></a><a href="#45">45</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$aArgs&nbsp;=&nbsp;[</span></td></tr>
+     <tr><td><div align="right"><a name="46"></a><a href="#46">46</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'id'=&gt;&nbsp;'NEW'</span></td></tr>
+     <tr><td><div align="right"><a name="47"></a><a href="#47">47</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;];</span></td></tr>
+     <tr><td><div align="right"><a name="48"></a><a href="#48">48</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="49"></a><a href="#49">49</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$request&nbsp;=&nbsp;\Slim\Http\Request::createFromEnvironment($environment);</span></td></tr>
+     <tr><td><div align="right"><a name="50"></a><a href="#50">50</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$response&nbsp;=&nbsp;new&nbsp;\Slim\Http\Response();</span></td></tr>
+     <tr><td><div align="right"><a name="51"></a><a href="#51">51</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$response&nbsp;=&nbsp;$action-&gt;getById($request,&nbsp;$response,&nbsp;$aArgs);</span></td></tr>
+     <tr><td><div align="right"><a name="52"></a><a href="#52">52</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$compare&nbsp;=&nbsp;'[{&quot;status&quot;:[{&quot;id&quot;:&quot;NEW&quot;,&quot;label_status&quot;:&quot;Nouveau&quot;,'</span></td></tr>
+     <tr><td><div align="right"><a name="53"></a><a href="#53">53</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;'&quot;is_system&quot;:&quot;Y&quot;,&quot;is_folder_status&quot;:&quot;N&quot;,&quot;img_filename&quot;:'</span></td></tr>
+     <tr><td><div align="right"><a name="54"></a><a href="#54">54</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;'&quot;fm-letter-status-new&quot;,&quot;maarch_module&quot;:&quot;apps&quot;,'</span></td></tr>
+     <tr><td><div align="right"><a name="55"></a><a href="#55">55</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;'&quot;can_be_searched&quot;:&quot;Y&quot;,&quot;can_be_modified&quot;:&quot;Y&quot;}]}]';</span></td></tr>
+     <tr><td><div align="right"><a name="56"></a><a href="#56">56</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="57"></a><a href="#57">57</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;assertSame((string)$response-&gt;getBody(),&nbsp;$compare);</span></td></tr>
+     <tr><td><div align="right"><a name="58"></a><a href="#58">58</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;}</span></td></tr>
+     <tr><td><div align="right"><a name="59"></a><a href="#59">59</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="60"></a><a href="#60">60</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;public&nbsp;function&nbsp;testCreate()</span></td></tr>
+     <tr><td><div align="right"><a name="61"></a><a href="#61">61</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;{</span></td></tr>
+     <tr><td><div align="right"><a name="62"></a><a href="#62">62</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$action&nbsp;=&nbsp;new&nbsp;\Core\Controllers\DocserverController();</span></td></tr>
+     <tr><td><div align="right"><a name="63"></a><a href="#63">63</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="64"></a><a href="#64">64</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$query&nbsp;&nbsp;=&nbsp;'id=TEST&amp;';</span></td></tr>
+     <tr><td><div align="right"><a name="65"></a><a href="#65">65</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$query&nbsp;.=&nbsp;'label_status=TEST';</span></td></tr>
+     <tr><td><div align="right"><a name="66"></a><a href="#66">66</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="67"></a><a href="#67">67</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$environment&nbsp;=&nbsp;\Slim\Http\Environment::mock(</span></td></tr>
+     <tr><td><div align="right"><a name="68"></a><a href="#68">68</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[</span></td></tr>
+     <tr><td><div align="right"><a name="69"></a><a href="#69">69</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'REQUEST_METHOD'&nbsp;=&gt;&nbsp;'POST',</span></td></tr>
+     <tr><td><div align="right"><a name="70"></a><a href="#70">70</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'QUERY_STRING'=&gt;&nbsp;$query,</span></td></tr>
+     <tr><td><div align="right"><a name="71"></a><a href="#71">71</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]</span></td></tr>
+     <tr><td><div align="right"><a name="72"></a><a href="#72">72</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);</span></td></tr>
+     <tr><td><div align="right"><a name="73"></a><a href="#73">73</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="74"></a><a href="#74">74</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$aArgs&nbsp;=&nbsp;[</span></td></tr>
+     <tr><td><div align="right"><a name="75"></a><a href="#75">75</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'id'=&gt;&nbsp;'NEW'</span></td></tr>
+     <tr><td><div align="right"><a name="76"></a><a href="#76">76</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;];</span></td></tr>
+     <tr><td><div align="right"><a name="77"></a><a href="#77">77</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="78"></a><a href="#78">78</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$request&nbsp;=&nbsp;\Slim\Http\Request::createFromEnvironment($environment);</span></td></tr>
+     <tr><td><div align="right"><a name="79"></a><a href="#79">79</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$response&nbsp;=&nbsp;new&nbsp;\Slim\Http\Response();</span></td></tr>
+     <tr><td><div align="right"><a name="80"></a><a href="#80">80</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$response&nbsp;=&nbsp;$action-&gt;create($request,&nbsp;$response,&nbsp;$aArgs);</span></td></tr>
+     <tr><td><div align="right"><a name="81"></a><a href="#81">81</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="82"></a><a href="#82">82</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$compare&nbsp;=&nbsp;'[{&quot;status&quot;:[{&quot;id&quot;:&quot;TEST&quot;,&quot;label_status&quot;:&quot;TEST&quot;,'</span></td></tr>
+     <tr><td><div align="right"><a name="83"></a><a href="#83">83</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;'&quot;is_system&quot;:&quot;Y&quot;,&quot;is_folder_status&quot;:&quot;N&quot;,&quot;img_filename&quot;:null,'</span></td></tr>
+     <tr><td><div align="right"><a name="84"></a><a href="#84">84</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;'&quot;maarch_module&quot;:&quot;apps&quot;,&quot;can_be_searched&quot;:&quot;Y&quot;,'</span></td></tr>
+     <tr><td><div align="right"><a name="85"></a><a href="#85">85</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;'&quot;can_be_modified&quot;:&quot;Y&quot;}]}]';</span></td></tr>
+     <tr><td><div align="right"><a name="86"></a><a href="#86">86</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="87"></a><a href="#87">87</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;assertSame((string)$response-&gt;getBody(),&nbsp;$compare);</span></td></tr>
+     <tr><td><div align="right"><a name="88"></a><a href="#88">88</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;}</span></td></tr>
+     <tr><td><div align="right"><a name="89"></a><a href="#89">89</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="90"></a><a href="#90">90</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;public&nbsp;function&nbsp;testUpdate()</span></td></tr>
+     <tr><td><div align="right"><a name="91"></a><a href="#91">91</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;{</span></td></tr>
+     <tr><td><div align="right"><a name="92"></a><a href="#92">92</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$action&nbsp;=&nbsp;new&nbsp;\Core\Controllers\DocserverController();</span></td></tr>
+     <tr><td><div align="right"><a name="93"></a><a href="#93">93</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="94"></a><a href="#94">94</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$query&nbsp;&nbsp;=&nbsp;'id=TEST&amp;';</span></td></tr>
+     <tr><td><div align="right"><a name="95"></a><a href="#95">95</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$query&nbsp;.=&nbsp;'label_status=TEST&nbsp;AFTER&nbsp;UP';</span></td></tr>
+     <tr><td><div align="right"><a name="96"></a><a href="#96">96</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="97"></a><a href="#97">97</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$environment&nbsp;=&nbsp;\Slim\Http\Environment::mock(</span></td></tr>
+     <tr><td><div align="right"><a name="98"></a><a href="#98">98</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[</span></td></tr>
+     <tr><td><div align="right"><a name="99"></a><a href="#99">99</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'REQUEST_METHOD'&nbsp;=&gt;&nbsp;'PUT',</span></td></tr>
+     <tr><td><div align="right"><a name="100"></a><a href="#100">100</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'QUERY_STRING'=&gt;&nbsp;$query,</span></td></tr>
+     <tr><td><div align="right"><a name="101"></a><a href="#101">101</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]</span></td></tr>
+     <tr><td><div align="right"><a name="102"></a><a href="#102">102</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);</span></td></tr>
+     <tr><td><div align="right"><a name="103"></a><a href="#103">103</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="104"></a><a href="#104">104</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$aArgs&nbsp;=&nbsp;[</span></td></tr>
+     <tr><td><div align="right"><a name="105"></a><a href="#105">105</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'id'=&gt;&nbsp;'NEW'</span></td></tr>
+     <tr><td><div align="right"><a name="106"></a><a href="#106">106</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;];</span></td></tr>
+     <tr><td><div align="right"><a name="107"></a><a href="#107">107</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="108"></a><a href="#108">108</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$request&nbsp;=&nbsp;\Slim\Http\Request::createFromEnvironment($environment);</span></td></tr>
+     <tr><td><div align="right"><a name="109"></a><a href="#109">109</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$response&nbsp;=&nbsp;new&nbsp;\Slim\Http\Response();</span></td></tr>
+     <tr><td><div align="right"><a name="110"></a><a href="#110">110</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$response&nbsp;=&nbsp;$action-&gt;update($request,&nbsp;$response,&nbsp;$aArgs);</span></td></tr>
+     <tr><td><div align="right"><a name="111"></a><a href="#111">111</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="112"></a><a href="#112">112</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$compare&nbsp;=&nbsp;'[{&quot;status&quot;:[{&quot;id&quot;:&quot;TEST&quot;,&quot;label_status&quot;:&quot;TEST&nbsp;AFTER&nbsp;UP&quot;,'</span></td></tr>
+     <tr><td><div align="right"><a name="113"></a><a href="#113">113</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;'&quot;is_system&quot;:&quot;Y&quot;,&quot;is_folder_status&quot;:&quot;N&quot;,&quot;img_filename&quot;:null,'</span></td></tr>
+     <tr><td><div align="right"><a name="114"></a><a href="#114">114</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;'&quot;maarch_module&quot;:&quot;apps&quot;,&quot;can_be_searched&quot;:&quot;Y&quot;,'</span></td></tr>
+     <tr><td><div align="right"><a name="115"></a><a href="#115">115</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;'&quot;can_be_modified&quot;:&quot;Y&quot;}]}]';</span></td></tr>
+     <tr><td><div align="right"><a name="116"></a><a href="#116">116</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="117"></a><a href="#117">117</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;assertSame((string)$response-&gt;getBody(),&nbsp;$compare);</span></td></tr>
+     <tr><td><div align="right"><a name="118"></a><a href="#118">118</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;}</span></td></tr>
+     <tr><td><div align="right"><a name="119"></a><a href="#119">119</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="120"></a><a href="#120">120</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;public&nbsp;function&nbsp;testDelete()</span></td></tr>
+     <tr><td><div align="right"><a name="121"></a><a href="#121">121</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;{</span></td></tr>
+     <tr><td><div align="right"><a name="122"></a><a href="#122">122</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$action&nbsp;=&nbsp;new&nbsp;\Core\Controllers\DocserverController();</span></td></tr>
+     <tr><td><div align="right"><a name="123"></a><a href="#123">123</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="124"></a><a href="#124">124</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$environment&nbsp;=&nbsp;\Slim\Http\Environment::mock(</span></td></tr>
+     <tr><td><div align="right"><a name="125"></a><a href="#125">125</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[</span></td></tr>
+     <tr><td><div align="right"><a name="126"></a><a href="#126">126</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'REQUEST_METHOD'&nbsp;=&gt;&nbsp;'DELETE',</span></td></tr>
+     <tr><td><div align="right"><a name="127"></a><a href="#127">127</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]</span></td></tr>
+     <tr><td><div align="right"><a name="128"></a><a href="#128">128</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);</span></td></tr>
+     <tr><td><div align="right"><a name="129"></a><a href="#129">129</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="130"></a><a href="#130">130</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$aArgs&nbsp;=&nbsp;[</span></td></tr>
+     <tr><td><div align="right"><a name="131"></a><a href="#131">131</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'id'=&gt;&nbsp;'TEST'</span></td></tr>
+     <tr><td><div align="right"><a name="132"></a><a href="#132">132</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;];</span></td></tr>
+     <tr><td><div align="right"><a name="133"></a><a href="#133">133</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="134"></a><a href="#134">134</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$request&nbsp;=&nbsp;\Slim\Http\Request::createFromEnvironment($environment);</span></td></tr>
+     <tr><td><div align="right"><a name="135"></a><a href="#135">135</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$response&nbsp;=&nbsp;new&nbsp;\Slim\Http\Response();</span></td></tr>
+     <tr><td><div align="right"><a name="136"></a><a href="#136">136</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$response&nbsp;=&nbsp;$action-&gt;delete($request,&nbsp;$response,&nbsp;$aArgs);</span></td></tr>
+     <tr><td><div align="right"><a name="137"></a><a href="#137">137</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="138"></a><a href="#138">138</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;assertSame((string)$response-&gt;getBody(),&nbsp;'[{&quot;status&quot;:true}]');</span></td></tr>
+     <tr><td><div align="right"><a name="139"></a><a href="#139">139</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;}</span></td></tr>
+     <tr><td><div align="right"><a name="140"></a><a href="#140">140</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="141"></a><a href="#141">141</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testGetDocserverToInsert</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="142"></a><a href="#142">142</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 143" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetDocserverToInsert&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="143"></a><a href="#143">143</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">DocserverController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="144"></a><a href="#144">144</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="145"></a><a href="#145">145</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr><td><div align="right"><a name="146"></a><a href="#146">146</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'collId'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'letterbox_coll'</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 147" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetDocserverToInsert&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="147"></a><a href="#147">147</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="148"></a><a href="#148">148</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 149" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetDocserverToInsert&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="149"></a><a href="#149">149</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">getDocserverToInsert</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="150"></a><a href="#150">150</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 151" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetDocserverToInsert&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="151"></a><a href="#151">151</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertSame</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 152" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetDocserverToInsert&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="152"></a><a href="#152">152</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'coll_id'</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 153" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetDocserverToInsert&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="153"></a><a href="#153">153</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="keyword">[</span><span class="default">'collId'</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="154"></a><a href="#154">154</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 155" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetDocserverToInsert&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="155"></a><a href="#155">155</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="156"></a><a href="#156">156</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="157"></a><a href="#157">157</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testCheckSize</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="158"></a><a href="#158">158</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 159" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testCheckSize&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="159"></a><a href="#159">159</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">DocserverController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="160"></a><a href="#160">160</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="161"></a><a href="#161">161</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr><td><div align="right"><a name="162"></a><a href="#162">162</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'collId'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'letterbox_coll'</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 163" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testCheckSize&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="163"></a><a href="#163">163</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="164"></a><a href="#164">164</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 165" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testCheckSize&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="165"></a><a href="#165">165</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$ds</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">getDocserverToInsert</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="166"></a><a href="#166">166</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="167"></a><a href="#167">167</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 168" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testCheckSize&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="168"></a><a href="#168">168</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'docserver'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$ds</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 169" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testCheckSize&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="169"></a><a href="#169">169</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'filesize'</span><span class="default">&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">1090900</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="170"></a><a href="#170">170</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="171"></a><a href="#171">171</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 172" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testCheckSize&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="172"></a><a href="#172">172</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">checkSize</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="173"></a><a href="#173">173</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 174" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testCheckSize&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="174"></a><a href="#174">174</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertGreaterThan</span><span class="keyword">(</span><span class="default">0</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">[</span><span class="default">'newDsSize'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 175" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testCheckSize&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="175"></a><a href="#175">175</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="176"></a><a href="#176">176</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="177"></a><a href="#177">177</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testSetSize</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="178"></a><a href="#178">178</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 179" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testSetSize&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="179"></a><a href="#179">179</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">DocserverController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="180"></a><a href="#180">180</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="181"></a><a href="#181">181</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr><td><div align="right"><a name="182"></a><a href="#182">182</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'collId'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'letterbox_coll'</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 183" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testSetSize&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="183"></a><a href="#183">183</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="184"></a><a href="#184">184</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 185" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testSetSize&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="185"></a><a href="#185">185</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$ds</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">getDocserverToInsert</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="186"></a><a href="#186">186</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="187"></a><a href="#187">187</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 188" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testSetSize&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="188"></a><a href="#188">188</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'docserver_id'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$ds</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'docserver_id'</span><span class="keyword">]</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 189" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testSetSize&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="189"></a><a href="#189">189</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'actual_size_number'</span><span class="default">&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">1</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="190"></a><a href="#190">190</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="191"></a><a href="#191">191</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 192" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testSetSize&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="192"></a><a href="#192">192</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">setSize</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="193"></a><a href="#193">193</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 194" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testSetSize&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="194"></a><a href="#194">194</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertTrue</span><span class="keyword">(</span><span class="default">$response</span><span class="keyword">[</span><span class="default">'setSize'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 195" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testSetSize&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="195"></a><a href="#195">195</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="196"></a><a href="#196">196</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="197"></a><a href="#197">197</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testGetNextFileNameInDocserver</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="198"></a><a href="#198">198</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 199" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="199"></a><a href="#199">199</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">DocserverController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="200"></a><a href="#200">200</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="201"></a><a href="#201">201</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr><td><div align="right"><a name="202"></a><a href="#202">202</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'pathOnDocserver'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'/opt/maarch/new_docservers/MaarchCourrierGit/manual/2017/02/'</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 203" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="203"></a><a href="#203">203</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="204"></a><a href="#204">204</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 205" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="205"></a><a href="#205">205</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">getNextFileNameInDocserver</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="206"></a><a href="#206">206</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 207" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="207"></a><a href="#207">207</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertNotNull</span><span class="keyword">(</span><span class="default">$response</span><span class="keyword">[</span><span class="default">'fileDestinationName'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 208" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testGetNextFileNameInDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="208"></a><a href="#208">208</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="209"></a><a href="#209">209</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="210"></a><a href="#210">210</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testStoreResourceOnDocserver</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="211"></a><a href="#211">211</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 212" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="212"></a><a href="#212">212</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">DocserverController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="213"></a><a href="#213">213</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 214" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="214"></a><a href="#214">214</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'config'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'tmppath'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'/test/'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="215"></a><a href="#215">215</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 216" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="216"></a><a href="#216">216</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">is_dir</span><span class="keyword">(</span><span class="default">$path</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="217"></a><a href="#217">217</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">mkdir</span><span class="keyword">(</span><span class="default">$path</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="218"></a><a href="#218">218</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="219"></a><a href="#219">219</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 220" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="220"></a><a href="#220">220</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fileSource</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'test_source.txt'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="221"></a><a href="#221">221</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 222" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="222"></a><a href="#222">222</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fp</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">fopen</span><span class="keyword">(</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$fileSource</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'a'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 223" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="223"></a><a href="#223">223</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">fwrite</span><span class="keyword">(</span><span class="default">$fp</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'a&nbsp;unit&nbsp;test'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 224" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="224"></a><a href="#224">224</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">fclose</span><span class="keyword">(</span><span class="default">$fp</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="225"></a><a href="#225">225</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="226"></a><a href="#226">226</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 227" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="227"></a><a href="#227">227</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'collId'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'letterbox_coll'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="228"></a><a href="#228">228</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'fileInfos'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span></td></tr>
+     <tr><td><div align="right"><a name="229"></a><a href="#229">229</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 230" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="230"></a><a href="#230">230</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'tmpDir'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$path</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 231" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="231"></a><a href="#231">231</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'size'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">122345</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 232" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="232"></a><a href="#232">232</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'format'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'txt'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 233" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="233"></a><a href="#233">233</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'tmpFileName'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$fileSource</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="234"></a><a href="#234">234</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="235"></a><a href="#235">235</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="236"></a><a href="#236">236</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 237" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="237"></a><a href="#237">237</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">storeResourceOnDocserver</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="238"></a><a href="#238">238</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="239"></a><a href="#239">239</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//print_r($response);</span></td></tr>
+     <tr><td><div align="right"><a name="240"></a><a href="#240">240</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 241" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="241"></a><a href="#241">241</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertArrayHasKey</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 242" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="242"></a><a href="#242">242</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'path_template'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="243"></a><a href="#243">243</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span></td></tr>
+     <tr><td><div align="right"><a name="244"></a><a href="#244">244</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 245" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverControllerTest::testStoreResourceOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="245"></a><a href="#245">245</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="246"></a><a href="#246">246</a></div></td><td class="codeLine"><span class="keyword">}</span></td></tr>
+
+    </tbody>
+   </table>
+   <footer>
+    <hr/>
+    <h4>Legend</h4>
+    <p>
+     <span class="success"><strong>Executed</strong></span>
+     <span class="danger"><strong>Not Executed</strong></span>
+     <span class="warning"><strong>Dead Code</strong></span>
+    </p>
+    <p>
+     <small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 3.2.1</a> using <a href="http://php.net/" target="_top">PHP 7.0.16-4+deb.sury.org~xenial+1</a> and <a href="https://phpunit.de/">PHPUnit 5.1.3</a> at Tue Mar 14 18:22:56 CET 2017.</small>
+    </p>
+    <a title="Back to the top" id="toplink" href="#"><span class="glyphicon glyphicon-arrow-up"></span></a>
+   </footer>
+  </div>
+  <script src="../js/jquery.min.js" type="text/javascript"></script>
+  <script src="../js/bootstrap.min.js" type="text/javascript"></script>
+  <script src="../js/holder.min.js" type="text/javascript"></script>
+  <script type="text/javascript">
+  $(function() {
+   var $window   = $(window)
+     , $top_link = $('#toplink')
+     , $body     = $('body, html')
+     , offset    = $('#code').offset().top;
+
+   $top_link.hide().click(function(event) {
+    event.preventDefault();
+    $body.animate({scrollTop:0}, 800);
+   });
+
+   $window.scroll(function() {
+    if($window.scrollTop() > offset) {
+     $top_link.fadeIn();
+    } else {
+     $top_link.fadeOut();
+    }
+   }).scroll();
+
+   $('.popin').popover({trigger: 'hover'});
+  });
+  </script>
+ </body>
+</html>
diff --git a/core/Test/build/Test/DocserverToolsControllerTest.php.html b/core/Test/build/Test/DocserverToolsControllerTest.php.html
new file mode 100644
index 0000000000000000000000000000000000000000..1d8bc96f55ca985601576c741e8adfbf8db2397c
--- /dev/null
+++ b/core/Test/build/Test/DocserverToolsControllerTest.php.html
@@ -0,0 +1,421 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+  <meta charset="UTF-8">
+  <title>Code Coverage for /var/www/html/MaarchCourrier/core/Test/DocserverToolsControllerTest.php</title>
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <link href="../css/bootstrap.min.css" rel="stylesheet">
+  <link href="../css/style.css" rel="stylesheet">
+  <!--[if lt IE 9]>
+  <script src="../js/html5shiv.min.js"></script>
+  <script src="../js/respond.min.js"></script>
+  <![endif]-->
+ </head>
+ <body>
+  <header>
+   <div class="container">
+    <div class="row">
+     <div class="col-md-12">
+      <ol class="breadcrumb">
+        <li><a href="../index.html">/var/www/html/MaarchCourrier/core</a></li>
+        <li><a href="index.html">Test</a></li>
+        <li class="active">DocserverToolsControllerTest.php</li>
+
+      </ol>
+     </div>
+    </div>
+   </div>
+  </header>
+  <div class="container">
+   <table class="table table-bordered">
+    <thead>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td>
+     </tr>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td>
+      <td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td>
+      <td colspan="3"><div align="center"><strong>Lines</strong></div></td>
+     </tr>
+    </thead>
+    <tbody>
+     <tr>
+      <td class="danger">Total</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="33.33" aria-valuemin="0" aria-valuemax="100" style="width: 33.33%">
+           <span class="sr-only">33.33% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">33.33%</div></td>
+      <td class="danger small"><div align="right">2&nbsp;/&nbsp;6</div></td>
+      <td class="danger small"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="93.44" aria-valuemin="0" aria-valuemax="100" style="width: 93.44%">
+           <span class="sr-only">93.44% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">93.44%</div></td>
+      <td class="success small"><div align="right">57&nbsp;/&nbsp;61</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger">DocserverToolsControllerTest</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="33.33" aria-valuemin="0" aria-valuemax="100" style="width: 33.33%">
+           <span class="sr-only">33.33% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">33.33%</div></td>
+      <td class="danger small"><div align="right">2&nbsp;/&nbsp;6</div></td>
+      <td class="danger small">10.03</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="93.44" aria-valuemin="0" aria-valuemax="100" style="width: 93.44%">
+           <span class="sr-only">93.44% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">93.44%</div></td>
+      <td class="success small"><div align="right">57&nbsp;/&nbsp;61</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#16"><abbr title="testSetRights()">testSetRights</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">5&nbsp;/&nbsp;5</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#29"><abbr title="testDoFingerprint()">testDoFingerprint</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">2.00</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="92.31" aria-valuemin="0" aria-valuemax="100" style="width: 92.31%">
+           <span class="sr-only">92.31% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">92.31%</div></td>
+      <td class="success small"><div align="right">12&nbsp;/&nbsp;13</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#56"><abbr title="testControlFingerprint()">testControlFingerprint</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">2.00</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="92.86" aria-valuemin="0" aria-valuemax="100" style="width: 92.86%">
+           <span class="sr-only">92.86% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">92.86%</div></td>
+      <td class="success small"><div align="right">13&nbsp;/&nbsp;14</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#83"><abbr title="testCopyOnDocserver()">testCopyOnDocserver</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">2.00</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="93.75" aria-valuemin="0" aria-valuemax="100" style="width: 93.75%">
+           <span class="sr-only">93.75% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">93.75%</div></td>
+      <td class="success small"><div align="right">15&nbsp;/&nbsp;16</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#112"><abbr title="testWashTmp()">testWashTmp</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">2.01</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="87.50" aria-valuemin="0" aria-valuemax="100" style="width: 87.50%">
+           <span class="sr-only">87.50% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">87.50%</div></td>
+      <td class="success small"><div align="right">7&nbsp;/&nbsp;8</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#132"><abbr title="testCreatePathOnDocServer()">testCreatePathOnDocServer</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">5&nbsp;/&nbsp;5</div></td>
+     </tr>
+
+
+    </tbody>
+   </table>
+   <table id="code" class="table table-borderless table-condensed">
+    <tbody>
+     <tr><td><div align="right"><a name="1"></a><a href="#1">1</a></div></td><td class="codeLine"><span class="default">&lt;?php</span></td></tr>
+     <tr><td><div align="right"><a name="2"></a><a href="#2">2</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="3"></a><a href="#3">3</a></div></td><td class="codeLine"><span class="keyword">namespace</span><span class="default">&nbsp;</span><span class="default">MaarchTest</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="4"></a><a href="#4">4</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="5"></a><a href="#5">5</a></div></td><td class="codeLine"><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="6"></a><a href="#6">6</a></div></td><td class="codeLine"><span class="comment">*&nbsp;Copyright&nbsp;Maarch&nbsp;since&nbsp;2008&nbsp;under&nbsp;licence&nbsp;GPLv3.</span></td></tr>
+     <tr><td><div align="right"><a name="7"></a><a href="#7">7</a></div></td><td class="codeLine"><span class="comment">*&nbsp;See&nbsp;LICENCE.txt&nbsp;file&nbsp;at&nbsp;the&nbsp;root&nbsp;folder&nbsp;for&nbsp;more&nbsp;details.</span></td></tr>
+     <tr><td><div align="right"><a name="8"></a><a href="#8">8</a></div></td><td class="codeLine"><span class="comment">*&nbsp;This&nbsp;file&nbsp;is&nbsp;part&nbsp;of&nbsp;Maarch&nbsp;software.</span></td></tr>
+     <tr><td><div align="right"><a name="9"></a><a href="#9">9</a></div></td><td class="codeLine"><span class="comment">*</span></td></tr>
+     <tr><td><div align="right"><a name="10"></a><a href="#10">10</a></div></td><td class="codeLine"><span class="comment">*/</span></td></tr>
+     <tr><td><div align="right"><a name="11"></a><a href="#11">11</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="12"></a><a href="#12">12</a></div></td><td class="codeLine"><span class="keyword">require_once</span><span class="default">&nbsp;</span><span class="default">__DIR__</span><span class="keyword">.</span><span class="default">'/define.php'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="13"></a><a href="#13">13</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="14"></a><a href="#14">14</a></div></td><td class="codeLine"><span class="keyword">class</span><span class="default">&nbsp;</span><span class="default">DocserverToolsControllerTest</span><span class="default">&nbsp;</span><span class="keyword">extends</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">PHPUnit_Framework_TestCase</span></td></tr>
+     <tr><td><div align="right"><a name="15"></a><a href="#15">15</a></div></td><td class="codeLine"><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="16"></a><a href="#16">16</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testSetRights</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="17"></a><a href="#17">17</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 18" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testSetRights&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="18"></a><a href="#18">18</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">DocserverToolsController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="19"></a><a href="#19">19</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="20"></a><a href="#20">20</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr><td><div align="right"><a name="21"></a><a href="#21">21</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'path'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'/opt/maarch/docservers/'</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 22" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testSetRights&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="22"></a><a href="#22">22</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="23"></a><a href="#23">23</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 24" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testSetRights&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="24"></a><a href="#24">24</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">setRights</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="25"></a><a href="#25">25</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 26" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testSetRights&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="26"></a><a href="#26">26</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertTrue</span><span class="keyword">(</span><span class="default">$response</span><span class="keyword">[</span><span class="default">'setRights'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 27" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testSetRights&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="27"></a><a href="#27">27</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="28"></a><a href="#28">28</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="29"></a><a href="#29">29</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testDoFingerprint</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="30"></a><a href="#30">30</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 31" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testDoFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="31"></a><a href="#31">31</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">DocserverToolsController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="32"></a><a href="#32">32</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 33" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testDoFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="33"></a><a href="#33">33</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'config'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'tmppath'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'/test/'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="34"></a><a href="#34">34</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 35" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testDoFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="35"></a><a href="#35">35</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">is_dir</span><span class="keyword">(</span><span class="default">$path</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="36"></a><a href="#36">36</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">mkdir</span><span class="keyword">(</span><span class="default">$path</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="37"></a><a href="#37">37</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="38"></a><a href="#38">38</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 39" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testDoFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="39"></a><a href="#39">39</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fileSource</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'test_source.txt'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="40"></a><a href="#40">40</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="41"></a><a href="#41">41</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//creates&nbsp;an&nbsp;empty&nbsp;file</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 42" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testDoFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="42"></a><a href="#42">42</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fp</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">fopen</span><span class="keyword">(</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$fileSource</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'a'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 43" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testDoFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="43"></a><a href="#43">43</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">fwrite</span><span class="keyword">(</span><span class="default">$fp</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'a&nbsp;unit&nbsp;test'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 44" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testDoFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="44"></a><a href="#44">44</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">fclose</span><span class="keyword">(</span><span class="default">$fp</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="45"></a><a href="#45">45</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="46"></a><a href="#46">46</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 47" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testDoFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="47"></a><a href="#47">47</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'path'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$fileSource</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 48" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testDoFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="48"></a><a href="#48">48</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'fingerprintMode'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'NONE'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="49"></a><a href="#49">49</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="50"></a><a href="#50">50</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 51" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testDoFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="51"></a><a href="#51">51</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">doFingerprint</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="52"></a><a href="#52">52</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 53" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testDoFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="53"></a><a href="#53">53</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertEquals</span><span class="keyword">(</span><span class="default">$response</span><span class="keyword">[</span><span class="default">'setRights'</span><span class="keyword">]</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">0</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 54" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testDoFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="54"></a><a href="#54">54</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="55"></a><a href="#55">55</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="56"></a><a href="#56">56</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testControlFingerprint</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="57"></a><a href="#57">57</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 58" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="58"></a><a href="#58">58</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">DocserverToolsController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="59"></a><a href="#59">59</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 60" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="60"></a><a href="#60">60</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'config'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'tmppath'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'/test/'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="61"></a><a href="#61">61</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 62" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="62"></a><a href="#62">62</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">is_dir</span><span class="keyword">(</span><span class="default">$path</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="63"></a><a href="#63">63</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">mkdir</span><span class="keyword">(</span><span class="default">$path</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="64"></a><a href="#64">64</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="65"></a><a href="#65">65</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 66" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="66"></a><a href="#66">66</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fileSource</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'test_source.txt'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="67"></a><a href="#67">67</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 68" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="68"></a><a href="#68">68</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fp</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">fopen</span><span class="keyword">(</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$fileSource</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'a'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 69" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="69"></a><a href="#69">69</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">fwrite</span><span class="keyword">(</span><span class="default">$fp</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'a&nbsp;unit&nbsp;test'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 70" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="70"></a><a href="#70">70</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">fclose</span><span class="keyword">(</span><span class="default">$fp</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="71"></a><a href="#71">71</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="72"></a><a href="#72">72</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 73" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="73"></a><a href="#73">73</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'pathInit'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$fileSource</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 74" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="74"></a><a href="#74">74</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'pathTarget'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$fileSource</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 75" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="75"></a><a href="#75">75</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'fingerprintMode'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'sha256'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="76"></a><a href="#76">76</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="77"></a><a href="#77">77</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 78" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="78"></a><a href="#78">78</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">controlFingerprint</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="79"></a><a href="#79">79</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 80" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="80"></a><a href="#80">80</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertTrue</span><span class="keyword">(</span><span class="default">$response</span><span class="keyword">[</span><span class="default">'controlFingerprint'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 81" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testControlFingerprint&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="81"></a><a href="#81">81</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="82"></a><a href="#82">82</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="83"></a><a href="#83">83</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testCopyOnDocserver</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="84"></a><a href="#84">84</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 85" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="85"></a><a href="#85">85</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">DocserverToolsController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="86"></a><a href="#86">86</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 87" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="87"></a><a href="#87">87</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'config'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'tmppath'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'/test/'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="88"></a><a href="#88">88</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 89" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="89"></a><a href="#89">89</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">is_dir</span><span class="keyword">(</span><span class="default">$path</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="90"></a><a href="#90">90</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">mkdir</span><span class="keyword">(</span><span class="default">$path</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="91"></a><a href="#91">91</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="92"></a><a href="#92">92</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 93" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="93"></a><a href="#93">93</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fileSource</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'test_source.txt'</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 94" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="94"></a><a href="#94">94</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fileDest</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'test_dest.txt'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="95"></a><a href="#95">95</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 96" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="96"></a><a href="#96">96</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fp</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">fopen</span><span class="keyword">(</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$fileSource</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'a'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 97" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="97"></a><a href="#97">97</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">fwrite</span><span class="keyword">(</span><span class="default">$fp</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'a&nbsp;unit&nbsp;test'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 98" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="98"></a><a href="#98">98</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">fclose</span><span class="keyword">(</span><span class="default">$fp</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="99"></a><a href="#99">99</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="100"></a><a href="#100">100</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 101" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="101"></a><a href="#101">101</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'sourceFilePath'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$fileSource</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 102" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="102"></a><a href="#102">102</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'destinationDir'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$path</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 103" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="103"></a><a href="#103">103</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'fileDestinationName'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$fileDest</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 104" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="104"></a><a href="#104">104</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'docserverSourceFingerprint'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'sha256'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="105"></a><a href="#105">105</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="106"></a><a href="#106">106</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 107" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="107"></a><a href="#107">107</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">copyOnDocserver</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="108"></a><a href="#108">108</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 109" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="109"></a><a href="#109">109</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertArrayHasKey</span><span class="keyword">(</span><span class="default">'destinationDir'</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">[</span><span class="default">'copyOnDocserver'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 110" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCopyOnDocserver&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="110"></a><a href="#110">110</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="111"></a><a href="#111">111</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="112"></a><a href="#112">112</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testWashTmp</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="113"></a><a href="#113">113</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 114" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testWashTmp&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="114"></a><a href="#114">114</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">DocserverToolsController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="115"></a><a href="#115">115</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 116" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testWashTmp&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="116"></a><a href="#116">116</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'config'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'tmppath'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'/test/'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="117"></a><a href="#117">117</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 118" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testWashTmp&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="118"></a><a href="#118">118</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">is_dir</span><span class="keyword">(</span><span class="default">$path</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="119"></a><a href="#119">119</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">mkdir</span><span class="keyword">(</span><span class="default">$path</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="120"></a><a href="#120">120</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="121"></a><a href="#121">121</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="122"></a><a href="#122">122</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 123" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testWashTmp&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="123"></a><a href="#123">123</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'path'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$path</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="124"></a><a href="#124">124</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'contentOnly'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">false</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="125"></a><a href="#125">125</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="126"></a><a href="#126">126</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 127" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testWashTmp&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="127"></a><a href="#127">127</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">washTmp</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="128"></a><a href="#128">128</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 129" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testWashTmp&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="129"></a><a href="#129">129</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertTrue</span><span class="keyword">(</span><span class="default">$response</span><span class="keyword">[</span><span class="default">'washTmp'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 130" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testWashTmp&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="130"></a><a href="#130">130</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="131"></a><a href="#131">131</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="132"></a><a href="#132">132</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testCreatePathOnDocServer</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="133"></a><a href="#133">133</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 134" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCreatePathOnDocServer&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="134"></a><a href="#134">134</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">DocserverToolsController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="135"></a><a href="#135">135</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="136"></a><a href="#136">136</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr><td><div align="right"><a name="137"></a><a href="#137">137</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'path'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'/opt/maarch/new_docservers/MaarchCourrierGit/manual/'</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 138" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCreatePathOnDocServer&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="138"></a><a href="#138">138</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="139"></a><a href="#139">139</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 140" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCreatePathOnDocServer&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="140"></a><a href="#140">140</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">createPathOnDocServer</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="141"></a><a href="#141">141</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 142" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCreatePathOnDocServer&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="142"></a><a href="#142">142</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertArrayHasKey</span><span class="keyword">(</span><span class="default">'destinationDir'</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">[</span><span class="default">'createPathOnDocServer'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 143" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverToolsControllerTest::testCreatePathOnDocServer&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="143"></a><a href="#143">143</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="144"></a><a href="#144">144</a></div></td><td class="codeLine"><span class="keyword">}</span></td></tr>
+
+    </tbody>
+   </table>
+   <footer>
+    <hr/>
+    <h4>Legend</h4>
+    <p>
+     <span class="success"><strong>Executed</strong></span>
+     <span class="danger"><strong>Not Executed</strong></span>
+     <span class="warning"><strong>Dead Code</strong></span>
+    </p>
+    <p>
+     <small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 3.2.1</a> using <a href="http://php.net/" target="_top">PHP 7.0.16-4+deb.sury.org~xenial+1</a> and <a href="https://phpunit.de/">PHPUnit 5.1.3</a> at Tue Mar 14 18:22:56 CET 2017.</small>
+    </p>
+    <a title="Back to the top" id="toplink" href="#"><span class="glyphicon glyphicon-arrow-up"></span></a>
+   </footer>
+  </div>
+  <script src="../js/jquery.min.js" type="text/javascript"></script>
+  <script src="../js/bootstrap.min.js" type="text/javascript"></script>
+  <script src="../js/holder.min.js" type="text/javascript"></script>
+  <script type="text/javascript">
+  $(function() {
+   var $window   = $(window)
+     , $top_link = $('#toplink')
+     , $body     = $('body, html')
+     , offset    = $('#code').offset().top;
+
+   $top_link.hide().click(function(event) {
+    event.preventDefault();
+    $body.animate({scrollTop:0}, 800);
+   });
+
+   $window.scroll(function() {
+    if($window.scrollTop() > offset) {
+     $top_link.fadeIn();
+    } else {
+     $top_link.fadeOut();
+    }
+   }).scroll();
+
+   $('.popin').popover({trigger: 'hover'});
+  });
+  </script>
+ </body>
+</html>
diff --git a/core/Test/build/Test/DocserverTypeControllerTest.php.html b/core/Test/build/Test/DocserverTypeControllerTest.php.html
new file mode 100644
index 0000000000000000000000000000000000000000..114f0f7b248e7d6e551102def02dc5640ae29fb6
--- /dev/null
+++ b/core/Test/build/Test/DocserverTypeControllerTest.php.html
@@ -0,0 +1,336 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+  <meta charset="UTF-8">
+  <title>Code Coverage for /var/www/html/MaarchCourrier/core/Test/DocserverTypeControllerTest.php</title>
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <link href="../css/bootstrap.min.css" rel="stylesheet">
+  <link href="../css/style.css" rel="stylesheet">
+  <!--[if lt IE 9]>
+  <script src="../js/html5shiv.min.js"></script>
+  <script src="../js/respond.min.js"></script>
+  <![endif]-->
+ </head>
+ <body>
+  <header>
+   <div class="container">
+    <div class="row">
+     <div class="col-md-12">
+      <ol class="breadcrumb">
+        <li><a href="../index.html">/var/www/html/MaarchCourrier/core</a></li>
+        <li><a href="index.html">Test</a></li>
+        <li class="active">DocserverTypeControllerTest.php</li>
+
+      </ol>
+     </div>
+    </div>
+   </div>
+  </header>
+  <div class="container">
+   <table class="table table-bordered">
+    <thead>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td>
+     </tr>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td>
+      <td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td>
+      <td colspan="3"><div align="center"><strong>Lines</strong></div></td>
+     </tr>
+    </thead>
+    <tbody>
+     <tr>
+      <td class="success">Total</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">2&nbsp;/&nbsp;2</div></td>
+      <td class="success small"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">18&nbsp;/&nbsp;18</div></td>
+     </tr>
+
+     <tr>
+      <td class="success">DocserverTypeControllerTest</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">2&nbsp;/&nbsp;2</div></td>
+      <td class="success small">2</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">18&nbsp;/&nbsp;18</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#16"><abbr title="testGetList()">testGetList</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">8&nbsp;/&nbsp;8</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#35"><abbr title="testGetById()">testGetById</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">10&nbsp;/&nbsp;10</div></td>
+     </tr>
+
+
+    </tbody>
+   </table>
+   <table id="code" class="table table-borderless table-condensed">
+    <tbody>
+     <tr><td><div align="right"><a name="1"></a><a href="#1">1</a></div></td><td class="codeLine"><span class="default">&lt;?php</span></td></tr>
+     <tr><td><div align="right"><a name="2"></a><a href="#2">2</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="3"></a><a href="#3">3</a></div></td><td class="codeLine"><span class="keyword">namespace</span><span class="default">&nbsp;</span><span class="default">MaarchTest</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="4"></a><a href="#4">4</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="5"></a><a href="#5">5</a></div></td><td class="codeLine"><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="6"></a><a href="#6">6</a></div></td><td class="codeLine"><span class="comment">*&nbsp;Copyright&nbsp;Maarch&nbsp;since&nbsp;2008&nbsp;under&nbsp;licence&nbsp;GPLv3.</span></td></tr>
+     <tr><td><div align="right"><a name="7"></a><a href="#7">7</a></div></td><td class="codeLine"><span class="comment">*&nbsp;See&nbsp;LICENCE.txt&nbsp;file&nbsp;at&nbsp;the&nbsp;root&nbsp;folder&nbsp;for&nbsp;more&nbsp;details.</span></td></tr>
+     <tr><td><div align="right"><a name="8"></a><a href="#8">8</a></div></td><td class="codeLine"><span class="comment">*&nbsp;This&nbsp;file&nbsp;is&nbsp;part&nbsp;of&nbsp;Maarch&nbsp;software.</span></td></tr>
+     <tr><td><div align="right"><a name="9"></a><a href="#9">9</a></div></td><td class="codeLine"><span class="comment">*</span></td></tr>
+     <tr><td><div align="right"><a name="10"></a><a href="#10">10</a></div></td><td class="codeLine"><span class="comment">*/</span></td></tr>
+     <tr><td><div align="right"><a name="11"></a><a href="#11">11</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="12"></a><a href="#12">12</a></div></td><td class="codeLine"><span class="keyword">require_once</span><span class="default">&nbsp;</span><span class="default">__DIR__</span><span class="keyword">.</span><span class="default">'/define.php'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="13"></a><a href="#13">13</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="14"></a><a href="#14">14</a></div></td><td class="codeLine"><span class="keyword">class</span><span class="default">&nbsp;</span><span class="default">DocserverTypeControllerTest</span><span class="default">&nbsp;</span><span class="keyword">extends</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">PHPUnit_Framework_TestCase</span></td></tr>
+     <tr><td><div align="right"><a name="15"></a><a href="#15">15</a></div></td><td class="codeLine"><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="16"></a><a href="#16">16</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testGetList</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="17"></a><a href="#17">17</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 18" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="18"></a><a href="#18">18</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">DocserverTypeController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="19"></a><a href="#19">19</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 20" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="20"></a><a href="#20">20</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$environment</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Environment</span><span class="default">::</span><span class="default">mock</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="21"></a><a href="#21">21</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 22" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="22"></a><a href="#22">22</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'REQUEST_METHOD'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'GET'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="23"></a><a href="#23">23</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//'REQUEST_URI'&nbsp;=&gt;&nbsp;'/docserverType',</span></td></tr>
+     <tr><td><div align="right"><a name="24"></a><a href="#24">24</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//'QUERY_STRING'=&gt;'foo=bar',</span></td></tr>
+     <tr><td><div align="right"><a name="25"></a><a href="#25">25</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="26"></a><a href="#26">26</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="27"></a><a href="#27">27</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 28" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="28"></a><a href="#28">28</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$request</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Request</span><span class="default">::</span><span class="default">createFromEnvironment</span><span class="keyword">(</span><span class="default">$environment</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 29" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="29"></a><a href="#29">29</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Response</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 30" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="30"></a><a href="#30">30</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">getList</span><span class="keyword">(</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="31"></a><a href="#31">31</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 32" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="32"></a><a href="#32">32</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertNotNull</span><span class="keyword">(</span><span class="default">(string)</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">getBody</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 33" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="33"></a><a href="#33">33</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="34"></a><a href="#34">34</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="35"></a><a href="#35">35</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testGetById</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="36"></a><a href="#36">36</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 37" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="37"></a><a href="#37">37</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">DocserverTypeController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="38"></a><a href="#38">38</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 39" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="39"></a><a href="#39">39</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$environment</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Environment</span><span class="default">::</span><span class="default">mock</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="40"></a><a href="#40">40</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 41" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="41"></a><a href="#41">41</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'REQUEST_METHOD'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'GET'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="42"></a><a href="#42">42</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="43"></a><a href="#43">43</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="44"></a><a href="#44">44</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="45"></a><a href="#45">45</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr><td><div align="right"><a name="46"></a><a href="#46">46</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'FASTHD'</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 47" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="47"></a><a href="#47">47</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="48"></a><a href="#48">48</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 49" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="49"></a><a href="#49">49</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$request</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Request</span><span class="default">::</span><span class="default">createFromEnvironment</span><span class="keyword">(</span><span class="default">$environment</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 50" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="50"></a><a href="#50">50</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Response</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 51" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="51"></a><a href="#51">51</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">getById</span><span class="keyword">(</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="52"></a><a href="#52">52</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$compare</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'[{&quot;DocserverType&quot;:[{&quot;docserver_type_id&quot;:&quot;FASTHD&quot;,'</span></td></tr>
+     <tr><td><div align="right"><a name="53"></a><a href="#53">53</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&quot;docserver_type_label&quot;:&quot;FASTHD&quot;,&quot;enabled&quot;:&quot;Y&quot;,'</span></td></tr>
+     <tr><td><div align="right"><a name="54"></a><a href="#54">54</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&quot;is_container&quot;:&quot;N&quot;,&quot;container_max_number&quot;:0,'</span></td></tr>
+     <tr><td><div align="right"><a name="55"></a><a href="#55">55</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&quot;is_compressed&quot;:&quot;N&quot;,&quot;compression_mode&quot;:&quot;NONE&quot;,'</span></td></tr>
+     <tr><td><div align="right"><a name="56"></a><a href="#56">56</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&quot;is_meta&quot;:&quot;N&quot;,&quot;meta_template&quot;:&quot;NONE&quot;,'</span></td></tr>
+     <tr><td><div align="right"><a name="57"></a><a href="#57">57</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&quot;is_logged&quot;:&quot;N&quot;,&quot;log_template&quot;:&quot;NONE&quot;,'</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 58" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="58"></a><a href="#58">58</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&quot;is_signed&quot;:&quot;Y&quot;,&quot;fingerprint_mode&quot;:&quot;SHA256&quot;}]}]'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="59"></a><a href="#59">59</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 60" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="60"></a><a href="#60">60</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertSame</span><span class="keyword">(</span><span class="default">(string)</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">getBody</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$compare</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 61" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\DocserverTypeControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="61"></a><a href="#61">61</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="62"></a><a href="#62">62</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="63"></a><a href="#63">63</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;public&nbsp;function&nbsp;testCreate()</span></td></tr>
+     <tr><td><div align="right"><a name="64"></a><a href="#64">64</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;{</span></td></tr>
+     <tr><td><div align="right"><a name="65"></a><a href="#65">65</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$action&nbsp;=&nbsp;new&nbsp;\Core\Controllers\DocserverTypeController();</span></td></tr>
+     <tr><td><div align="right"><a name="66"></a><a href="#66">66</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="67"></a><a href="#67">67</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$query&nbsp;&nbsp;=&nbsp;'id=TEST&amp;';</span></td></tr>
+     <tr><td><div align="right"><a name="68"></a><a href="#68">68</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$query&nbsp;.=&nbsp;'label_status=TEST';</span></td></tr>
+     <tr><td><div align="right"><a name="69"></a><a href="#69">69</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="70"></a><a href="#70">70</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$environment&nbsp;=&nbsp;\Slim\Http\Environment::mock(</span></td></tr>
+     <tr><td><div align="right"><a name="71"></a><a href="#71">71</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[</span></td></tr>
+     <tr><td><div align="right"><a name="72"></a><a href="#72">72</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'REQUEST_METHOD'&nbsp;=&gt;&nbsp;'POST',</span></td></tr>
+     <tr><td><div align="right"><a name="73"></a><a href="#73">73</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'QUERY_STRING'=&gt;&nbsp;$query,</span></td></tr>
+     <tr><td><div align="right"><a name="74"></a><a href="#74">74</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]</span></td></tr>
+     <tr><td><div align="right"><a name="75"></a><a href="#75">75</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);</span></td></tr>
+     <tr><td><div align="right"><a name="76"></a><a href="#76">76</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="77"></a><a href="#77">77</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$aArgs&nbsp;=&nbsp;[</span></td></tr>
+     <tr><td><div align="right"><a name="78"></a><a href="#78">78</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'id'=&gt;&nbsp;'NEW'</span></td></tr>
+     <tr><td><div align="right"><a name="79"></a><a href="#79">79</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;];</span></td></tr>
+     <tr><td><div align="right"><a name="80"></a><a href="#80">80</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="81"></a><a href="#81">81</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$request&nbsp;=&nbsp;\Slim\Http\Request::createFromEnvironment($environment);</span></td></tr>
+     <tr><td><div align="right"><a name="82"></a><a href="#82">82</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$response&nbsp;=&nbsp;new&nbsp;\Slim\Http\Response();</span></td></tr>
+     <tr><td><div align="right"><a name="83"></a><a href="#83">83</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$response&nbsp;=&nbsp;$action-&gt;create($request,&nbsp;$response,&nbsp;$aArgs);</span></td></tr>
+     <tr><td><div align="right"><a name="84"></a><a href="#84">84</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="85"></a><a href="#85">85</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$compare&nbsp;=&nbsp;'[{&quot;docserverType&quot;:[{&quot;id&quot;:&quot;TEST&quot;,&quot;label_status&quot;:&quot;TEST&quot;,'</span></td></tr>
+     <tr><td><div align="right"><a name="86"></a><a href="#86">86</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;'&quot;is_system&quot;:&quot;Y&quot;,&quot;is_folder_status&quot;:&quot;N&quot;,&quot;img_filename&quot;:null,'</span></td></tr>
+     <tr><td><div align="right"><a name="87"></a><a href="#87">87</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;'&quot;maarch_module&quot;:&quot;apps&quot;,&quot;can_be_searched&quot;:&quot;Y&quot;,'</span></td></tr>
+     <tr><td><div align="right"><a name="88"></a><a href="#88">88</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;'&quot;can_be_modified&quot;:&quot;Y&quot;}]}]';</span></td></tr>
+     <tr><td><div align="right"><a name="89"></a><a href="#89">89</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="90"></a><a href="#90">90</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;assertSame((string)$response-&gt;getBody(),&nbsp;$compare);</span></td></tr>
+     <tr><td><div align="right"><a name="91"></a><a href="#91">91</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;}</span></td></tr>
+     <tr><td><div align="right"><a name="92"></a><a href="#92">92</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="93"></a><a href="#93">93</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;public&nbsp;function&nbsp;testUpdate()</span></td></tr>
+     <tr><td><div align="right"><a name="94"></a><a href="#94">94</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;{</span></td></tr>
+     <tr><td><div align="right"><a name="95"></a><a href="#95">95</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$action&nbsp;=&nbsp;new&nbsp;\Core\Controllers\DocserverTypeController();</span></td></tr>
+     <tr><td><div align="right"><a name="96"></a><a href="#96">96</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="97"></a><a href="#97">97</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$query&nbsp;&nbsp;=&nbsp;'id=TEST&amp;';</span></td></tr>
+     <tr><td><div align="right"><a name="98"></a><a href="#98">98</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$query&nbsp;.=&nbsp;'label_status=TEST&nbsp;AFTER&nbsp;UP';</span></td></tr>
+     <tr><td><div align="right"><a name="99"></a><a href="#99">99</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="100"></a><a href="#100">100</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$environment&nbsp;=&nbsp;\Slim\Http\Environment::mock(</span></td></tr>
+     <tr><td><div align="right"><a name="101"></a><a href="#101">101</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[</span></td></tr>
+     <tr><td><div align="right"><a name="102"></a><a href="#102">102</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'REQUEST_METHOD'&nbsp;=&gt;&nbsp;'PUT',</span></td></tr>
+     <tr><td><div align="right"><a name="103"></a><a href="#103">103</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'QUERY_STRING'=&gt;&nbsp;$query,</span></td></tr>
+     <tr><td><div align="right"><a name="104"></a><a href="#104">104</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]</span></td></tr>
+     <tr><td><div align="right"><a name="105"></a><a href="#105">105</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);</span></td></tr>
+     <tr><td><div align="right"><a name="106"></a><a href="#106">106</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="107"></a><a href="#107">107</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$aArgs&nbsp;=&nbsp;[</span></td></tr>
+     <tr><td><div align="right"><a name="108"></a><a href="#108">108</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'id'=&gt;&nbsp;'NEW'</span></td></tr>
+     <tr><td><div align="right"><a name="109"></a><a href="#109">109</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;];</span></td></tr>
+     <tr><td><div align="right"><a name="110"></a><a href="#110">110</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="111"></a><a href="#111">111</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$request&nbsp;=&nbsp;\Slim\Http\Request::createFromEnvironment($environment);</span></td></tr>
+     <tr><td><div align="right"><a name="112"></a><a href="#112">112</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$response&nbsp;=&nbsp;new&nbsp;\Slim\Http\Response();</span></td></tr>
+     <tr><td><div align="right"><a name="113"></a><a href="#113">113</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$response&nbsp;=&nbsp;$action-&gt;update($request,&nbsp;$response,&nbsp;$aArgs);</span></td></tr>
+     <tr><td><div align="right"><a name="114"></a><a href="#114">114</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="115"></a><a href="#115">115</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$compare&nbsp;=&nbsp;'[{&quot;docserverType&quot;:[{&quot;id&quot;:&quot;TEST&quot;,&quot;label_status&quot;:&quot;TEST&nbsp;AFTER&nbsp;UP&quot;,'</span></td></tr>
+     <tr><td><div align="right"><a name="116"></a><a href="#116">116</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;'&quot;is_system&quot;:&quot;Y&quot;,&quot;is_folder_status&quot;:&quot;N&quot;,&quot;img_filename&quot;:null,'</span></td></tr>
+     <tr><td><div align="right"><a name="117"></a><a href="#117">117</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;'&quot;maarch_module&quot;:&quot;apps&quot;,&quot;can_be_searched&quot;:&quot;Y&quot;,'</span></td></tr>
+     <tr><td><div align="right"><a name="118"></a><a href="#118">118</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;.&nbsp;'&quot;can_be_modified&quot;:&quot;Y&quot;}]}]';</span></td></tr>
+     <tr><td><div align="right"><a name="119"></a><a href="#119">119</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="120"></a><a href="#120">120</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;assertSame((string)$response-&gt;getBody(),&nbsp;$compare);</span></td></tr>
+     <tr><td><div align="right"><a name="121"></a><a href="#121">121</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;}</span></td></tr>
+     <tr><td><div align="right"><a name="122"></a><a href="#122">122</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="123"></a><a href="#123">123</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;public&nbsp;function&nbsp;testDelete()</span></td></tr>
+     <tr><td><div align="right"><a name="124"></a><a href="#124">124</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;{</span></td></tr>
+     <tr><td><div align="right"><a name="125"></a><a href="#125">125</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$action&nbsp;=&nbsp;new&nbsp;\Core\Controllers\DocserverTypeController();</span></td></tr>
+     <tr><td><div align="right"><a name="126"></a><a href="#126">126</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="127"></a><a href="#127">127</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$environment&nbsp;=&nbsp;\Slim\Http\Environment::mock(</span></td></tr>
+     <tr><td><div align="right"><a name="128"></a><a href="#128">128</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;[</span></td></tr>
+     <tr><td><div align="right"><a name="129"></a><a href="#129">129</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'REQUEST_METHOD'&nbsp;=&gt;&nbsp;'DELETE',</span></td></tr>
+     <tr><td><div align="right"><a name="130"></a><a href="#130">130</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;]</span></td></tr>
+     <tr><td><div align="right"><a name="131"></a><a href="#131">131</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;);</span></td></tr>
+     <tr><td><div align="right"><a name="132"></a><a href="#132">132</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="133"></a><a href="#133">133</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$aArgs&nbsp;=&nbsp;[</span></td></tr>
+     <tr><td><div align="right"><a name="134"></a><a href="#134">134</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;'id'=&gt;&nbsp;'TEST'</span></td></tr>
+     <tr><td><div align="right"><a name="135"></a><a href="#135">135</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;];</span></td></tr>
+     <tr><td><div align="right"><a name="136"></a><a href="#136">136</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="137"></a><a href="#137">137</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$request&nbsp;=&nbsp;\Slim\Http\Request::createFromEnvironment($environment);</span></td></tr>
+     <tr><td><div align="right"><a name="138"></a><a href="#138">138</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$response&nbsp;=&nbsp;new&nbsp;\Slim\Http\Response();</span></td></tr>
+     <tr><td><div align="right"><a name="139"></a><a href="#139">139</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$response&nbsp;=&nbsp;$action-&gt;delete($request,&nbsp;$response,&nbsp;$aArgs);</span></td></tr>
+     <tr><td><div align="right"><a name="140"></a><a href="#140">140</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="141"></a><a href="#141">141</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$this-&gt;assertSame((string)$response-&gt;getBody(),&nbsp;'[{&quot;docserverType&quot;:true}]');</span></td></tr>
+     <tr><td><div align="right"><a name="142"></a><a href="#142">142</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//&nbsp;}</span></td></tr>
+     <tr><td><div align="right"><a name="143"></a><a href="#143">143</a></div></td><td class="codeLine"><span class="keyword">}</span></td></tr>
+
+    </tbody>
+   </table>
+   <footer>
+    <hr/>
+    <h4>Legend</h4>
+    <p>
+     <span class="success"><strong>Executed</strong></span>
+     <span class="danger"><strong>Not Executed</strong></span>
+     <span class="warning"><strong>Dead Code</strong></span>
+    </p>
+    <p>
+     <small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 3.2.1</a> using <a href="http://php.net/" target="_top">PHP 7.0.16-4+deb.sury.org~xenial+1</a> and <a href="https://phpunit.de/">PHPUnit 5.1.3</a> at Tue Mar 14 18:22:56 CET 2017.</small>
+    </p>
+    <a title="Back to the top" id="toplink" href="#"><span class="glyphicon glyphicon-arrow-up"></span></a>
+   </footer>
+  </div>
+  <script src="../js/jquery.min.js" type="text/javascript"></script>
+  <script src="../js/bootstrap.min.js" type="text/javascript"></script>
+  <script src="../js/holder.min.js" type="text/javascript"></script>
+  <script type="text/javascript">
+  $(function() {
+   var $window   = $(window)
+     , $top_link = $('#toplink')
+     , $body     = $('body, html')
+     , offset    = $('#code').offset().top;
+
+   $top_link.hide().click(function(event) {
+    event.preventDefault();
+    $body.animate({scrollTop:0}, 800);
+   });
+
+   $window.scroll(function() {
+    if($window.scrollTop() > offset) {
+     $top_link.fadeIn();
+    } else {
+     $top_link.fadeOut();
+    }
+   }).scroll();
+
+   $('.popin').popover({trigger: 'hover'});
+  });
+  </script>
+ </body>
+</html>
diff --git a/core/Test/build/Test/ResControllerTest.php.html b/core/Test/build/Test/ResControllerTest.php.html
new file mode 100644
index 0000000000000000000000000000000000000000..d413838091a36c7fe5702f07af5b2949ea39f75d
--- /dev/null
+++ b/core/Test/build/Test/ResControllerTest.php.html
@@ -0,0 +1,502 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+  <meta charset="UTF-8">
+  <title>Code Coverage for /var/www/html/MaarchCourrier/core/Test/ResControllerTest.php</title>
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <link href="../css/bootstrap.min.css" rel="stylesheet">
+  <link href="../css/style.css" rel="stylesheet">
+  <!--[if lt IE 9]>
+  <script src="../js/html5shiv.min.js"></script>
+  <script src="../js/respond.min.js"></script>
+  <![endif]-->
+ </head>
+ <body>
+  <header>
+   <div class="container">
+    <div class="row">
+     <div class="col-md-12">
+      <ol class="breadcrumb">
+        <li><a href="../index.html">/var/www/html/MaarchCourrier/core</a></li>
+        <li><a href="index.html">Test</a></li>
+        <li class="active">ResControllerTest.php</li>
+
+      </ol>
+     </div>
+    </div>
+   </div>
+  </header>
+  <div class="container">
+   <table class="table table-bordered">
+    <thead>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td>
+     </tr>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td>
+      <td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td>
+      <td colspan="3"><div align="center"><strong>Lines</strong></div></td>
+     </tr>
+    </thead>
+    <tbody>
+     <tr>
+      <td class="danger">Total</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="80.00" aria-valuemin="0" aria-valuemax="100" style="width: 80.00%">
+           <span class="sr-only">80.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">80.00%</div></td>
+      <td class="success small"><div align="right">4&nbsp;/&nbsp;5</div></td>
+      <td class="success small"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="98.88" aria-valuemin="0" aria-valuemax="100" style="width: 98.88%">
+           <span class="sr-only">98.88% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">98.88%</div></td>
+      <td class="success small"><div align="right">88&nbsp;/&nbsp;89</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger">ResControllerTest</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="80.00" aria-valuemin="0" aria-valuemax="100" style="width: 80.00%">
+           <span class="sr-only">80.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">80.00%</div></td>
+      <td class="success small"><div align="right">4&nbsp;/&nbsp;5</div></td>
+      <td class="success small">7</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="98.88" aria-valuemin="0" aria-valuemax="100" style="width: 98.88%">
+           <span class="sr-only">98.88% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">98.88%</div></td>
+      <td class="success small"><div align="right">88&nbsp;/&nbsp;89</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#17"><abbr title="testPrepareStorage()">testPrepareStorage</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">13&nbsp;/&nbsp;13</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#53"><abbr title="testStoreResource()">testStoreResource</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">2</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">28&nbsp;/&nbsp;28</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#124"><abbr title="testDelete()">testDelete</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">10&nbsp;/&nbsp;10</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#147"><abbr title="testCreate()">testCreate</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">2</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="96.88" aria-valuemin="0" aria-valuemax="100" style="width: 96.88%">
+           <span class="sr-only">96.88% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">96.88%</div></td>
+      <td class="success small"><div align="right">31&nbsp;/&nbsp;32</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#232"><abbr title="testDeleteRes()">testDeleteRes</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">6&nbsp;/&nbsp;6</div></td>
+     </tr>
+
+
+    </tbody>
+   </table>
+   <table id="code" class="table table-borderless table-condensed">
+    <tbody>
+     <tr><td><div align="right"><a name="1"></a><a href="#1">1</a></div></td><td class="codeLine"><span class="default">&lt;?php</span></td></tr>
+     <tr><td><div align="right"><a name="2"></a><a href="#2">2</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="3"></a><a href="#3">3</a></div></td><td class="codeLine"><span class="keyword">namespace</span><span class="default">&nbsp;</span><span class="default">MaarchTest</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="4"></a><a href="#4">4</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="5"></a><a href="#5">5</a></div></td><td class="codeLine"><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="6"></a><a href="#6">6</a></div></td><td class="codeLine"><span class="comment">*&nbsp;Copyright&nbsp;Maarch&nbsp;since&nbsp;2008&nbsp;under&nbsp;licence&nbsp;GPLv3.</span></td></tr>
+     <tr><td><div align="right"><a name="7"></a><a href="#7">7</a></div></td><td class="codeLine"><span class="comment">*&nbsp;See&nbsp;LICENCE.txt&nbsp;file&nbsp;at&nbsp;the&nbsp;root&nbsp;folder&nbsp;for&nbsp;more&nbsp;details.</span></td></tr>
+     <tr><td><div align="right"><a name="8"></a><a href="#8">8</a></div></td><td class="codeLine"><span class="comment">*&nbsp;This&nbsp;file&nbsp;is&nbsp;part&nbsp;of&nbsp;Maarch&nbsp;software.</span></td></tr>
+     <tr><td><div align="right"><a name="9"></a><a href="#9">9</a></div></td><td class="codeLine"><span class="comment">*</span></td></tr>
+     <tr><td><div align="right"><a name="10"></a><a href="#10">10</a></div></td><td class="codeLine"><span class="comment">*/</span></td></tr>
+     <tr><td><div align="right"><a name="11"></a><a href="#11">11</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="12"></a><a href="#12">12</a></div></td><td class="codeLine"><span class="keyword">require_once</span><span class="default">&nbsp;</span><span class="default">__DIR__</span><span class="keyword">.</span><span class="default">'/define.php'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="13"></a><a href="#13">13</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="14"></a><a href="#14">14</a></div></td><td class="codeLine"><span class="keyword">class</span><span class="default">&nbsp;</span><span class="default">ResControllerTest</span><span class="default">&nbsp;</span><span class="keyword">extends</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">PHPUnit_Framework_TestCase</span></td></tr>
+     <tr><td><div align="right"><a name="15"></a><a href="#15">15</a></div></td><td class="codeLine"><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="16"></a><a href="#16">16</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="17"></a><a href="#17">17</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testPrepareStorage</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="18"></a><a href="#18">18</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 19" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="19"></a><a href="#19">19</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">ResController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="20"></a><a href="#20">20</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 21" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="21"></a><a href="#21">21</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="22"></a><a href="#22">22</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 23" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="23"></a><a href="#23">23</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="24"></a><a href="#24">24</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="25"></a><a href="#25">25</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 26" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="26"></a><a href="#26">26</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'custom_t1'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="27"></a><a href="#27">27</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'TEST'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="28"></a><a href="#28">28</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="29"></a><a href="#29">29</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="30"></a><a href="#30">30</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="31"></a><a href="#31">31</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 32" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="32"></a><a href="#32">32</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="33"></a><a href="#33">33</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="34"></a><a href="#34">34</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 35" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="35"></a><a href="#35">35</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'custom_t10'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="36"></a><a href="#36">36</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'lgi@maarch.org'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="37"></a><a href="#37">37</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="38"></a><a href="#38">38</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="39"></a><a href="#39">39</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="40"></a><a href="#40">40</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="41"></a><a href="#41">41</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 42" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="42"></a><a href="#42">42</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'data'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 43" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="43"></a><a href="#43">43</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'docserverId'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'FASTHD_MAN'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 44" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="44"></a><a href="#44">44</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'status'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'new'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 45" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="45"></a><a href="#45">45</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'fileFormat'</span><span class="default">&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'pdf'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="46"></a><a href="#46">46</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="47"></a><a href="#47">47</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 48" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="48"></a><a href="#48">48</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">prepareStorage</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="49"></a><a href="#49">49</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 50" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="50"></a><a href="#50">50</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertArrayHasKey</span><span class="keyword">(</span><span class="default">'column'</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 51" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testPrepareStorage&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="51"></a><a href="#51">51</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="52"></a><a href="#52">52</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="53"></a><a href="#53">53</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testStoreResource</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="54"></a><a href="#54">54</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 55" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="55"></a><a href="#55">55</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">ResController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="56"></a><a href="#56">56</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 57" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="57"></a><a href="#57">57</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'config'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'tmppath'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'/test/'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="58"></a><a href="#58">58</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 59" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="59"></a><a href="#59">59</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">is_dir</span><span class="keyword">(</span><span class="default">$path</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 60" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="60"></a><a href="#60">60</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">mkdir</span><span class="keyword">(</span><span class="default">$path</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="61"></a><a href="#61">61</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="62"></a><a href="#62">62</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 63" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="63"></a><a href="#63">63</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fileSource</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'test_source.txt'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="64"></a><a href="#64">64</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 65" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="65"></a><a href="#65">65</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fp</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">fopen</span><span class="keyword">(</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$fileSource</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'a'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 66" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="66"></a><a href="#66">66</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">fwrite</span><span class="keyword">(</span><span class="default">$fp</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'a&nbsp;unit&nbsp;test'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 67" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="67"></a><a href="#67">67</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">fclose</span><span class="keyword">(</span><span class="default">$fp</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="68"></a><a href="#68">68</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 69" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="69"></a><a href="#69">69</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fileContent</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">file_get_contents</span><span class="keyword">(</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$fileSource</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">FILE_BINARY</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 70" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="70"></a><a href="#70">70</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$encodedFile</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">base64_encode</span><span class="keyword">(</span><span class="default">$fileContent</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="71"></a><a href="#71">71</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 72" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="72"></a><a href="#72">72</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="73"></a><a href="#73">73</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 74" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="74"></a><a href="#74">74</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="75"></a><a href="#75">75</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="76"></a><a href="#76">76</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 77" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="77"></a><a href="#77">77</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'subject'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="78"></a><a href="#78">78</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'UNIT&nbsp;TEST'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="79"></a><a href="#79">79</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="80"></a><a href="#80">80</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="81"></a><a href="#81">81</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="82"></a><a href="#82">82</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 83" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="83"></a><a href="#83">83</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="84"></a><a href="#84">84</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="85"></a><a href="#85">85</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 86" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="86"></a><a href="#86">86</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'type_id'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="87"></a><a href="#87">87</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">110</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="88"></a><a href="#88">88</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'integer'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="89"></a><a href="#89">89</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="90"></a><a href="#90">90</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="91"></a><a href="#91">91</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 92" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="92"></a><a href="#92">92</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="93"></a><a href="#93">93</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="94"></a><a href="#94">94</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 95" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="95"></a><a href="#95">95</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'custom_t1'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="96"></a><a href="#96">96</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'TEST'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="97"></a><a href="#97">97</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="98"></a><a href="#98">98</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="99"></a><a href="#99">99</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="100"></a><a href="#100">100</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 101" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="101"></a><a href="#101">101</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="102"></a><a href="#102">102</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="103"></a><a href="#103">103</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 104" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="104"></a><a href="#104">104</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'custom_t10'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="105"></a><a href="#105">105</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'lgi@maarch.org'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="106"></a><a href="#106">106</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="107"></a><a href="#107">107</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="108"></a><a href="#108">108</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="109"></a><a href="#109">109</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="110"></a><a href="#110">110</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 111" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="111"></a><a href="#111">111</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'encodedFile'</span><span class="default">&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$encodedFile</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 112" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="112"></a><a href="#112">112</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'data'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 113" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="113"></a><a href="#113">113</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'collId'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'letterbox_coll'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 114" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="114"></a><a href="#114">114</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'table'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'res_letterbox'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 115" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="115"></a><a href="#115">115</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'fileFormat'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'txt'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 116" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="116"></a><a href="#116">116</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'status'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'new'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="117"></a><a href="#117">117</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="118"></a><a href="#118">118</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 119" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="119"></a><a href="#119">119</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">storeResource</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="120"></a><a href="#120">120</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 121" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="121"></a><a href="#121">121</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertGreaterThanOrEqual</span><span class="keyword">(</span><span class="default">0</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 122" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testStoreResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="122"></a><a href="#122">122</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="123"></a><a href="#123">123</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="124"></a><a href="#124">124</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testDelete</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="125"></a><a href="#125">125</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 126" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="126"></a><a href="#126">126</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">ResController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="127"></a><a href="#127">127</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 128" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="128"></a><a href="#128">128</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$environment</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Environment</span><span class="default">::</span><span class="default">mock</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="129"></a><a href="#129">129</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 130" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="130"></a><a href="#130">130</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'REQUEST_METHOD'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'DELETE'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="131"></a><a href="#131">131</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="132"></a><a href="#132">132</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="133"></a><a href="#133">133</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 134" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="134"></a><a href="#134">134</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$resId</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Models</span><span class="default">\</span><span class="default">ResModel</span><span class="default">::</span><span class="default">getLastId</span><span class="keyword">(</span><span class="keyword">[</span><span class="default">'select'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'res_id'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="135"></a><a href="#135">135</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="136"></a><a href="#136">136</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 137" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="137"></a><a href="#137">137</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$resId</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'res_id'</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="138"></a><a href="#138">138</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="139"></a><a href="#139">139</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 140" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="140"></a><a href="#140">140</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$request</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Request</span><span class="default">::</span><span class="default">createFromEnvironment</span><span class="keyword">(</span><span class="default">$environment</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 141" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="141"></a><a href="#141">141</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Response</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 142" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="142"></a><a href="#142">142</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">delete</span><span class="keyword">(</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="143"></a><a href="#143">143</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 144" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="144"></a><a href="#144">144</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertSame</span><span class="keyword">(</span><span class="default">(string)</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">getBody</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'[true]'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 145" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="145"></a><a href="#145">145</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="146"></a><a href="#146">146</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="147"></a><a href="#147">147</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testCreate</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="148"></a><a href="#148">148</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 149" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="149"></a><a href="#149">149</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">ResController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="150"></a><a href="#150">150</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 151" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="151"></a><a href="#151">151</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$environment</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Environment</span><span class="default">::</span><span class="default">mock</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="152"></a><a href="#152">152</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 153" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="153"></a><a href="#153">153</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'REQUEST_METHOD'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'POST'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="154"></a><a href="#154">154</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="155"></a><a href="#155">155</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="156"></a><a href="#156">156</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 157" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="157"></a><a href="#157">157</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'config'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'tmppath'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'/test/'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="158"></a><a href="#158">158</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 159" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="159"></a><a href="#159">159</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">is_dir</span><span class="keyword">(</span><span class="default">$path</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="160"></a><a href="#160">160</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">mkdir</span><span class="keyword">(</span><span class="default">$path</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="161"></a><a href="#161">161</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="162"></a><a href="#162">162</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 163" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="163"></a><a href="#163">163</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fileSource</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'test_source.txt'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="164"></a><a href="#164">164</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 165" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="165"></a><a href="#165">165</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fp</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">fopen</span><span class="keyword">(</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$fileSource</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'a'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 166" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="166"></a><a href="#166">166</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">fwrite</span><span class="keyword">(</span><span class="default">$fp</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'a&nbsp;unit&nbsp;test'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 167" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="167"></a><a href="#167">167</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">fclose</span><span class="keyword">(</span><span class="default">$fp</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="168"></a><a href="#168">168</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 169" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="169"></a><a href="#169">169</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fileContent</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">file_get_contents</span><span class="keyword">(</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$fileSource</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">FILE_BINARY</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 170" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="170"></a><a href="#170">170</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$encodedFile</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">base64_encode</span><span class="keyword">(</span><span class="default">$fileContent</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="171"></a><a href="#171">171</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//echo&nbsp;$encodedFile&nbsp;.&nbsp;PHP_EOL;exit;</span></td></tr>
+     <tr><td><div align="right"><a name="172"></a><a href="#172">172</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 173" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="173"></a><a href="#173">173</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="174"></a><a href="#174">174</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 175" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="175"></a><a href="#175">175</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="176"></a><a href="#176">176</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="177"></a><a href="#177">177</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 178" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="178"></a><a href="#178">178</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'subject'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="179"></a><a href="#179">179</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'UNIT&nbsp;TEST&nbsp;from&nbsp;slim'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="180"></a><a href="#180">180</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="181"></a><a href="#181">181</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="182"></a><a href="#182">182</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="183"></a><a href="#183">183</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 184" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="184"></a><a href="#184">184</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="185"></a><a href="#185">185</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="186"></a><a href="#186">186</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 187" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="187"></a><a href="#187">187</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'type_id'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="188"></a><a href="#188">188</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">110</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="189"></a><a href="#189">189</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'integer'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="190"></a><a href="#190">190</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="191"></a><a href="#191">191</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="192"></a><a href="#192">192</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 193" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="193"></a><a href="#193">193</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="194"></a><a href="#194">194</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="195"></a><a href="#195">195</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 196" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="196"></a><a href="#196">196</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'custom_t1'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="197"></a><a href="#197">197</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'TEST'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="198"></a><a href="#198">198</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="199"></a><a href="#199">199</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="200"></a><a href="#200">200</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="201"></a><a href="#201">201</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 202" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="202"></a><a href="#202">202</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="203"></a><a href="#203">203</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="204"></a><a href="#204">204</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 205" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="205"></a><a href="#205">205</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'custom_t10'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="206"></a><a href="#206">206</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'lgi@maarch.org'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="207"></a><a href="#207">207</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="208"></a><a href="#208">208</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="209"></a><a href="#209">209</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="210"></a><a href="#210">210</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//print_r(json_encode($data));</span></td></tr>
+     <tr><td><div align="right"><a name="211"></a><a href="#211">211</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//sample&nbsp;in&nbsp;json&nbsp;:&nbsp;[{&quot;column&quot;:&quot;subject&quot;,&quot;value&quot;:&quot;UNIT&nbsp;T</span></td></tr>
+     <tr><td><div align="right"><a name="212"></a><a href="#212">212</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//EST&nbsp;from&nbsp;slim&quot;,&quot;type&quot;:&quot;string&quot;},{&quot;column&quot;:&quot;type_id&quot;,&quot;value&quot;:110,&quot;type&quot;:&quot;integer&quot;},</span></td></tr>
+     <tr><td><div align="right"><a name="213"></a><a href="#213">213</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//{&quot;column&quot;:&quot;custom_t1&quot;,&quot;value&quot;:&quot;TES</span></td></tr>
+     <tr><td><div align="right"><a name="214"></a><a href="#214">214</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//T&quot;,&quot;type&quot;:&quot;string&quot;},{&quot;column&quot;:&quot;custom_t10&quot;,&quot;value&quot;:&quot;lgi@maarch.org&quot;,&quot;type&quot;:&quot;string&quot;}]</span></td></tr>
+     <tr><td><div align="right"><a name="215"></a><a href="#215">215</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="216"></a><a href="#216">216</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 217" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="217"></a><a href="#217">217</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'encodedFile'</span><span class="default">&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$encodedFile</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 218" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="218"></a><a href="#218">218</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'data'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 219" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="219"></a><a href="#219">219</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'collId'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'letterbox_coll'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 220" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="220"></a><a href="#220">220</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'table'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'res_letterbox'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 221" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="221"></a><a href="#221">221</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'fileFormat'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'txt'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 222" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="222"></a><a href="#222">222</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'status'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'new'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="223"></a><a href="#223">223</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="224"></a><a href="#224">224</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 225" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="225"></a><a href="#225">225</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$request</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Request</span><span class="default">::</span><span class="default">createFromEnvironment</span><span class="keyword">(</span><span class="default">$environment</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 226" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="226"></a><a href="#226">226</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Response</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 227" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="227"></a><a href="#227">227</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">create</span><span class="keyword">(</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="228"></a><a href="#228">228</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//print_r($response);exit;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 229" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="229"></a><a href="#229">229</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertGreaterThan</span><span class="keyword">(</span><span class="default">1</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">json_decode</span><span class="keyword">(</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">getBody</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 230" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="230"></a><a href="#230">230</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="231"></a><a href="#231">231</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="232"></a><a href="#232">232</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testDeleteRes</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="233"></a><a href="#233">233</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 234" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDeleteRes&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="234"></a><a href="#234">234</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">ResController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="235"></a><a href="#235">235</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 236" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDeleteRes&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="236"></a><a href="#236">236</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$resId</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Models</span><span class="default">\</span><span class="default">ResModel</span><span class="default">::</span><span class="default">getLastId</span><span class="keyword">(</span><span class="keyword">[</span><span class="default">'select'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'res_id'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="237"></a><a href="#237">237</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="238"></a><a href="#238">238</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 239" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDeleteRes&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="239"></a><a href="#239">239</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$resId</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'res_id'</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="240"></a><a href="#240">240</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="241"></a><a href="#241">241</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 242" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDeleteRes&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="242"></a><a href="#242">242</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">deleteRes</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="243"></a><a href="#243">243</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 244" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDeleteRes&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="244"></a><a href="#244">244</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertTrue</span><span class="keyword">(</span><span class="default">$response</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 245" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResControllerTest::testDeleteRes&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="245"></a><a href="#245">245</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="246"></a><a href="#246">246</a></div></td><td class="codeLine"><span class="keyword">}</span></td></tr>
+
+    </tbody>
+   </table>
+   <footer>
+    <hr/>
+    <h4>Legend</h4>
+    <p>
+     <span class="success"><strong>Executed</strong></span>
+     <span class="danger"><strong>Not Executed</strong></span>
+     <span class="warning"><strong>Dead Code</strong></span>
+    </p>
+    <p>
+     <small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 3.2.1</a> using <a href="http://php.net/" target="_top">PHP 7.0.16-4+deb.sury.org~xenial+1</a> and <a href="https://phpunit.de/">PHPUnit 5.1.3</a> at Tue Mar 14 18:22:56 CET 2017.</small>
+    </p>
+    <a title="Back to the top" id="toplink" href="#"><span class="glyphicon glyphicon-arrow-up"></span></a>
+   </footer>
+  </div>
+  <script src="../js/jquery.min.js" type="text/javascript"></script>
+  <script src="../js/bootstrap.min.js" type="text/javascript"></script>
+  <script src="../js/holder.min.js" type="text/javascript"></script>
+  <script type="text/javascript">
+  $(function() {
+   var $window   = $(window)
+     , $top_link = $('#toplink')
+     , $body     = $('body, html')
+     , offset    = $('#code').offset().top;
+
+   $top_link.hide().click(function(event) {
+    event.preventDefault();
+    $body.animate({scrollTop:0}, 800);
+   });
+
+   $window.scroll(function() {
+    if($window.scrollTop() > offset) {
+     $top_link.fadeIn();
+    } else {
+     $top_link.fadeOut();
+    }
+   }).scroll();
+
+   $('.popin').popover({trigger: 'hover'});
+  });
+  </script>
+ </body>
+</html>
diff --git a/core/Test/build/Test/ResExtControllerTest.php.html b/core/Test/build/Test/ResExtControllerTest.php.html
new file mode 100644
index 0000000000000000000000000000000000000000..b807be6b423094726746fd224c95572f03d9d97f
--- /dev/null
+++ b/core/Test/build/Test/ResExtControllerTest.php.html
@@ -0,0 +1,718 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+  <meta charset="UTF-8">
+  <title>Code Coverage for /var/www/html/MaarchCourrier/core/Test/ResExtControllerTest.php</title>
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <link href="../css/bootstrap.min.css" rel="stylesheet">
+  <link href="../css/style.css" rel="stylesheet">
+  <!--[if lt IE 9]>
+  <script src="../js/html5shiv.min.js"></script>
+  <script src="../js/respond.min.js"></script>
+  <![endif]-->
+ </head>
+ <body>
+  <header>
+   <div class="container">
+    <div class="row">
+     <div class="col-md-12">
+      <ol class="breadcrumb">
+        <li><a href="../index.html">/var/www/html/MaarchCourrier/core</a></li>
+        <li><a href="index.html">Test</a></li>
+        <li class="active">ResExtControllerTest.php</li>
+
+      </ol>
+     </div>
+    </div>
+   </div>
+  </header>
+  <div class="container">
+   <table class="table table-bordered">
+    <thead>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td>
+     </tr>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td>
+      <td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td>
+      <td colspan="3"><div align="center"><strong>Lines</strong></div></td>
+     </tr>
+    </thead>
+    <tbody>
+     <tr>
+      <td class="danger">Total</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="85.71" aria-valuemin="0" aria-valuemax="100" style="width: 85.71%">
+           <span class="sr-only">85.71% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">85.71%</div></td>
+      <td class="success small"><div align="right">6&nbsp;/&nbsp;7</div></td>
+      <td class="success small"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="99.26" aria-valuemin="0" aria-valuemax="100" style="width: 99.26%">
+           <span class="sr-only">99.26% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">99.26%</div></td>
+      <td class="success small"><div align="right">134&nbsp;/&nbsp;135</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger">ResExtControllerTest</td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="85.71" aria-valuemin="0" aria-valuemax="100" style="width: 85.71%">
+           <span class="sr-only">85.71% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">85.71%</div></td>
+      <td class="success small"><div align="right">6&nbsp;/&nbsp;7</div></td>
+      <td class="success small">8</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="99.26" aria-valuemin="0" aria-valuemax="100" style="width: 99.26%">
+           <span class="sr-only">99.26% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">99.26%</div></td>
+      <td class="success small"><div align="right">134&nbsp;/&nbsp;135</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#16"><abbr title="testCreate()">testCreate</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">33&nbsp;/&nbsp;33</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#118"><abbr title="testDelete()">testDelete</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">10&nbsp;/&nbsp;10</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#141"><abbr title="testPrepareStorageExt()">testPrepareStorageExt</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">26&nbsp;/&nbsp;26</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#230"><abbr title="testStoreExtResource()">testStoreExtResource</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">29&nbsp;/&nbsp;29</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#324"><abbr title="testDeleteExtRes()">testDeleteExtRes</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">6&nbsp;/&nbsp;6</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger" colspan="4">&nbsp;<a href="#339"><abbr title="createResArtefact()">createResArtefact</abbr></a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+      <td class="danger small">2</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="96.30" aria-valuemin="0" aria-valuemax="100" style="width: 96.30%">
+           <span class="sr-only">96.30% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">96.30%</div></td>
+      <td class="success small"><div align="right">26&nbsp;/&nbsp;27</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#410"><abbr title="deleteResArtefact($resId)">deleteResArtefact</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">4&nbsp;/&nbsp;4</div></td>
+     </tr>
+
+
+    </tbody>
+   </table>
+   <table id="code" class="table table-borderless table-condensed">
+    <tbody>
+     <tr><td><div align="right"><a name="1"></a><a href="#1">1</a></div></td><td class="codeLine"><span class="default">&lt;?php</span></td></tr>
+     <tr><td><div align="right"><a name="2"></a><a href="#2">2</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="3"></a><a href="#3">3</a></div></td><td class="codeLine"><span class="keyword">namespace</span><span class="default">&nbsp;</span><span class="default">MaarchTest</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="4"></a><a href="#4">4</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="5"></a><a href="#5">5</a></div></td><td class="codeLine"><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="6"></a><a href="#6">6</a></div></td><td class="codeLine"><span class="comment">*&nbsp;Copyright&nbsp;Maarch&nbsp;since&nbsp;2008&nbsp;under&nbsp;licence&nbsp;GPLv3.</span></td></tr>
+     <tr><td><div align="right"><a name="7"></a><a href="#7">7</a></div></td><td class="codeLine"><span class="comment">*&nbsp;See&nbsp;LICENCE.txt&nbsp;file&nbsp;at&nbsp;the&nbsp;root&nbsp;folder&nbsp;for&nbsp;more&nbsp;details.</span></td></tr>
+     <tr><td><div align="right"><a name="8"></a><a href="#8">8</a></div></td><td class="codeLine"><span class="comment">*&nbsp;This&nbsp;file&nbsp;is&nbsp;part&nbsp;of&nbsp;Maarch&nbsp;software.</span></td></tr>
+     <tr><td><div align="right"><a name="9"></a><a href="#9">9</a></div></td><td class="codeLine"><span class="comment">*</span></td></tr>
+     <tr><td><div align="right"><a name="10"></a><a href="#10">10</a></div></td><td class="codeLine"><span class="comment">*/</span></td></tr>
+     <tr><td><div align="right"><a name="11"></a><a href="#11">11</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="12"></a><a href="#12">12</a></div></td><td class="codeLine"><span class="keyword">require_once</span><span class="default">&nbsp;</span><span class="default">__DIR__</span><span class="keyword">.</span><span class="default">'/define.php'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="13"></a><a href="#13">13</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="14"></a><a href="#14">14</a></div></td><td class="codeLine"><span class="keyword">class</span><span class="default">&nbsp;</span><span class="default">ResExtControllerTest</span><span class="default">&nbsp;</span><span class="keyword">extends</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">PHPUnit_Framework_TestCase</span></td></tr>
+     <tr><td><div align="right"><a name="15"></a><a href="#15">15</a></div></td><td class="codeLine"><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="16"></a><a href="#16">16</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testCreate</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="17"></a><a href="#17">17</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 18" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="18"></a><a href="#18">18</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$resId</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">createResArtefact</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="19"></a><a href="#19">19</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 20" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="20"></a><a href="#20">20</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">ResExtController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="21"></a><a href="#21">21</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 22" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="22"></a><a href="#22">22</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$environment</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Environment</span><span class="default">::</span><span class="default">mock</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="23"></a><a href="#23">23</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 24" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="24"></a><a href="#24">24</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'REQUEST_METHOD'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'POST'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="25"></a><a href="#25">25</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="26"></a><a href="#26">26</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="27"></a><a href="#27">27</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 28" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="28"></a><a href="#28">28</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="29"></a><a href="#29">29</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 30" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="30"></a><a href="#30">30</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="31"></a><a href="#31">31</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="32"></a><a href="#32">32</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 33" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="33"></a><a href="#33">33</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'process_limit_date'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="34"></a><a href="#34">34</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'29/03/2017'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="35"></a><a href="#35">35</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'date'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="36"></a><a href="#36">36</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="37"></a><a href="#37">37</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="38"></a><a href="#38">38</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 39" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="39"></a><a href="#39">39</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="40"></a><a href="#40">40</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="41"></a><a href="#41">41</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 42" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="42"></a><a href="#42">42</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'process_notes'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="43"></a><a href="#43">43</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'50,workingDay'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="44"></a><a href="#44">44</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="45"></a><a href="#45">45</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="46"></a><a href="#46">46</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="47"></a><a href="#47">47</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 48" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="48"></a><a href="#48">48</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="49"></a><a href="#49">49</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="50"></a><a href="#50">50</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 51" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="51"></a><a href="#51">51</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'category_id'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="52"></a><a href="#52">52</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'incoming'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="53"></a><a href="#53">53</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="54"></a><a href="#54">54</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="55"></a><a href="#55">55</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="56"></a><a href="#56">56</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 57" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="57"></a><a href="#57">57</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="58"></a><a href="#58">58</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="59"></a><a href="#59">59</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 60" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="60"></a><a href="#60">60</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'alt_identifier'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="61"></a><a href="#61">61</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">''</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="62"></a><a href="#62">62</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="63"></a><a href="#63">63</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="64"></a><a href="#64">64</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="65"></a><a href="#65">65</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 66" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="66"></a><a href="#66">66</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="67"></a><a href="#67">67</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="68"></a><a href="#68">68</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 69" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="69"></a><a href="#69">69</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'exp_contact_id'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="70"></a><a href="#70">70</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'jeanlouis.ercolani@maarch.org'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="71"></a><a href="#71">71</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="72"></a><a href="#72">72</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="73"></a><a href="#73">73</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="74"></a><a href="#74">74</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 75" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="75"></a><a href="#75">75</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="76"></a><a href="#76">76</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="77"></a><a href="#77">77</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 78" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="78"></a><a href="#78">78</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'address_id'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="79"></a><a href="#79">79</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'jeanlouis.ercolani@maarch.org'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="80"></a><a href="#80">80</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="81"></a><a href="#81">81</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="82"></a><a href="#82">82</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="83"></a><a href="#83">83</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 84" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="84"></a><a href="#84">84</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="85"></a><a href="#85">85</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="86"></a><a href="#86">86</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 87" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="87"></a><a href="#87">87</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'nature_id'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="88"></a><a href="#88">88</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'simple_mail'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="89"></a><a href="#89">89</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="90"></a><a href="#90">90</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="91"></a><a href="#91">91</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="92"></a><a href="#92">92</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 93" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="93"></a><a href="#93">93</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="94"></a><a href="#94">94</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="95"></a><a href="#95">95</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 96" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="96"></a><a href="#96">96</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'admission_date'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 97" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="97"></a><a href="#97">97</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">date</span><span class="keyword">(</span><span class="default">'d/m/Y'</span><span class="keyword">)</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 98" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="98"></a><a href="#98">98</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'date'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="99"></a><a href="#99">99</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="100"></a><a href="#100">100</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="101"></a><a href="#101">101</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="102"></a><a href="#102">102</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 103" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="103"></a><a href="#103">103</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'resId'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$resId</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 104" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="104"></a><a href="#104">104</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'data'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 105" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="105"></a><a href="#105">105</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'table'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'mlb_coll_ext'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 106" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="106"></a><a href="#106">106</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'resTable'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'res_letterbox'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="107"></a><a href="#107">107</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="108"></a><a href="#108">108</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 109" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="109"></a><a href="#109">109</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$request</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Request</span><span class="default">::</span><span class="default">createFromEnvironment</span><span class="keyword">(</span><span class="default">$environment</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 110" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="110"></a><a href="#110">110</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Response</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 111" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="111"></a><a href="#111">111</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">create</span><span class="keyword">(</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="112"></a><a href="#112">112</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 113" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="113"></a><a href="#113">113</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertTrue</span><span class="keyword">(</span><span class="default">json_decode</span><span class="keyword">(</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">getBody</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="114"></a><a href="#114">114</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 115" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="115"></a><a href="#115">115</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">deleteResArtefact</span><span class="keyword">(</span><span class="default">$resId</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 116" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="116"></a><a href="#116">116</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="117"></a><a href="#117">117</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="118"></a><a href="#118">118</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testDelete</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="119"></a><a href="#119">119</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 120" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="120"></a><a href="#120">120</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">ResExtController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="121"></a><a href="#121">121</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 122" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="122"></a><a href="#122">122</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$environment</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Environment</span><span class="default">::</span><span class="default">mock</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="123"></a><a href="#123">123</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 124" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="124"></a><a href="#124">124</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'REQUEST_METHOD'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'DELETE'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="125"></a><a href="#125">125</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="126"></a><a href="#126">126</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="127"></a><a href="#127">127</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 128" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="128"></a><a href="#128">128</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$resId</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Models</span><span class="default">\</span><span class="default">ResExtModel</span><span class="default">::</span><span class="default">getLastId</span><span class="keyword">(</span><span class="keyword">[</span><span class="default">'select'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'res_id'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="129"></a><a href="#129">129</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="130"></a><a href="#130">130</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 131" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="131"></a><a href="#131">131</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$resId</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'res_id'</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="132"></a><a href="#132">132</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="133"></a><a href="#133">133</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 134" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="134"></a><a href="#134">134</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$request</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Request</span><span class="default">::</span><span class="default">createFromEnvironment</span><span class="keyword">(</span><span class="default">$environment</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 135" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="135"></a><a href="#135">135</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Response</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 136" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="136"></a><a href="#136">136</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">delete</span><span class="keyword">(</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="137"></a><a href="#137">137</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 138" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="138"></a><a href="#138">138</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertSame</span><span class="keyword">(</span><span class="default">(string)</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">getBody</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'[true]'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 139" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="139"></a><a href="#139">139</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="140"></a><a href="#140">140</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="141"></a><a href="#141">141</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testPrepareStorageExt</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="142"></a><a href="#142">142</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 143" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="143"></a><a href="#143">143</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">ResExtController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="144"></a><a href="#144">144</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 145" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="145"></a><a href="#145">145</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="146"></a><a href="#146">146</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 147" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="147"></a><a href="#147">147</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="148"></a><a href="#148">148</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="149"></a><a href="#149">149</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 150" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="150"></a><a href="#150">150</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'process_limit_date'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="151"></a><a href="#151">151</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'29/03/2017'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="152"></a><a href="#152">152</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'date'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="153"></a><a href="#153">153</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="154"></a><a href="#154">154</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="155"></a><a href="#155">155</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 156" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="156"></a><a href="#156">156</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="157"></a><a href="#157">157</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="158"></a><a href="#158">158</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 159" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="159"></a><a href="#159">159</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'process_notes'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="160"></a><a href="#160">160</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'50,workingDay'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="161"></a><a href="#161">161</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="162"></a><a href="#162">162</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="163"></a><a href="#163">163</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="164"></a><a href="#164">164</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 165" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="165"></a><a href="#165">165</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="166"></a><a href="#166">166</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="167"></a><a href="#167">167</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 168" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="168"></a><a href="#168">168</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'category_id'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="169"></a><a href="#169">169</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'incoming'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="170"></a><a href="#170">170</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="171"></a><a href="#171">171</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="172"></a><a href="#172">172</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="173"></a><a href="#173">173</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 174" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="174"></a><a href="#174">174</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="175"></a><a href="#175">175</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="176"></a><a href="#176">176</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 177" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="177"></a><a href="#177">177</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'alt_identifier'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="178"></a><a href="#178">178</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">''</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="179"></a><a href="#179">179</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="180"></a><a href="#180">180</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="181"></a><a href="#181">181</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="182"></a><a href="#182">182</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 183" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="183"></a><a href="#183">183</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="184"></a><a href="#184">184</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="185"></a><a href="#185">185</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 186" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="186"></a><a href="#186">186</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'exp_contact_id'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="187"></a><a href="#187">187</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'jeanlouis.ercolani@maarch.org'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="188"></a><a href="#188">188</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="189"></a><a href="#189">189</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="190"></a><a href="#190">190</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="191"></a><a href="#191">191</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 192" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="192"></a><a href="#192">192</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="193"></a><a href="#193">193</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="194"></a><a href="#194">194</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 195" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="195"></a><a href="#195">195</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'address_id'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="196"></a><a href="#196">196</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'jeanlouis.ercolani@maarch.org'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="197"></a><a href="#197">197</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="198"></a><a href="#198">198</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="199"></a><a href="#199">199</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="200"></a><a href="#200">200</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 201" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="201"></a><a href="#201">201</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="202"></a><a href="#202">202</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="203"></a><a href="#203">203</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 204" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="204"></a><a href="#204">204</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'nature_id'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="205"></a><a href="#205">205</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'simple_mail'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="206"></a><a href="#206">206</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="207"></a><a href="#207">207</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="208"></a><a href="#208">208</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="209"></a><a href="#209">209</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 210" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="210"></a><a href="#210">210</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="211"></a><a href="#211">211</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="212"></a><a href="#212">212</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 213" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="213"></a><a href="#213">213</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'admission_date'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 214" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="214"></a><a href="#214">214</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">date</span><span class="keyword">(</span><span class="default">'d/m/Y'</span><span class="keyword">)</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 215" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="215"></a><a href="#215">215</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'date'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="216"></a><a href="#216">216</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="217"></a><a href="#217">217</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="218"></a><a href="#218">218</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="219"></a><a href="#219">219</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 220" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="220"></a><a href="#220">220</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'resId'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">100</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 221" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="221"></a><a href="#221">221</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'data'</span><span class="default">&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 222" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="222"></a><a href="#222">222</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'table'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'mlb_coll_ext'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="223"></a><a href="#223">223</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="224"></a><a href="#224">224</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 225" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="225"></a><a href="#225">225</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">prepareStorageExt</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="226"></a><a href="#226">226</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 227" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="227"></a><a href="#227">227</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertArrayHasKey</span><span class="keyword">(</span><span class="default">'res_id'</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 228" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testPrepareStorageExt&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="228"></a><a href="#228">228</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="229"></a><a href="#229">229</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="230"></a><a href="#230">230</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testStoreExtResource</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="231"></a><a href="#231">231</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 232" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="232"></a><a href="#232">232</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$resId</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">createResArtefact</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="233"></a><a href="#233">233</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 234" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="234"></a><a href="#234">234</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">ResExtController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="235"></a><a href="#235">235</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 236" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="236"></a><a href="#236">236</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="237"></a><a href="#237">237</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 238" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="238"></a><a href="#238">238</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="239"></a><a href="#239">239</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="240"></a><a href="#240">240</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 241" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="241"></a><a href="#241">241</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'process_limit_date'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="242"></a><a href="#242">242</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'29/03/2017'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="243"></a><a href="#243">243</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'date'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="244"></a><a href="#244">244</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="245"></a><a href="#245">245</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="246"></a><a href="#246">246</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 247" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="247"></a><a href="#247">247</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="248"></a><a href="#248">248</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="249"></a><a href="#249">249</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 250" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="250"></a><a href="#250">250</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'process_notes'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="251"></a><a href="#251">251</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'50,workingDay'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="252"></a><a href="#252">252</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="253"></a><a href="#253">253</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="254"></a><a href="#254">254</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="255"></a><a href="#255">255</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 256" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="256"></a><a href="#256">256</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="257"></a><a href="#257">257</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="258"></a><a href="#258">258</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 259" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="259"></a><a href="#259">259</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'category_id'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="260"></a><a href="#260">260</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'incoming'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="261"></a><a href="#261">261</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="262"></a><a href="#262">262</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="263"></a><a href="#263">263</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="264"></a><a href="#264">264</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 265" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="265"></a><a href="#265">265</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="266"></a><a href="#266">266</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="267"></a><a href="#267">267</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 268" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="268"></a><a href="#268">268</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'alt_identifier'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="269"></a><a href="#269">269</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">''</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="270"></a><a href="#270">270</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="271"></a><a href="#271">271</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="272"></a><a href="#272">272</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="273"></a><a href="#273">273</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 274" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="274"></a><a href="#274">274</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="275"></a><a href="#275">275</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="276"></a><a href="#276">276</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 277" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="277"></a><a href="#277">277</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'exp_contact_id'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="278"></a><a href="#278">278</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'jeanlouis.ercolani@maarch.org'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="279"></a><a href="#279">279</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="280"></a><a href="#280">280</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="281"></a><a href="#281">281</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="282"></a><a href="#282">282</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 283" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="283"></a><a href="#283">283</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="284"></a><a href="#284">284</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="285"></a><a href="#285">285</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 286" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="286"></a><a href="#286">286</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'address_id'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="287"></a><a href="#287">287</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'jeanlouis.ercolani@maarch.org'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="288"></a><a href="#288">288</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="289"></a><a href="#289">289</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="290"></a><a href="#290">290</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="291"></a><a href="#291">291</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 292" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="292"></a><a href="#292">292</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="293"></a><a href="#293">293</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="294"></a><a href="#294">294</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 295" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="295"></a><a href="#295">295</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'nature_id'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="296"></a><a href="#296">296</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'simple_mail'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="297"></a><a href="#297">297</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="298"></a><a href="#298">298</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="299"></a><a href="#299">299</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="300"></a><a href="#300">300</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 301" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="301"></a><a href="#301">301</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="302"></a><a href="#302">302</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="303"></a><a href="#303">303</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 304" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="304"></a><a href="#304">304</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'admission_date'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 305" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="305"></a><a href="#305">305</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">date</span><span class="keyword">(</span><span class="default">'d/m/Y'</span><span class="keyword">)</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 306" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="306"></a><a href="#306">306</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'date'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="307"></a><a href="#307">307</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="308"></a><a href="#308">308</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="309"></a><a href="#309">309</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="310"></a><a href="#310">310</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 311" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="311"></a><a href="#311">311</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'resId'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$resId</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 312" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="312"></a><a href="#312">312</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'data'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 313" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="313"></a><a href="#313">313</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'table'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'mlb_coll_ext'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 314" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="314"></a><a href="#314">314</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'resTable'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'res_letterbox'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="315"></a><a href="#315">315</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="316"></a><a href="#316">316</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 317" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="317"></a><a href="#317">317</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">storeExtResource</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="318"></a><a href="#318">318</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 319" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="319"></a><a href="#319">319</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertTrue</span><span class="keyword">(</span><span class="default">$response</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="320"></a><a href="#320">320</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 321" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="321"></a><a href="#321">321</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">deleteResArtefact</span><span class="keyword">(</span><span class="default">$resId</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 322" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="322"></a><a href="#322">322</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="323"></a><a href="#323">323</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="324"></a><a href="#324">324</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testDeleteExtRes</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="325"></a><a href="#325">325</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 326" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDeleteExtRes&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="326"></a><a href="#326">326</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">ResExtController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="327"></a><a href="#327">327</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 328" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDeleteExtRes&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="328"></a><a href="#328">328</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$resId</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Models</span><span class="default">\</span><span class="default">ResExtModel</span><span class="default">::</span><span class="default">getLastId</span><span class="keyword">(</span><span class="keyword">[</span><span class="default">'select'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'res_id'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="329"></a><a href="#329">329</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="330"></a><a href="#330">330</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 331" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDeleteExtRes&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="331"></a><a href="#331">331</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$resId</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'res_id'</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="332"></a><a href="#332">332</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="333"></a><a href="#333">333</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 334" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDeleteExtRes&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="334"></a><a href="#334">334</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">deleteExtRes</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="335"></a><a href="#335">335</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 336" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDeleteExtRes&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="336"></a><a href="#336">336</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertTrue</span><span class="keyword">(</span><span class="default">$response</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 337" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testDeleteExtRes&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="337"></a><a href="#337">337</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="338"></a><a href="#338">338</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="339"></a><a href="#339">339</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">createResArtefact</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="340"></a><a href="#340">340</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 341" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="341"></a><a href="#341">341</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">ResController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="342"></a><a href="#342">342</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 343" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="343"></a><a href="#343">343</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'config'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'tmppath'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'/test/'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="344"></a><a href="#344">344</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 345" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="345"></a><a href="#345">345</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">!</span><span class="default">is_dir</span><span class="keyword">(</span><span class="default">$path</span><span class="keyword">)</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="346"></a><a href="#346">346</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">mkdir</span><span class="keyword">(</span><span class="default">$path</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="347"></a><a href="#347">347</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="348"></a><a href="#348">348</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 349" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="349"></a><a href="#349">349</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fileSource</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'test_source.txt'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="350"></a><a href="#350">350</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 351" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="351"></a><a href="#351">351</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fp</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">fopen</span><span class="keyword">(</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$fileSource</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'a'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 352" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="352"></a><a href="#352">352</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">fwrite</span><span class="keyword">(</span><span class="default">$fp</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'a&nbsp;unit&nbsp;test'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 353" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="353"></a><a href="#353">353</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">fclose</span><span class="keyword">(</span><span class="default">$fp</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="354"></a><a href="#354">354</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 355" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="355"></a><a href="#355">355</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$fileContent</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">file_get_contents</span><span class="keyword">(</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$fileSource</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">FILE_BINARY</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 356" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="356"></a><a href="#356">356</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$encodedFile</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">base64_encode</span><span class="keyword">(</span><span class="default">$fileContent</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="357"></a><a href="#357">357</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 358" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="358"></a><a href="#358">358</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="359"></a><a href="#359">359</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 360" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="360"></a><a href="#360">360</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="361"></a><a href="#361">361</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="362"></a><a href="#362">362</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 363" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="363"></a><a href="#363">363</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'subject'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="364"></a><a href="#364">364</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'UNIT&nbsp;TEST'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="365"></a><a href="#365">365</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="366"></a><a href="#366">366</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="367"></a><a href="#367">367</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="368"></a><a href="#368">368</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 369" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="369"></a><a href="#369">369</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="370"></a><a href="#370">370</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="371"></a><a href="#371">371</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 372" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="372"></a><a href="#372">372</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'type_id'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="373"></a><a href="#373">373</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">110</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="374"></a><a href="#374">374</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'integer'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="375"></a><a href="#375">375</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="376"></a><a href="#376">376</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="377"></a><a href="#377">377</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 378" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="378"></a><a href="#378">378</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="379"></a><a href="#379">379</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="380"></a><a href="#380">380</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 381" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="381"></a><a href="#381">381</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'custom_t1'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="382"></a><a href="#382">382</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'TEST'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="383"></a><a href="#383">383</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="384"></a><a href="#384">384</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="385"></a><a href="#385">385</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="386"></a><a href="#386">386</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 387" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="387"></a><a href="#387">387</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">array_push</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="388"></a><a href="#388">388</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="389"></a><a href="#389">389</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">array</span><span class="keyword">(</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 390" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="390"></a><a href="#390">390</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'column'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'custom_t10'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="391"></a><a href="#391">391</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'value'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'lgi@maarch.org'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="392"></a><a href="#392">392</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'type'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'string'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="393"></a><a href="#393">393</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="394"></a><a href="#394">394</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="395"></a><a href="#395">395</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="396"></a><a href="#396">396</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 397" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="397"></a><a href="#397">397</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'encodedFile'</span><span class="default">&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$encodedFile</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 398" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="398"></a><a href="#398">398</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'data'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$data</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 399" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="399"></a><a href="#399">399</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'collId'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'letterbox_coll'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 400" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="400"></a><a href="#400">400</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'table'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'res_letterbox'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 401" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="401"></a><a href="#401">401</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'fileFormat'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'txt'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 402" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="402"></a><a href="#402">402</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'status'</span><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'new'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="403"></a><a href="#403">403</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="404"></a><a href="#404">404</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 405" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="405"></a><a href="#405">405</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">storeResource</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="406"></a><a href="#406">406</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 407" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="407"></a><a href="#407">407</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">return</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="warning"><td><div align="right"><a name="408"></a><a href="#408">408</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="409"></a><a href="#409">409</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="410"></a><a href="#410">410</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">deleteResArtefact</span><span class="keyword">(</span><span class="default">$resId</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="411"></a><a href="#411">411</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 412" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="412"></a><a href="#412">412</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">ResController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="413"></a><a href="#413">413</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="414"></a><a href="#414">414</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 415" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="415"></a><a href="#415">415</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$resId</span></td></tr>
+     <tr><td><div align="right"><a name="416"></a><a href="#416">416</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="417"></a><a href="#417">417</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 418" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="418"></a><a href="#418">418</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">deleteRes</span><span class="keyword">(</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="2 tests cover line 419" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testCreate&lt;/li&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\ResExtControllerTest::testStoreExtResource&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="419"></a><a href="#419">419</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="420"></a><a href="#420">420</a></div></td><td class="codeLine"><span class="keyword">}</span></td></tr>
+
+    </tbody>
+   </table>
+   <footer>
+    <hr/>
+    <h4>Legend</h4>
+    <p>
+     <span class="success"><strong>Executed</strong></span>
+     <span class="danger"><strong>Not Executed</strong></span>
+     <span class="warning"><strong>Dead Code</strong></span>
+    </p>
+    <p>
+     <small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 3.2.1</a> using <a href="http://php.net/" target="_top">PHP 7.0.16-4+deb.sury.org~xenial+1</a> and <a href="https://phpunit.de/">PHPUnit 5.1.3</a> at Tue Mar 14 18:22:56 CET 2017.</small>
+    </p>
+    <a title="Back to the top" id="toplink" href="#"><span class="glyphicon glyphicon-arrow-up"></span></a>
+   </footer>
+  </div>
+  <script src="../js/jquery.min.js" type="text/javascript"></script>
+  <script src="../js/bootstrap.min.js" type="text/javascript"></script>
+  <script src="../js/holder.min.js" type="text/javascript"></script>
+  <script type="text/javascript">
+  $(function() {
+   var $window   = $(window)
+     , $top_link = $('#toplink')
+     , $body     = $('body, html')
+     , offset    = $('#code').offset().top;
+
+   $top_link.hide().click(function(event) {
+    event.preventDefault();
+    $body.animate({scrollTop:0}, 800);
+   });
+
+   $window.scroll(function() {
+    if($window.scrollTop() > offset) {
+     $top_link.fadeIn();
+    } else {
+     $top_link.fadeOut();
+    }
+   }).scroll();
+
+   $('.popin').popover({trigger: 'hover'});
+  });
+  </script>
+ </body>
+</html>
diff --git a/core/Test/build/Test/StatusControllerTest.php.html b/core/Test/build/Test/StatusControllerTest.php.html
new file mode 100644
index 0000000000000000000000000000000000000000..d6ed8a59d52c340d9ebff36c7ffe34ff746a64e3
--- /dev/null
+++ b/core/Test/build/Test/StatusControllerTest.php.html
@@ -0,0 +1,396 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+  <meta charset="UTF-8">
+  <title>Code Coverage for /var/www/html/MaarchCourrier/core/Test/StatusControllerTest.php</title>
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <link href="../css/bootstrap.min.css" rel="stylesheet">
+  <link href="../css/style.css" rel="stylesheet">
+  <!--[if lt IE 9]>
+  <script src="../js/html5shiv.min.js"></script>
+  <script src="../js/respond.min.js"></script>
+  <![endif]-->
+ </head>
+ <body>
+  <header>
+   <div class="container">
+    <div class="row">
+     <div class="col-md-12">
+      <ol class="breadcrumb">
+        <li><a href="../index.html">/var/www/html/MaarchCourrier/core</a></li>
+        <li><a href="index.html">Test</a></li>
+        <li class="active">StatusControllerTest.php</li>
+
+      </ol>
+     </div>
+    </div>
+   </div>
+  </header>
+  <div class="container">
+   <table class="table table-bordered">
+    <thead>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td>
+     </tr>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td>
+      <td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td>
+      <td colspan="3"><div align="center"><strong>Lines</strong></div></td>
+     </tr>
+    </thead>
+    <tbody>
+     <tr>
+      <td class="success">Total</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">5&nbsp;/&nbsp;5</div></td>
+      <td class="success small"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">53&nbsp;/&nbsp;53</div></td>
+     </tr>
+
+     <tr>
+      <td class="success">StatusControllerTest</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">5&nbsp;/&nbsp;5</div></td>
+      <td class="success small">5</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">53&nbsp;/&nbsp;53</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#16"><abbr title="testGetList()">testGetList</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">8&nbsp;/&nbsp;8</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#35"><abbr title="testGetById()">testGetById</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">10&nbsp;/&nbsp;10</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#60"><abbr title="testCreate()">testCreate</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">13&nbsp;/&nbsp;13</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#90"><abbr title="testUpdate()">testUpdate</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">13&nbsp;/&nbsp;13</div></td>
+     </tr>
+
+     <tr>
+      <td class="success" colspan="4">&nbsp;<a href="#120"><abbr title="testDelete()">testDelete</abbr></a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+      <td class="success small">1</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">9&nbsp;/&nbsp;9</div></td>
+     </tr>
+
+
+    </tbody>
+   </table>
+   <table id="code" class="table table-borderless table-condensed">
+    <tbody>
+     <tr><td><div align="right"><a name="1"></a><a href="#1">1</a></div></td><td class="codeLine"><span class="default">&lt;?php</span></td></tr>
+     <tr><td><div align="right"><a name="2"></a><a href="#2">2</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="3"></a><a href="#3">3</a></div></td><td class="codeLine"><span class="keyword">namespace</span><span class="default">&nbsp;</span><span class="default">MaarchTest</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="4"></a><a href="#4">4</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="5"></a><a href="#5">5</a></div></td><td class="codeLine"><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="6"></a><a href="#6">6</a></div></td><td class="codeLine"><span class="comment">*&nbsp;Copyright&nbsp;Maarch&nbsp;since&nbsp;2008&nbsp;under&nbsp;licence&nbsp;GPLv3.</span></td></tr>
+     <tr><td><div align="right"><a name="7"></a><a href="#7">7</a></div></td><td class="codeLine"><span class="comment">*&nbsp;See&nbsp;LICENCE.txt&nbsp;file&nbsp;at&nbsp;the&nbsp;root&nbsp;folder&nbsp;for&nbsp;more&nbsp;details.</span></td></tr>
+     <tr><td><div align="right"><a name="8"></a><a href="#8">8</a></div></td><td class="codeLine"><span class="comment">*&nbsp;This&nbsp;file&nbsp;is&nbsp;part&nbsp;of&nbsp;Maarch&nbsp;software.</span></td></tr>
+     <tr><td><div align="right"><a name="9"></a><a href="#9">9</a></div></td><td class="codeLine"><span class="comment">*</span></td></tr>
+     <tr><td><div align="right"><a name="10"></a><a href="#10">10</a></div></td><td class="codeLine"><span class="comment">*/</span></td></tr>
+     <tr><td><div align="right"><a name="11"></a><a href="#11">11</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="12"></a><a href="#12">12</a></div></td><td class="codeLine"><span class="keyword">require_once</span><span class="default">&nbsp;</span><span class="default">__DIR__</span><span class="keyword">.</span><span class="default">'/define.php'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="13"></a><a href="#13">13</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="14"></a><a href="#14">14</a></div></td><td class="codeLine"><span class="keyword">class</span><span class="default">&nbsp;</span><span class="default">StatusControllerTest</span><span class="default">&nbsp;</span><span class="keyword">extends</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">PHPUnit_Framework_TestCase</span></td></tr>
+     <tr><td><div align="right"><a name="15"></a><a href="#15">15</a></div></td><td class="codeLine"><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="16"></a><a href="#16">16</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testGetList</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="17"></a><a href="#17">17</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 18" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="18"></a><a href="#18">18</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">StatusController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="19"></a><a href="#19">19</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 20" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="20"></a><a href="#20">20</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$environment</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Environment</span><span class="default">::</span><span class="default">mock</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="21"></a><a href="#21">21</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 22" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="22"></a><a href="#22">22</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'REQUEST_METHOD'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'GET'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="23"></a><a href="#23">23</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//'REQUEST_URI'&nbsp;=&gt;&nbsp;'/status',</span></td></tr>
+     <tr><td><div align="right"><a name="24"></a><a href="#24">24</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//'QUERY_STRING'=&gt;'foo=bar',</span></td></tr>
+     <tr><td><div align="right"><a name="25"></a><a href="#25">25</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="26"></a><a href="#26">26</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="27"></a><a href="#27">27</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 28" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="28"></a><a href="#28">28</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$request</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Request</span><span class="default">::</span><span class="default">createFromEnvironment</span><span class="keyword">(</span><span class="default">$environment</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 29" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="29"></a><a href="#29">29</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Response</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 30" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="30"></a><a href="#30">30</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">getList</span><span class="keyword">(</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="keyword">[</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="31"></a><a href="#31">31</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 32" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="32"></a><a href="#32">32</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertNotNull</span><span class="keyword">(</span><span class="default">(string)</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">getBody</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 33" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetList&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="33"></a><a href="#33">33</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="34"></a><a href="#34">34</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="35"></a><a href="#35">35</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testGetById</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="36"></a><a href="#36">36</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 37" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="37"></a><a href="#37">37</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">StatusController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="38"></a><a href="#38">38</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 39" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="39"></a><a href="#39">39</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$environment</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Environment</span><span class="default">::</span><span class="default">mock</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="40"></a><a href="#40">40</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 41" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="41"></a><a href="#41">41</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'REQUEST_METHOD'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'GET'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="42"></a><a href="#42">42</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="43"></a><a href="#43">43</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="44"></a><a href="#44">44</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="45"></a><a href="#45">45</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr><td><div align="right"><a name="46"></a><a href="#46">46</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'NEW'</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 47" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="47"></a><a href="#47">47</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="48"></a><a href="#48">48</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 49" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="49"></a><a href="#49">49</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$request</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Request</span><span class="default">::</span><span class="default">createFromEnvironment</span><span class="keyword">(</span><span class="default">$environment</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 50" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="50"></a><a href="#50">50</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Response</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 51" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="51"></a><a href="#51">51</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">getById</span><span class="keyword">(</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="52"></a><a href="#52">52</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$compare</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'[[{&quot;id&quot;:&quot;NEW&quot;,&quot;label_status&quot;:&quot;Nouveau&quot;,'</span></td></tr>
+     <tr><td><div align="right"><a name="53"></a><a href="#53">53</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&quot;is_system&quot;:&quot;Y&quot;,&quot;is_folder_status&quot;:&quot;N&quot;,&quot;img_filename&quot;:'</span></td></tr>
+     <tr><td><div align="right"><a name="54"></a><a href="#54">54</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&quot;fm-letter-status-new&quot;,&quot;maarch_module&quot;:&quot;apps&quot;,'</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 55" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="55"></a><a href="#55">55</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&quot;can_be_searched&quot;:&quot;Y&quot;,&quot;can_be_modified&quot;:&quot;Y&quot;}]]'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="56"></a><a href="#56">56</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 57" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="57"></a><a href="#57">57</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertSame</span><span class="keyword">(</span><span class="default">(string)</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">getBody</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$compare</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 58" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testGetById&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="58"></a><a href="#58">58</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="59"></a><a href="#59">59</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="60"></a><a href="#60">60</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testCreate</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="61"></a><a href="#61">61</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 62" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="62"></a><a href="#62">62</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">StatusController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="63"></a><a href="#63">63</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 64" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="64"></a><a href="#64">64</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$query</span><span class="default">&nbsp;&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'id=TEST&amp;'</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 65" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="65"></a><a href="#65">65</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$query</span><span class="default">&nbsp;</span><span class="default">.=</span><span class="default">&nbsp;</span><span class="default">'label_status=TEST'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="66"></a><a href="#66">66</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 67" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="67"></a><a href="#67">67</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$environment</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Environment</span><span class="default">::</span><span class="default">mock</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="68"></a><a href="#68">68</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 69" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="69"></a><a href="#69">69</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'REQUEST_METHOD'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'POST'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 70" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="70"></a><a href="#70">70</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'QUERY_STRING'</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$query</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="71"></a><a href="#71">71</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="72"></a><a href="#72">72</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="73"></a><a href="#73">73</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="74"></a><a href="#74">74</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr><td><div align="right"><a name="75"></a><a href="#75">75</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'NEW'</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 76" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="76"></a><a href="#76">76</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="77"></a><a href="#77">77</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 78" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="78"></a><a href="#78">78</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$request</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Request</span><span class="default">::</span><span class="default">createFromEnvironment</span><span class="keyword">(</span><span class="default">$environment</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 79" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="79"></a><a href="#79">79</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Response</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 80" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="80"></a><a href="#80">80</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">create</span><span class="keyword">(</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="81"></a><a href="#81">81</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="82"></a><a href="#82">82</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$compare</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'[[{&quot;id&quot;:&quot;TEST&quot;,&quot;label_status&quot;:&quot;TEST&quot;,'</span></td></tr>
+     <tr><td><div align="right"><a name="83"></a><a href="#83">83</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&quot;is_system&quot;:&quot;Y&quot;,&quot;is_folder_status&quot;:&quot;N&quot;,&quot;img_filename&quot;:null,'</span></td></tr>
+     <tr><td><div align="right"><a name="84"></a><a href="#84">84</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&quot;maarch_module&quot;:&quot;apps&quot;,&quot;can_be_searched&quot;:&quot;Y&quot;,'</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 85" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="85"></a><a href="#85">85</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&quot;can_be_modified&quot;:&quot;Y&quot;}]]'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="86"></a><a href="#86">86</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 87" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="87"></a><a href="#87">87</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertSame</span><span class="keyword">(</span><span class="default">(string)</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">getBody</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$compare</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 88" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testCreate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="88"></a><a href="#88">88</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="89"></a><a href="#89">89</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="90"></a><a href="#90">90</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testUpdate</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="91"></a><a href="#91">91</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 92" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="92"></a><a href="#92">92</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">StatusController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="93"></a><a href="#93">93</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 94" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="94"></a><a href="#94">94</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$query</span><span class="default">&nbsp;&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'id=TEST&amp;'</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 95" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="95"></a><a href="#95">95</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$query</span><span class="default">&nbsp;</span><span class="default">.=</span><span class="default">&nbsp;</span><span class="default">'label_status=TEST&nbsp;AFTER&nbsp;UP'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="96"></a><a href="#96">96</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 97" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="97"></a><a href="#97">97</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$environment</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Environment</span><span class="default">::</span><span class="default">mock</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="98"></a><a href="#98">98</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 99" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="99"></a><a href="#99">99</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'REQUEST_METHOD'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'PUT'</span><span class="keyword">,</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 100" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="100"></a><a href="#100">100</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'QUERY_STRING'</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">$query</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="101"></a><a href="#101">101</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="102"></a><a href="#102">102</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="103"></a><a href="#103">103</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr><td><div align="right"><a name="104"></a><a href="#104">104</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr><td><div align="right"><a name="105"></a><a href="#105">105</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'NEW'</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 106" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="106"></a><a href="#106">106</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="107"></a><a href="#107">107</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 108" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="108"></a><a href="#108">108</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$request</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Request</span><span class="default">::</span><span class="default">createFromEnvironment</span><span class="keyword">(</span><span class="default">$environment</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 109" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="109"></a><a href="#109">109</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Response</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 110" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="110"></a><a href="#110">110</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">update</span><span class="keyword">(</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="111"></a><a href="#111">111</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="112"></a><a href="#112">112</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$compare</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'[[{&quot;id&quot;:&quot;TEST&quot;,&quot;label_status&quot;:&quot;TEST&nbsp;AFTER&nbsp;UP&quot;,'</span></td></tr>
+     <tr><td><div align="right"><a name="113"></a><a href="#113">113</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&quot;is_system&quot;:&quot;Y&quot;,&quot;is_folder_status&quot;:&quot;N&quot;,&quot;img_filename&quot;:null,'</span></td></tr>
+     <tr><td><div align="right"><a name="114"></a><a href="#114">114</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&quot;maarch_module&quot;:&quot;apps&quot;,&quot;can_be_searched&quot;:&quot;Y&quot;,'</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 115" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="115"></a><a href="#115">115</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'&quot;can_be_modified&quot;:&quot;Y&quot;}]]'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="116"></a><a href="#116">116</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 117" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="117"></a><a href="#117">117</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertSame</span><span class="keyword">(</span><span class="default">(string)</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">getBody</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$compare</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 118" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testUpdate&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="118"></a><a href="#118">118</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="119"></a><a href="#119">119</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="120"></a><a href="#120">120</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">public</span><span class="default">&nbsp;</span><span class="keyword">function</span><span class="default">&nbsp;</span><span class="default">testDelete</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr><td><div align="right"><a name="121"></a><a href="#121">121</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 122" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="122"></a><a href="#122">122</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$action</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core</span><span class="default">\</span><span class="default">Controllers</span><span class="default">\</span><span class="default">StatusController</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="123"></a><a href="#123">123</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 124" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="124"></a><a href="#124">124</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$environment</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Environment</span><span class="default">::</span><span class="default">mock</span><span class="keyword">(</span></td></tr>
+     <tr><td><div align="right"><a name="125"></a><a href="#125">125</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 126" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="126"></a><a href="#126">126</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'REQUEST_METHOD'</span><span class="default">&nbsp;</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'DELETE'</span><span class="keyword">,</span></td></tr>
+     <tr><td><div align="right"><a name="127"></a><a href="#127">127</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span></td></tr>
+     <tr><td><div align="right"><a name="128"></a><a href="#128">128</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="129"></a><a href="#129">129</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="130"></a><a href="#130">130</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$aArgs</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">[</span></td></tr>
+     <tr><td><div align="right"><a name="131"></a><a href="#131">131</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">'id'</span><span class="default">=&gt;</span><span class="default">&nbsp;</span><span class="default">'TEST'</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 132" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="132"></a><a href="#132">132</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="133"></a><a href="#133">133</a></div></td><td class="codeLine"></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 134" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="134"></a><a href="#134">134</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$request</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Request</span><span class="default">::</span><span class="default">createFromEnvironment</span><span class="keyword">(</span><span class="default">$environment</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 135" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="135"></a><a href="#135">135</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Slim</span><span class="default">\</span><span class="default">Http</span><span class="default">\</span><span class="default">Response</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 136" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="136"></a><a href="#136">136</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$response</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$action</span><span class="default">-&gt;</span><span class="default">delete</span><span class="keyword">(</span><span class="default">$request</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$response</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">$aArgs</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="137"></a><a href="#137">137</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 138" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="138"></a><a href="#138">138</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$this</span><span class="default">-&gt;</span><span class="default">assertSame</span><span class="keyword">(</span><span class="default">(string)</span><span class="default">$response</span><span class="default">-&gt;</span><span class="default">getBody</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">'[true]'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="covered-by-large-tests popin" data-title="1 test covers line 139" data-content="&lt;ul&gt;&lt;li class=&quot;covered-by-large-tests&quot;&gt;MaarchTest\StatusControllerTest::testDelete&lt;/li&gt;&lt;/ul&gt;" data-placement="bottom" data-html="true"><td><div align="right"><a name="139"></a><a href="#139">139</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="140"></a><a href="#140">140</a></div></td><td class="codeLine"><span class="keyword">}</span></td></tr>
+
+    </tbody>
+   </table>
+   <footer>
+    <hr/>
+    <h4>Legend</h4>
+    <p>
+     <span class="success"><strong>Executed</strong></span>
+     <span class="danger"><strong>Not Executed</strong></span>
+     <span class="warning"><strong>Dead Code</strong></span>
+    </p>
+    <p>
+     <small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 3.2.1</a> using <a href="http://php.net/" target="_top">PHP 7.0.16-4+deb.sury.org~xenial+1</a> and <a href="https://phpunit.de/">PHPUnit 5.1.3</a> at Tue Mar 14 18:22:56 CET 2017.</small>
+    </p>
+    <a title="Back to the top" id="toplink" href="#"><span class="glyphicon glyphicon-arrow-up"></span></a>
+   </footer>
+  </div>
+  <script src="../js/jquery.min.js" type="text/javascript"></script>
+  <script src="../js/bootstrap.min.js" type="text/javascript"></script>
+  <script src="../js/holder.min.js" type="text/javascript"></script>
+  <script type="text/javascript">
+  $(function() {
+   var $window   = $(window)
+     , $top_link = $('#toplink')
+     , $body     = $('body, html')
+     , offset    = $('#code').offset().top;
+
+   $top_link.hide().click(function(event) {
+    event.preventDefault();
+    $body.animate({scrollTop:0}, 800);
+   });
+
+   $window.scroll(function() {
+    if($window.scrollTop() > offset) {
+     $top_link.fadeIn();
+    } else {
+     $top_link.fadeOut();
+    }
+   }).scroll();
+
+   $('.popin').popover({trigger: 'hover'});
+  });
+  </script>
+ </body>
+</html>
diff --git a/core/Test/build/Test/dashboard.html b/core/Test/build/Test/dashboard.html
new file mode 100644
index 0000000000000000000000000000000000000000..409570a01969fc1095a7a8f7a634923b4d2a36e6
--- /dev/null
+++ b/core/Test/build/Test/dashboard.html
@@ -0,0 +1,287 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+  <meta charset="UTF-8">
+  <title>Dashboard for /var/www/html/MaarchCourrier/core/Test</title>
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <link href="../css/bootstrap.min.css" rel="stylesheet">
+  <link href="../css/nv.d3.min.css" rel="stylesheet">
+  <link href="../css/style.css" rel="stylesheet">
+  <!--[if lt IE 9]>
+  <script src="../js/html5shiv.min.js"></script>
+  <script src="../js/respond.min.js"></script>
+  <![endif]-->
+ </head>
+ <body>
+  <header>
+   <div class="container">
+    <div class="row">
+     <div class="col-md-12">
+      <ol class="breadcrumb">
+        <li><a href="../index.html">/var/www/html/MaarchCourrier/core</a></li>
+        <li><a href="index.html">Test</a></li>
+        <li class="active">(Dashboard)</li>
+
+      </ol>
+     </div>
+    </div>
+   </div>
+  </header>
+  <div class="container">
+   <div class="row">
+    <div class="col-md-12">
+     <h2>Classes</h2>
+    </div>
+   </div>
+   <div class="row">
+    <div class="col-md-6">
+     <h3>Coverage Distribution</h3>
+     <div id="classCoverageDistribution" style="height: 300px;">
+       <svg></svg>
+     </div>
+    </div>
+    <div class="col-md-6">
+     <h3>Complexity</h3>
+     <div id="classComplexity" style="height: 300px;">
+       <svg></svg>
+     </div>
+    </div>
+   </div>
+   <div class="row">
+    <div class="col-md-6">
+     <h3>Insufficient Coverage</h3>
+     <div class="scrollbox">
+      <table class="table">
+       <thead>
+        <tr>
+         <th>Class</th>
+         <th class="text-right">Coverage</th>
+        </tr>
+       </thead>
+       <tbody>
+
+       </tbody>
+      </table>
+     </div>
+    </div>
+    <div class="col-md-6">
+     <h3>Project Risks</h3>
+     <div class="scrollbox">
+      <table class="table">
+       <thead>
+        <tr>
+         <th>Class</th>
+         <th class="text-right"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></th>
+        </tr>
+       </thead>
+       <tbody>
+
+       </tbody>
+      </table>
+     </div>
+    </div>
+   </div>
+   <div class="row">
+    <div class="col-md-12">
+     <h2>Methods</h2>
+    </div>
+   </div>
+   <div class="row">
+    <div class="col-md-6">
+     <h3>Coverage Distribution</h3>
+     <div id="methodCoverageDistribution" style="height: 300px;">
+       <svg></svg>
+     </div>
+    </div>
+    <div class="col-md-6">
+     <h3>Complexity</h3>
+     <div id="methodComplexity" style="height: 300px;">
+       <svg></svg>
+     </div>
+    </div>
+   </div>
+   <div class="row">
+    <div class="col-md-6">
+     <h3>Insufficient Coverage</h3>
+     <div class="scrollbox">
+      <table class="table">
+       <thead>
+        <tr>
+         <th>Method</th>
+         <th class="text-right">Coverage</th>
+        </tr>
+       </thead>
+       <tbody>
+
+       </tbody>
+      </table>
+     </div>
+    </div>
+    <div class="col-md-6">
+     <h3>Project Risks</h3>
+     <div class="scrollbox">
+      <table class="table">
+       <thead>
+        <tr>
+         <th>Method</th>
+         <th class="text-right"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></th>
+        </tr>
+       </thead>
+       <tbody>
+
+       </tbody>
+      </table>
+     </div>
+    </div>
+   </div>
+   <footer>
+    <hr/>
+    <p>
+     <small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 3.2.1</a> using <a href="http://php.net/" target="_top">PHP 7.0.16-4+deb.sury.org~xenial+1</a> and <a href="https://phpunit.de/">PHPUnit 5.1.3</a> at Tue Mar 14 18:22:56 CET 2017.</small>
+    </p>
+   </footer>
+  </div>
+  <script src="../js/jquery.min.js" type="text/javascript"></script>
+  <script src="../js/bootstrap.min.js" type="text/javascript"></script>
+  <script src="../js/holder.min.js" type="text/javascript"></script>
+  <script src="../js/d3.min.js" type="text/javascript"></script>
+  <script src="../js/nv.d3.min.js" type="text/javascript"></script>
+  <script type="text/javascript">
+$(document).ready(function() {
+  nv.addGraph(function() {
+    var chart = nv.models.multiBarChart();
+    chart.tooltips(false)
+      .showControls(false)
+      .showLegend(false)
+      .reduceXTicks(false)
+      .staggerLabels(true)
+      .yAxis.tickFormat(d3.format('d'));
+
+    d3.select('#classCoverageDistribution svg')
+      .datum(getCoverageDistributionData([0,0,0,0,0,0,0,0,0,0,4,2], "Class Coverage"))
+      .transition().duration(500).call(chart);
+
+    nv.utils.windowResize(chart.update);
+
+    return chart;
+  });
+
+  nv.addGraph(function() {
+    var chart = nv.models.multiBarChart();
+    chart.tooltips(false)
+      .showControls(false)
+      .showLegend(false)
+      .reduceXTicks(false)
+      .staggerLabels(true)
+      .yAxis.tickFormat(d3.format('d'));
+
+    d3.select('#methodCoverageDistribution svg')
+      .datum(getCoverageDistributionData([0,0,0,0,0,0,0,0,0,1,6,23], "Method Coverage"))
+      .transition().duration(500).call(chart);
+
+    nv.utils.windowResize(chart.update);
+
+    return chart;
+  });
+
+  function getCoverageDistributionData(data, label) {
+    var labels = [
+      '0%',
+      '0-10%',
+      '10-20%',
+      '20-30%',
+      '30-40%',
+      '40-50%',
+      '50-60%',
+      '60-70%',
+      '70-80%',
+      '80-90%',
+      '90-100%',
+      '100%'
+    ];
+    var values = [];
+    $.each(labels, function(key) {
+      values.push({x: labels[key], y: data[key]});
+    });
+
+    return [
+      {
+        key: label,
+        values: values,
+        color: "#4572A7"
+      }
+    ];
+  }
+  nv.addGraph(function() {
+    var chart = nv.models.scatterChart()
+      .showDistX(true)
+      .showDistY(true)
+      .showLegend(false)
+      .forceX([0, 100]);
+    chart.tooltipContent(function(key, y, e, graph) {
+      return '<p>' + graph.point.class + '</p>';
+    });
+
+    chart.xAxis.axisLabel('Code Coverage (in percent)');
+    chart.yAxis.axisLabel('Cyclomatic Complexity');
+
+    d3.select('#classComplexity svg')
+      .datum(getComplexityData([[97.777777777778,6,"<a href=\"DocserverControllerTest.php.html#14\">DocserverControllerTest<\/a>"],[93.44262295082,10,"<a href=\"DocserverToolsControllerTest.php.html#14\">DocserverToolsControllerTest<\/a>"],[100,2,"<a href=\"DocserverTypeControllerTest.php.html#14\">DocserverTypeControllerTest<\/a>"],[98.876404494382,7,"<a href=\"ResControllerTest.php.html#14\">ResControllerTest<\/a>"],[99.259259259259,8,"<a href=\"ResExtControllerTest.php.html#14\">ResExtControllerTest<\/a>"],[100,5,"<a href=\"StatusControllerTest.php.html#14\">StatusControllerTest<\/a>"]], 'Class Complexity'))
+      .transition()
+      .duration(500)
+      .call(chart);
+
+    nv.utils.windowResize(chart.update);
+
+    return chart;
+  });
+
+  nv.addGraph(function() {
+    var chart = nv.models.scatterChart()
+      .showDistX(true)
+      .showDistY(true)
+      .showLegend(false)
+      .forceX([0, 100]);
+    chart.tooltipContent(function(key, y, e, graph) {
+      return '<p>' + graph.point.class + '</p>';
+    });
+
+    chart.xAxis.axisLabel('Code Coverage (in percent)');
+    chart.yAxis.axisLabel('Method Complexity');
+
+    d3.select('#methodComplexity svg')
+      .datum(getComplexityData([[100,1,"<a href=\"DocserverControllerTest.php.html#141\">DocserverControllerTest::testGetDocserverToInsert<\/a>"],[100,1,"<a href=\"DocserverControllerTest.php.html#157\">DocserverControllerTest::testCheckSize<\/a>"],[100,1,"<a href=\"DocserverControllerTest.php.html#177\">DocserverControllerTest::testSetSize<\/a>"],[100,1,"<a href=\"DocserverControllerTest.php.html#197\">DocserverControllerTest::testGetNextFileNameInDocserver<\/a>"],[94.117647058824,2,"<a href=\"DocserverControllerTest.php.html#210\">DocserverControllerTest::testStoreResourceOnDocserver<\/a>"],[100,1,"<a href=\"DocserverToolsControllerTest.php.html#16\">DocserverToolsControllerTest::testSetRights<\/a>"],[92.307692307692,2,"<a href=\"DocserverToolsControllerTest.php.html#29\">DocserverToolsControllerTest::testDoFingerprint<\/a>"],[92.857142857143,2,"<a href=\"DocserverToolsControllerTest.php.html#56\">DocserverToolsControllerTest::testControlFingerprint<\/a>"],[93.75,2,"<a href=\"DocserverToolsControllerTest.php.html#83\">DocserverToolsControllerTest::testCopyOnDocserver<\/a>"],[87.5,2,"<a href=\"DocserverToolsControllerTest.php.html#112\">DocserverToolsControllerTest::testWashTmp<\/a>"],[100,1,"<a href=\"DocserverToolsControllerTest.php.html#132\">DocserverToolsControllerTest::testCreatePathOnDocServer<\/a>"],[100,1,"<a href=\"DocserverTypeControllerTest.php.html#16\">DocserverTypeControllerTest::testGetList<\/a>"],[100,1,"<a href=\"DocserverTypeControllerTest.php.html#35\">DocserverTypeControllerTest::testGetById<\/a>"],[100,1,"<a href=\"ResControllerTest.php.html#17\">ResControllerTest::testPrepareStorage<\/a>"],[100,2,"<a href=\"ResControllerTest.php.html#53\">ResControllerTest::testStoreResource<\/a>"],[100,1,"<a href=\"ResControllerTest.php.html#124\">ResControllerTest::testDelete<\/a>"],[96.875,2,"<a href=\"ResControllerTest.php.html#147\">ResControllerTest::testCreate<\/a>"],[100,1,"<a href=\"ResControllerTest.php.html#232\">ResControllerTest::testDeleteRes<\/a>"],[100,1,"<a href=\"ResExtControllerTest.php.html#16\">ResExtControllerTest::testCreate<\/a>"],[100,1,"<a href=\"ResExtControllerTest.php.html#118\">ResExtControllerTest::testDelete<\/a>"],[100,1,"<a href=\"ResExtControllerTest.php.html#141\">ResExtControllerTest::testPrepareStorageExt<\/a>"],[100,1,"<a href=\"ResExtControllerTest.php.html#230\">ResExtControllerTest::testStoreExtResource<\/a>"],[100,1,"<a href=\"ResExtControllerTest.php.html#324\">ResExtControllerTest::testDeleteExtRes<\/a>"],[96.296296296296,2,"<a href=\"ResExtControllerTest.php.html#339\">ResExtControllerTest::createResArtefact<\/a>"],[100,1,"<a href=\"ResExtControllerTest.php.html#410\">ResExtControllerTest::deleteResArtefact<\/a>"],[100,1,"<a href=\"StatusControllerTest.php.html#16\">StatusControllerTest::testGetList<\/a>"],[100,1,"<a href=\"StatusControllerTest.php.html#35\">StatusControllerTest::testGetById<\/a>"],[100,1,"<a href=\"StatusControllerTest.php.html#60\">StatusControllerTest::testCreate<\/a>"],[100,1,"<a href=\"StatusControllerTest.php.html#90\">StatusControllerTest::testUpdate<\/a>"],[100,1,"<a href=\"StatusControllerTest.php.html#120\">StatusControllerTest::testDelete<\/a>"]], 'Method Complexity'))
+      .transition()
+      .duration(500)
+      .call(chart);
+
+    nv.utils.windowResize(chart.update);
+
+    return chart;
+  });
+
+  function getComplexityData(data, label) {
+    var values = [];
+    $.each(data, function(key) {
+      var value = Math.round(data[key][0]*100) / 100;
+      values.push({
+        x: value,
+        y: data[key][1],
+        class: data[key][2],
+        size: 0.05,
+        shape: 'diamond'
+      });
+    });
+
+    return [
+      {
+        key: label,
+        values: values,
+        color: "#4572A7"
+      }
+    ];
+  }
+});
+  </script>
+ </body>
+</html>
diff --git a/core/Test/build/Test/define.php.html b/core/Test/build/Test/define.php.html
new file mode 100644
index 0000000000000000000000000000000000000000..2c5d76604141229d82e8a473a23367add9c5987e
--- /dev/null
+++ b/core/Test/build/Test/define.php.html
@@ -0,0 +1,195 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+  <meta charset="UTF-8">
+  <title>Code Coverage for /var/www/html/MaarchCourrier/core/Test/define.php</title>
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <link href="../css/bootstrap.min.css" rel="stylesheet">
+  <link href="../css/style.css" rel="stylesheet">
+  <!--[if lt IE 9]>
+  <script src="../js/html5shiv.min.js"></script>
+  <script src="../js/respond.min.js"></script>
+  <![endif]-->
+ </head>
+ <body>
+  <header>
+   <div class="container">
+    <div class="row">
+     <div class="col-md-12">
+      <ol class="breadcrumb">
+        <li><a href="../index.html">/var/www/html/MaarchCourrier/core</a></li>
+        <li><a href="index.html">Test</a></li>
+        <li class="active">define.php</li>
+
+      </ol>
+     </div>
+    </div>
+   </div>
+  </header>
+  <div class="container">
+   <table class="table table-bordered">
+    <thead>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td>
+     </tr>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td>
+      <td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td>
+      <td colspan="3"><div align="center"><strong>Lines</strong></div></td>
+     </tr>
+    </thead>
+    <tbody>
+     <tr>
+      <td class="success">Total</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right"></div></td>
+      <td class="success small"><div align="right">0&nbsp;/&nbsp;0</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">0&nbsp;/&nbsp;0</div></td>
+      <td class="success small"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;51</div></td>
+     </tr>
+
+
+    </tbody>
+   </table>
+   <table id="code" class="table table-borderless table-condensed">
+    <tbody>
+     <tr><td><div align="right"><a name="1"></a><a href="#1">1</a></div></td><td class="codeLine"><span class="default">&lt;?php</span></td></tr>
+     <tr><td><div align="right"><a name="2"></a><a href="#2">2</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="3"></a><a href="#3">3</a></div></td><td class="codeLine"><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="4"></a><a href="#4">4</a></div></td><td class="codeLine"><span class="comment">*&nbsp;Copyright&nbsp;Maarch&nbsp;since&nbsp;2008&nbsp;under&nbsp;licence&nbsp;GPLv3.</span></td></tr>
+     <tr><td><div align="right"><a name="5"></a><a href="#5">5</a></div></td><td class="codeLine"><span class="comment">*&nbsp;See&nbsp;LICENCE.txt&nbsp;file&nbsp;at&nbsp;the&nbsp;root&nbsp;folder&nbsp;for&nbsp;more&nbsp;details.</span></td></tr>
+     <tr><td><div align="right"><a name="6"></a><a href="#6">6</a></div></td><td class="codeLine"><span class="comment">*&nbsp;This&nbsp;file&nbsp;is&nbsp;part&nbsp;of&nbsp;Maarch&nbsp;software.</span></td></tr>
+     <tr><td><div align="right"><a name="7"></a><a href="#7">7</a></div></td><td class="codeLine"><span class="comment">*</span></td></tr>
+     <tr><td><div align="right"><a name="8"></a><a href="#8">8</a></div></td><td class="codeLine"><span class="comment">*/</span></td></tr>
+     <tr><td><div align="right"><a name="9"></a><a href="#9">9</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="10"></a><a href="#10">10</a></div></td><td class="codeLine"><span class="keyword">require_once</span><span class="default">&nbsp;</span><span class="default">'vendor/autoload.php'</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="11"></a><a href="#11">11</a></div></td><td class="codeLine"><span class="keyword">require_once</span><span class="default">&nbsp;</span><span class="default">'core/class/class_functions.php'</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="12"></a><a href="#12">12</a></div></td><td class="codeLine"><span class="keyword">include_once</span><span class="keyword">(</span><span class="default">'core/init.php'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="13"></a><a href="#13">13</a></div></td><td class="codeLine"><span class="keyword">require_once</span><span class="keyword">(</span><span class="default">'core/class/class_portal.php'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="14"></a><a href="#14">14</a></div></td><td class="codeLine"><span class="keyword">require_once</span><span class="keyword">(</span><span class="default">'core/class/class_db.php'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="15"></a><a href="#15">15</a></div></td><td class="codeLine"><span class="keyword">require_once</span><span class="keyword">(</span><span class="default">'core/class/class_request.php'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="16"></a><a href="#16">16</a></div></td><td class="codeLine"><span class="keyword">require_once</span><span class="keyword">(</span><span class="default">'core/class/class_core_tools.php'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="17"></a><a href="#17">17</a></div></td><td class="codeLine"><span class="keyword">require_once</span><span class="keyword">(</span><span class="default">'core/class/web_service/class_web_service.php'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="18"></a><a href="#18">18</a></div></td><td class="codeLine"><span class="keyword">require_once</span><span class="keyword">(</span><span class="default">'core/services/CoreConfig.php'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="19"></a><a href="#19">19</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="20"></a><a href="#20">20</a></div></td><td class="codeLine"><span class="comment">//for&nbsp;auth</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="21"></a><a href="#21">21</a></div></td><td class="codeLine"><span class="default">$_SERVER</span><span class="keyword">[</span><span class="default">'PHP_AUTH_USER'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'superadmin'</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="22"></a><a href="#22">22</a></div></td><td class="codeLine"><span class="default">$_SERVER</span><span class="keyword">[</span><span class="default">'PHP_AUTH_PW'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'superadmin'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="23"></a><a href="#23">23</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="24"></a><a href="#24">24</a></div></td><td class="codeLine"><span class="comment">//load&nbsp;Maarch&nbsp;session&nbsp;vars</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="25"></a><a href="#25">25</a></div></td><td class="codeLine"><span class="default">$portal</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">portal</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="26"></a><a href="#26">26</a></div></td><td class="codeLine"><span class="default">$portal</span><span class="default">-&gt;</span><span class="default">unset_session</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="27"></a><a href="#27">27</a></div></td><td class="codeLine"><span class="default">$portal</span><span class="default">-&gt;</span><span class="default">build_config</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="28"></a><a href="#28">28</a></div></td><td class="codeLine"><span class="default">$coreTools</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">core_tools</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="29"></a><a href="#29">29</a></div></td><td class="codeLine"><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'custom_override_id'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$coreTools</span><span class="default">-&gt;</span><span class="default">get_custom_id</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="30"></a><a href="#30">30</a></div></td><td class="codeLine"><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">isset</span><span class="keyword">(</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'custom_override_id'</span><span class="keyword">]</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="31"></a><a href="#31">31</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&amp;&amp;</span><span class="default">&nbsp;</span><span class="keyword">!</span><span class="default">&nbsp;</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'custom_override_id'</span><span class="keyword">]</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="32"></a><a href="#32">32</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&amp;&amp;</span><span class="default">&nbsp;</span><span class="keyword">isset</span><span class="keyword">(</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'config'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'corepath'</span><span class="keyword">]</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="33"></a><a href="#33">33</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&amp;&amp;</span><span class="default">&nbsp;</span><span class="keyword">!</span><span class="default">&nbsp;</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'config'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'corepath'</span><span class="keyword">]</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="34"></a><a href="#34">34</a></div></td><td class="codeLine"><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="35"></a><a href="#35">35</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'config'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'corepath'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'custom'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">DIRECTORY_SEPARATOR</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="36"></a><a href="#36">36</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'custom_override_id'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">DIRECTORY_SEPARATOR</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="37"></a><a href="#37">37</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">set_include_path</span><span class="keyword">(</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="38"></a><a href="#38">38</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">PATH_SEPARATOR</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'config'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'corepath'</span><span class="keyword">]</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="39"></a><a href="#39">39</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">PATH_SEPARATOR</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">get_include_path</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="40"></a><a href="#40">40</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="41"></a><a href="#41">41</a></div></td><td class="codeLine"><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">isset</span><span class="keyword">(</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'config'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'corepath'</span><span class="keyword">]</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="42"></a><a href="#42">42</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&amp;&amp;</span><span class="default">&nbsp;</span><span class="keyword">!</span><span class="default">&nbsp;</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'config'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'corepath'</span><span class="keyword">]</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="43"></a><a href="#43">43</a></div></td><td class="codeLine"><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="44"></a><a href="#44">44</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">set_include_path</span><span class="keyword">(</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="45"></a><a href="#45">45</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'config'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'corepath'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">PATH_SEPARATOR</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">get_include_path</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="46"></a><a href="#46">46</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="47"></a><a href="#47">47</a></div></td><td class="codeLine"><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="48"></a><a href="#48">48</a></div></td><td class="codeLine"><span class="comment">//&nbsp;Load&nbsp;configuration&nbsp;from&nbsp;xml&nbsp;into&nbsp;session</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="49"></a><a href="#49">49</a></div></td><td class="codeLine"><span class="default">Core_CoreConfig_Service</span><span class="default">::</span><span class="default">buildCoreConfig</span><span class="keyword">(</span><span class="default">'core'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">DIRECTORY_SEPARATOR</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'xml'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">DIRECTORY_SEPARATOR</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'config.xml'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="50"></a><a href="#50">50</a></div></td><td class="codeLine"><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'config'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'app_id'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'businessapps'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'appid'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="51"></a><a href="#51">51</a></div></td><td class="codeLine"><span class="keyword">require_once</span><span class="default">&nbsp;</span><span class="default">'apps/'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'businessapps'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'appid'</span><span class="keyword">]</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'/class/class_business_app_tools.php'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="52"></a><a href="#52">52</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="53"></a><a href="#53">53</a></div></td><td class="codeLine"><span class="default">Core_CoreConfig_Service</span><span class="default">::</span><span class="default">buildBusinessAppConfig</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="54"></a><a href="#54">54</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="55"></a><a href="#55">55</a></div></td><td class="codeLine"><span class="comment">//&nbsp;Load&nbsp;Modules&nbsp;configuration&nbsp;from&nbsp;xml&nbsp;into&nbsp;session</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="56"></a><a href="#56">56</a></div></td><td class="codeLine"><span class="default">Core_CoreConfig_Service</span><span class="default">::</span><span class="default">loadModulesConfig</span><span class="keyword">(</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'modules'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="57"></a><a href="#57">57</a></div></td><td class="codeLine"><span class="default">Core_CoreConfig_Service</span><span class="default">::</span><span class="default">loadAppServices</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="58"></a><a href="#58">58</a></div></td><td class="codeLine"><span class="default">Core_CoreConfig_Service</span><span class="default">::</span><span class="default">loadModulesServices</span><span class="keyword">(</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'modules'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="59"></a><a href="#59">59</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="60"></a><a href="#60">60</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="61"></a><a href="#61">61</a></div></td><td class="codeLine"><span class="comment">//login&nbsp;management</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="62"></a><a href="#62">62</a></div></td><td class="codeLine"><span class="keyword">require_once</span><span class="keyword">(</span><span class="default">'apps/maarch_entreprise/class/class_login.php'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="63"></a><a href="#63">63</a></div></td><td class="codeLine"><span class="default">$loginObj</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">login</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="64"></a><a href="#64">64</a></div></td><td class="codeLine"><span class="default">$loginMethods</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$loginObj</span><span class="default">-&gt;</span><span class="default">build_login_method</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="65"></a><a href="#65">65</a></div></td><td class="codeLine"><span class="keyword">require_once</span><span class="keyword">(</span><span class="default">'core/services/Session.php'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="66"></a><a href="#66">66</a></div></td><td class="codeLine"><span class="default">$oSessionService</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core_Session_Service</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="67"></a><a href="#67">67</a></div></td><td class="codeLine"><span class="default">$loginObj</span><span class="default">-&gt;</span><span class="default">execute_login_script</span><span class="keyword">(</span><span class="default">$loginMethods</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">true</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="68"></a><a href="#68">68</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="69"></a><a href="#69">69</a></div></td><td class="codeLine"><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'error'</span><span class="keyword">]</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="70"></a><a href="#70">70</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//TODO&nbsp;:&nbsp;return&nbsp;http&nbsp;bad&nbsp;authent&nbsp;error</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="71"></a><a href="#71">71</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">echo</span><span class="default">&nbsp;</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'error'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="72"></a><a href="#72">72</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">exit</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="73"></a><a href="#73">73</a></div></td><td class="codeLine"><span class="keyword">}</span></td></tr>
+
+    </tbody>
+   </table>
+   <footer>
+    <hr/>
+    <h4>Legend</h4>
+    <p>
+     <span class="success"><strong>Executed</strong></span>
+     <span class="danger"><strong>Not Executed</strong></span>
+     <span class="warning"><strong>Dead Code</strong></span>
+    </p>
+    <p>
+     <small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 3.2.1</a> using <a href="http://php.net/" target="_top">PHP 7.0.16-4+deb.sury.org~xenial+1</a> and <a href="https://phpunit.de/">PHPUnit 5.1.3</a> at Tue Mar 14 18:22:56 CET 2017.</small>
+    </p>
+    <a title="Back to the top" id="toplink" href="#"><span class="glyphicon glyphicon-arrow-up"></span></a>
+   </footer>
+  </div>
+  <script src="../js/jquery.min.js" type="text/javascript"></script>
+  <script src="../js/bootstrap.min.js" type="text/javascript"></script>
+  <script src="../js/holder.min.js" type="text/javascript"></script>
+  <script type="text/javascript">
+  $(function() {
+   var $window   = $(window)
+     , $top_link = $('#toplink')
+     , $body     = $('body, html')
+     , offset    = $('#code').offset().top;
+
+   $top_link.hide().click(function(event) {
+    event.preventDefault();
+    $body.animate({scrollTop:0}, 800);
+   });
+
+   $window.scroll(function() {
+    if($window.scrollTop() > offset) {
+     $top_link.fadeIn();
+    } else {
+     $top_link.fadeOut();
+    }
+   }).scroll();
+
+   $('.popin').popover({trigger: 'hover'});
+  });
+  </script>
+ </body>
+</html>
diff --git a/core/Test/build/Test/index.html b/core/Test/build/Test/index.html
new file mode 100644
index 0000000000000000000000000000000000000000..d6555dce6231154e07d0448f2f2c72f0e7cdf733
--- /dev/null
+++ b/core/Test/build/Test/index.html
@@ -0,0 +1,288 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+  <meta charset="UTF-8">
+  <title>Code Coverage for /var/www/html/MaarchCourrier/core/Test</title>
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <link href="../css/bootstrap.min.css" rel="stylesheet">
+  <link href="../css/style.css" rel="stylesheet">
+  <!--[if lt IE 9]>
+  <script src="../js/html5shiv.min.js"></script>
+  <script src="../js/respond.min.js"></script>
+  <![endif]-->
+ </head>
+ <body>
+  <header>
+   <div class="container">
+    <div class="row">
+     <div class="col-md-12">
+      <ol class="breadcrumb">
+        <li><a href="../index.html">/var/www/html/MaarchCourrier/core</a></li>
+        <li class="active">Test</li>
+        <li>(<a href="dashboard.html">Dashboard</a>)</li>
+
+      </ol>
+     </div>
+    </div>
+   </div>
+  </header>
+  <div class="container">
+   <table class="table table-bordered">
+    <thead>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="9"><div align="center"><strong>Code Coverage</strong></div></td>
+     </tr>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="3"><div align="center"><strong>Lines</strong></div></td>
+      <td colspan="3"><div align="center"><strong>Functions and Methods</strong></div></td>
+      <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td>
+     </tr>
+    </thead>
+    <tbody>
+     <tr>
+      <td class="success">Total</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="87.17" aria-valuemin="0" aria-valuemax="100" style="width: 87.17%">
+           <span class="sr-only">87.17% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">87.17%</div></td>
+      <td class="success small"><div align="right">394&nbsp;/&nbsp;452</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="76.67" aria-valuemin="0" aria-valuemax="100" style="width: 76.67%">
+           <span class="sr-only">76.67% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">76.67%</div></td>
+      <td class="success small"><div align="right">23&nbsp;/&nbsp;30</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="33.33" aria-valuemin="0" aria-valuemax="100" style="width: 33.33%">
+           <span class="sr-only">33.33% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">33.33%</div></td>
+      <td class="danger small"><div align="right">2&nbsp;/&nbsp;6</div></td>
+     </tr>
+
+     <tr>
+      <td class="success"><span class="glyphicon glyphicon-file"></span> <a href="DocserverControllerTest.php.html">DocserverControllerTest.php</a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="97.78" aria-valuemin="0" aria-valuemax="100" style="width: 97.78%">
+           <span class="sr-only">97.78% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">97.78%</div></td>
+      <td class="success small"><div align="right">44&nbsp;/&nbsp;45</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="80.00" aria-valuemin="0" aria-valuemax="100" style="width: 80.00%">
+           <span class="sr-only">80.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">80.00%</div></td>
+      <td class="success small"><div align="right">4&nbsp;/&nbsp;5</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+     </tr>
+
+     <tr>
+      <td class="success"><span class="glyphicon glyphicon-file"></span> <a href="DocserverToolsControllerTest.php.html">DocserverToolsControllerTest.php</a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="93.44" aria-valuemin="0" aria-valuemax="100" style="width: 93.44%">
+           <span class="sr-only">93.44% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">93.44%</div></td>
+      <td class="success small"><div align="right">57&nbsp;/&nbsp;61</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="33.33" aria-valuemin="0" aria-valuemax="100" style="width: 33.33%">
+           <span class="sr-only">33.33% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">33.33%</div></td>
+      <td class="danger small"><div align="right">2&nbsp;/&nbsp;6</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+     </tr>
+
+     <tr>
+      <td class="success"><span class="glyphicon glyphicon-file"></span> <a href="DocserverTypeControllerTest.php.html">DocserverTypeControllerTest.php</a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">18&nbsp;/&nbsp;18</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">2&nbsp;/&nbsp;2</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+     </tr>
+
+     <tr>
+      <td class="success"><span class="glyphicon glyphicon-file"></span> <a href="ResControllerTest.php.html">ResControllerTest.php</a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="98.88" aria-valuemin="0" aria-valuemax="100" style="width: 98.88%">
+           <span class="sr-only">98.88% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">98.88%</div></td>
+      <td class="success small"><div align="right">88&nbsp;/&nbsp;89</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="80.00" aria-valuemin="0" aria-valuemax="100" style="width: 80.00%">
+           <span class="sr-only">80.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">80.00%</div></td>
+      <td class="success small"><div align="right">4&nbsp;/&nbsp;5</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+     </tr>
+
+     <tr>
+      <td class="success"><span class="glyphicon glyphicon-file"></span> <a href="ResExtControllerTest.php.html">ResExtControllerTest.php</a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="99.26" aria-valuemin="0" aria-valuemax="100" style="width: 99.26%">
+           <span class="sr-only">99.26% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">99.26%</div></td>
+      <td class="success small"><div align="right">134&nbsp;/&nbsp;135</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="85.71" aria-valuemin="0" aria-valuemax="100" style="width: 85.71%">
+           <span class="sr-only">85.71% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">85.71%</div></td>
+      <td class="success small"><div align="right">6&nbsp;/&nbsp;7</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+     </tr>
+
+     <tr>
+      <td class="success"><span class="glyphicon glyphicon-file"></span> <a href="StatusControllerTest.php.html">StatusControllerTest.php</a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">53&nbsp;/&nbsp;53</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">5&nbsp;/&nbsp;5</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger"><span class="glyphicon glyphicon-file"></span> <a href="define.php.html">define.php</a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;51</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">0&nbsp;/&nbsp;0</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right"></div></td>
+      <td class="success small"><div align="right">0&nbsp;/&nbsp;0</div></td>
+     </tr>
+
+
+    </tbody>
+   </table>
+   <footer>
+    <hr/>
+    <h4>Legend</h4>
+    <p>
+     <span class="danger"><strong>Low</strong>: 0% to 35%</span>
+     <span class="warning"><strong>Medium</strong>: 35% to 70%</span>
+     <span class="success"><strong>High</strong>: 70% to 100%</span>
+    </p>
+    <p>
+     <small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 3.2.1</a> using <a href="http://php.net/" target="_top">PHP 7.0.16-4+deb.sury.org~xenial+1</a> and <a href="https://phpunit.de/">PHPUnit 5.1.3</a> at Tue Mar 14 18:22:56 CET 2017.</small>
+    </p>
+   </footer>
+  </div>
+  <script src="../js/jquery.min.js" type="text/javascript"></script>
+  <script src="../js/bootstrap.min.js" type="text/javascript"></script>
+  <script src="../js/holder.min.js" type="text/javascript"></script>
+ </body>
+</html>
diff --git a/core/Test/build/css/bootstrap.min.css b/core/Test/build/css/bootstrap.min.css
new file mode 100644
index 0000000000000000000000000000000000000000..d98e30bf088a5090f39df628f3648aab3df213a0
--- /dev/null
+++ b/core/Test/build/css/bootstrap.min.css
@@ -0,0 +1 @@
+/*!* Bootstrap v3.3.6(http://getbootstrap.com) * Copyright 2011-2015 Twitter,Inc. * Licensed under MIT(https://github.com/twbs/bootstrap/blob/master/LICENSE) */ /*!normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */ html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block;vertical-align:baseline}audio:not([controls]){display:none;height:0}[hidden],template{display:none}a{background-color:transparent}a:active,a:hover{outline:0}abbr[title]{border-bottom:1px dotted}b,strong{font-weight:bold}dfn{font-style:italic}h1{font-size:2em;margin:.67em 0}mark{background:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sup{top:-0.5em}sub{bottom:-0.25em}img{border:0}svg:not(:root){overflow:hidden}figure{margin:1em 40px}hr{box-sizing:content-box;height:0}pre{overflow:auto}code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em}button,input,optgroup,select,textarea{color:inherit;font:inherit;margin:0}button{overflow:visible}button,select{text-transform:none}button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}button[disabled],html input[disabled]{cursor:default}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}input{line-height:normal}input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto}input[type="search"]{-webkit-appearance:textfield;box-sizing:content-box}input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:.35em .625em .75em}legend{border:0;padding:0}textarea{overflow:auto}optgroup{font-weight:bold}table{border-collapse:collapse;border-spacing:0}td,th{padding:0}/*!Source:https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */ @media print{*,*:before,*:after{background:transparent!important;color:#000!important;box-shadow:none!important;text-shadow:none!important}a,a:visited{text-decoration:underline}a[href]:after{content:"(" attr(href) ")"}abbr[title]:after{content:"(" attr(title) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}pre,blockquote{border:1px solid #999;page-break-inside:avoid}thead{display:table-header-group}tr,img{page-break-inside:avoid}img{max-width:100%!important}p,h2,h3{orphans:3;widows:3}h2,h3{page-break-after:avoid}.navbar{display:none}.btn>.caret,.dropup>.btn>.caret{border-top-color:#000!important}.label{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered th,.table-bordered td{border:1px solid #ddd!important}}@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.glyphicon-asterisk:before{content:"\002a"}.glyphicon-plus:before{content:"\002b"}.glyphicon-euro:before,.glyphicon-eur:before{content:"\20ac"}.glyphicon-minus:before{content:"\2212"}.glyphicon-cloud:before{content:"\2601"}.glyphicon-envelope:before{content:"\2709"}.glyphicon-pencil:before{content:"\270f"}.glyphicon-glass:before{content:"\e001"}.glyphicon-music:before{content:"\e002"}.glyphicon-search:before{content:"\e003"}.glyphicon-heart:before{content:"\e005"}.glyphicon-star:before{content:"\e006"}.glyphicon-star-empty:before{content:"\e007"}.glyphicon-user:before{content:"\e008"}.glyphicon-film:before{content:"\e009"}.glyphicon-th-large:before{content:"\e010"}.glyphicon-th:before{content:"\e011"}.glyphicon-th-list:before{content:"\e012"}.glyphicon-ok:before{content:"\e013"}.glyphicon-remove:before{content:"\e014"}.glyphicon-zoom-in:before{content:"\e015"}.glyphicon-zoom-out:before{content:"\e016"}.glyphicon-off:before{content:"\e017"}.glyphicon-signal:before{content:"\e018"}.glyphicon-cog:before{content:"\e019"}.glyphicon-trash:before{content:"\e020"}.glyphicon-home:before{content:"\e021"}.glyphicon-file:before{content:"\e022"}.glyphicon-time:before{content:"\e023"}.glyphicon-road:before{content:"\e024"}.glyphicon-download-alt:before{content:"\e025"}.glyphicon-download:before{content:"\e026"}.glyphicon-upload:before{content:"\e027"}.glyphicon-inbox:before{content:"\e028"}.glyphicon-play-circle:before{content:"\e029"}.glyphicon-repeat:before{content:"\e030"}.glyphicon-refresh:before{content:"\e031"}.glyphicon-list-alt:before{content:"\e032"}.glyphicon-lock:before{content:"\e033"}.glyphicon-flag:before{content:"\e034"}.glyphicon-headphones:before{content:"\e035"}.glyphicon-volume-off:before{content:"\e036"}.glyphicon-volume-down:before{content:"\e037"}.glyphicon-volume-up:before{content:"\e038"}.glyphicon-qrcode:before{content:"\e039"}.glyphicon-barcode:before{content:"\e040"}.glyphicon-tag:before{content:"\e041"}.glyphicon-tags:before{content:"\e042"}.glyphicon-book:before{content:"\e043"}.glyphicon-bookmark:before{content:"\e044"}.glyphicon-print:before{content:"\e045"}.glyphicon-camera:before{content:"\e046"}.glyphicon-font:before{content:"\e047"}.glyphicon-bold:before{content:"\e048"}.glyphicon-italic:before{content:"\e049"}.glyphicon-text-height:before{content:"\e050"}.glyphicon-text-width:before{content:"\e051"}.glyphicon-align-left:before{content:"\e052"}.glyphicon-align-center:before{content:"\e053"}.glyphicon-align-right:before{content:"\e054"}.glyphicon-align-justify:before{content:"\e055"}.glyphicon-list:before{content:"\e056"}.glyphicon-indent-left:before{content:"\e057"}.glyphicon-indent-right:before{content:"\e058"}.glyphicon-facetime-video:before{content:"\e059"}.glyphicon-picture:before{content:"\e060"}.glyphicon-map-marker:before{content:"\e062"}.glyphicon-adjust:before{content:"\e063"}.glyphicon-tint:before{content:"\e064"}.glyphicon-edit:before{content:"\e065"}.glyphicon-share:before{content:"\e066"}.glyphicon-check:before{content:"\e067"}.glyphicon-move:before{content:"\e068"}.glyphicon-step-backward:before{content:"\e069"}.glyphicon-fast-backward:before{content:"\e070"}.glyphicon-backward:before{content:"\e071"}.glyphicon-play:before{content:"\e072"}.glyphicon-pause:before{content:"\e073"}.glyphicon-stop:before{content:"\e074"}.glyphicon-forward:before{content:"\e075"}.glyphicon-fast-forward:before{content:"\e076"}.glyphicon-step-forward:before{content:"\e077"}.glyphicon-eject:before{content:"\e078"}.glyphicon-chevron-left:before{content:"\e079"}.glyphicon-chevron-right:before{content:"\e080"}.glyphicon-plus-sign:before{content:"\e081"}.glyphicon-minus-sign:before{content:"\e082"}.glyphicon-remove-sign:before{content:"\e083"}.glyphicon-ok-sign:before{content:"\e084"}.glyphicon-question-sign:before{content:"\e085"}.glyphicon-info-sign:before{content:"\e086"}.glyphicon-screenshot:before{content:"\e087"}.glyphicon-remove-circle:before{content:"\e088"}.glyphicon-ok-circle:before{content:"\e089"}.glyphicon-ban-circle:before{content:"\e090"}.glyphicon-arrow-left:before{content:"\e091"}.glyphicon-arrow-right:before{content:"\e092"}.glyphicon-arrow-up:before{content:"\e093"}.glyphicon-arrow-down:before{content:"\e094"}.glyphicon-share-alt:before{content:"\e095"}.glyphicon-resize-full:before{content:"\e096"}.glyphicon-resize-small:before{content:"\e097"}.glyphicon-exclamation-sign:before{content:"\e101"}.glyphicon-gift:before{content:"\e102"}.glyphicon-leaf:before{content:"\e103"}.glyphicon-fire:before{content:"\e104"}.glyphicon-eye-open:before{content:"\e105"}.glyphicon-eye-close:before{content:"\e106"}.glyphicon-warning-sign:before{content:"\e107"}.glyphicon-plane:before{content:"\e108"}.glyphicon-calendar:before{content:"\e109"}.glyphicon-random:before{content:"\e110"}.glyphicon-comment:before{content:"\e111"}.glyphicon-magnet:before{content:"\e112"}.glyphicon-chevron-up:before{content:"\e113"}.glyphicon-chevron-down:before{content:"\e114"}.glyphicon-retweet:before{content:"\e115"}.glyphicon-shopping-cart:before{content:"\e116"}.glyphicon-folder-close:before{content:"\e117"}.glyphicon-folder-open:before{content:"\e118"}.glyphicon-resize-vertical:before{content:"\e119"}.glyphicon-resize-horizontal:before{content:"\e120"}.glyphicon-hdd:before{content:"\e121"}.glyphicon-bullhorn:before{content:"\e122"}.glyphicon-bell:before{content:"\e123"}.glyphicon-certificate:before{content:"\e124"}.glyphicon-thumbs-up:before{content:"\e125"}.glyphicon-thumbs-down:before{content:"\e126"}.glyphicon-hand-right:before{content:"\e127"}.glyphicon-hand-left:before{content:"\e128"}.glyphicon-hand-up:before{content:"\e129"}.glyphicon-hand-down:before{content:"\e130"}.glyphicon-circle-arrow-right:before{content:"\e131"}.glyphicon-circle-arrow-left:before{content:"\e132"}.glyphicon-circle-arrow-up:before{content:"\e133"}.glyphicon-circle-arrow-down:before{content:"\e134"}.glyphicon-globe:before{content:"\e135"}.glyphicon-wrench:before{content:"\e136"}.glyphicon-tasks:before{content:"\e137"}.glyphicon-filter:before{content:"\e138"}.glyphicon-briefcase:before{content:"\e139"}.glyphicon-fullscreen:before{content:"\e140"}.glyphicon-dashboard:before{content:"\e141"}.glyphicon-paperclip:before{content:"\e142"}.glyphicon-heart-empty:before{content:"\e143"}.glyphicon-link:before{content:"\e144"}.glyphicon-phone:before{content:"\e145"}.glyphicon-pushpin:before{content:"\e146"}.glyphicon-usd:before{content:"\e148"}.glyphicon-gbp:before{content:"\e149"}.glyphicon-sort:before{content:"\e150"}.glyphicon-sort-by-alphabet:before{content:"\e151"}.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}.glyphicon-sort-by-order:before{content:"\e153"}.glyphicon-sort-by-order-alt:before{content:"\e154"}.glyphicon-sort-by-attributes:before{content:"\e155"}.glyphicon-sort-by-attributes-alt:before{content:"\e156"}.glyphicon-unchecked:before{content:"\e157"}.glyphicon-expand:before{content:"\e158"}.glyphicon-collapse-down:before{content:"\e159"}.glyphicon-collapse-up:before{content:"\e160"}.glyphicon-log-in:before{content:"\e161"}.glyphicon-flash:before{content:"\e162"}.glyphicon-log-out:before{content:"\e163"}.glyphicon-new-window:before{content:"\e164"}.glyphicon-record:before{content:"\e165"}.glyphicon-save:before{content:"\e166"}.glyphicon-open:before{content:"\e167"}.glyphicon-saved:before{content:"\e168"}.glyphicon-import:before{content:"\e169"}.glyphicon-export:before{content:"\e170"}.glyphicon-send:before{content:"\e171"}.glyphicon-floppy-disk:before{content:"\e172"}.glyphicon-floppy-saved:before{content:"\e173"}.glyphicon-floppy-remove:before{content:"\e174"}.glyphicon-floppy-save:before{content:"\e175"}.glyphicon-floppy-open:before{content:"\e176"}.glyphicon-credit-card:before{content:"\e177"}.glyphicon-transfer:before{content:"\e178"}.glyphicon-cutlery:before{content:"\e179"}.glyphicon-header:before{content:"\e180"}.glyphicon-compressed:before{content:"\e181"}.glyphicon-earphone:before{content:"\e182"}.glyphicon-phone-alt:before{content:"\e183"}.glyphicon-tower:before{content:"\e184"}.glyphicon-stats:before{content:"\e185"}.glyphicon-sd-video:before{content:"\e186"}.glyphicon-hd-video:before{content:"\e187"}.glyphicon-subtitles:before{content:"\e188"}.glyphicon-sound-stereo:before{content:"\e189"}.glyphicon-sound-dolby:before{content:"\e190"}.glyphicon-sound-5-1:before{content:"\e191"}.glyphicon-sound-6-1:before{content:"\e192"}.glyphicon-sound-7-1:before{content:"\e193"}.glyphicon-copyright-mark:before{content:"\e194"}.glyphicon-registration-mark:before{content:"\e195"}.glyphicon-cloud-download:before{content:"\e197"}.glyphicon-cloud-upload:before{content:"\e198"}.glyphicon-tree-conifer:before{content:"\e199"}.glyphicon-tree-deciduous:before{content:"\e200"}.glyphicon-cd:before{content:"\e201"}.glyphicon-save-file:before{content:"\e202"}.glyphicon-open-file:before{content:"\e203"}.glyphicon-level-up:before{content:"\e204"}.glyphicon-copy:before{content:"\e205"}.glyphicon-paste:before{content:"\e206"}.glyphicon-alert:before{content:"\e209"}.glyphicon-equalizer:before{content:"\e210"}.glyphicon-king:before{content:"\e211"}.glyphicon-queen:before{content:"\e212"}.glyphicon-pawn:before{content:"\e213"}.glyphicon-bishop:before{content:"\e214"}.glyphicon-knight:before{content:"\e215"}.glyphicon-baby-formula:before{content:"\e216"}.glyphicon-tent:before{content:"\26fa"}.glyphicon-blackboard:before{content:"\e218"}.glyphicon-bed:before{content:"\e219"}.glyphicon-apple:before{content:"\f8ff"}.glyphicon-erase:before{content:"\e221"}.glyphicon-hourglass:before{content:"\231b"}.glyphicon-lamp:before{content:"\e223"}.glyphicon-duplicate:before{content:"\e224"}.glyphicon-piggy-bank:before{content:"\e225"}.glyphicon-scissors:before{content:"\e226"}.glyphicon-bitcoin:before{content:"\e227"}.glyphicon-btc:before{content:"\e227"}.glyphicon-xbt:before{content:"\e227"}.glyphicon-yen:before{content:"\00a5"}.glyphicon-jpy:before{content:"\00a5"}.glyphicon-ruble:before{content:"\20bd"}.glyphicon-rub:before{content:"\20bd"}.glyphicon-scale:before{content:"\e230"}.glyphicon-ice-lolly:before{content:"\e231"}.glyphicon-ice-lolly-tasted:before{content:"\e232"}.glyphicon-education:before{content:"\e233"}.glyphicon-option-horizontal:before{content:"\e234"}.glyphicon-option-vertical:before{content:"\e235"}.glyphicon-menu-hamburger:before{content:"\e236"}.glyphicon-modal-window:before{content:"\e237"}.glyphicon-oil:before{content:"\e238"}.glyphicon-grain:before{content:"\e239"}.glyphicon-sunglasses:before{content:"\e240"}.glyphicon-text-size:before{content:"\e241"}.glyphicon-text-color:before{content:"\e242"}.glyphicon-text-background:before{content:"\e243"}.glyphicon-object-align-top:before{content:"\e244"}.glyphicon-object-align-bottom:before{content:"\e245"}.glyphicon-object-align-horizontal:before{content:"\e246"}.glyphicon-object-align-left:before{content:"\e247"}.glyphicon-object-align-vertical:before{content:"\e248"}.glyphicon-object-align-right:before{content:"\e249"}.glyphicon-triangle-right:before{content:"\e250"}.glyphicon-triangle-left:before{content:"\e251"}.glyphicon-triangle-bottom:before{content:"\e252"}.glyphicon-triangle-top:before{content:"\e253"}.glyphicon-console:before{content:"\e254"}.glyphicon-superscript:before{content:"\e255"}.glyphicon-subscript:before{content:"\e256"}.glyphicon-menu-left:before{content:"\e257"}.glyphicon-menu-right:before{content:"\e258"}.glyphicon-menu-down:before{content:"\e259"}.glyphicon-menu-up:before{content:"\e260"}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}html{font-size:10px;-webkit-tap-highlight-color:rgba(0,0,0,0)}body{font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:1.42857143;color:#333;background-color:#fff}input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}a{color:#337ab7;text-decoration:none}a:hover,a:focus{color:#23527c;text-decoration:underline}a:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}figure{margin:0}img{vertical-align:middle}.img-responsive,.thumbnail>img,.thumbnail a>img,.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto}.img-rounded{border-radius:6px}.img-thumbnail{padding:4px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;-o-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}.img-circle{border-radius:50%}hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto}[role="button"]{cursor:pointer}h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:inherit;font-weight:500;line-height:1.1;color:inherit}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small,h1 .small,h2 .small,h3 .small,h4 .small,h5 .small,h6 .small,.h1 .small,.h2 .small,.h3 .small,.h4 .small,.h5 .small,.h6 .small{font-weight:normal;line-height:1;color:#777}h1,.h1,h2,.h2,h3,.h3{margin-top:20px;margin-bottom:10px}h1 small,.h1 small,h2 small,.h2 small,h3 small,.h3 small,h1 .small,.h1 .small,h2 .small,.h2 .small,h3 .small,.h3 .small{font-size:65%}h4,.h4,h5,.h5,h6,.h6{margin-top:10px;margin-bottom:10px}h4 small,.h4 small,h5 small,.h5 small,h6 small,.h6 small,h4 .small,.h4 .small,h5 .small,.h5 .small,h6 .small,.h6 .small{font-size:75%}h1,.h1{font-size:36px}h2,.h2{font-size:30px}h3,.h3{font-size:24px}h4,.h4{font-size:18px}h5,.h5{font-size:14px}h6,.h6{font-size:12px}p{margin:0 0 10px}.lead{margin-bottom:20px;font-size:16px;font-weight:300;line-height:1.4}@media(min-width:768px){.lead{font-size:21px}}small,.small{font-size:85%}mark,.mark{background-color:#fcf8e3;padding:.2em}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-justify{text-align:justify}.text-nowrap{white-space:nowrap}.text-lowercase{text-transform:lowercase}.text-uppercase{text-transform:uppercase}.text-capitalize{text-transform:capitalize}.text-muted{color:#777}.text-primary{color:#337ab7}a.text-primary:hover,a.text-primary:focus{color:#286090}.text-success{color:#3c763d}a.text-success:hover,a.text-success:focus{color:#2b542c}.text-info{color:#31708f}a.text-info:hover,a.text-info:focus{color:#245269}.text-warning{color:#8a6d3b}a.text-warning:hover,a.text-warning:focus{color:#66512c}.text-danger{color:#a94442}a.text-danger:hover,a.text-danger:focus{color:#843534}.bg-primary{color:#fff;background-color:#337ab7}a.bg-primary:hover,a.bg-primary:focus{background-color:#286090}.bg-success{background-color:#dff0d8}a.bg-success:hover,a.bg-success:focus{background-color:#c1e2b3}.bg-info{background-color:#d9edf7}a.bg-info:hover,a.bg-info:focus{background-color:#afd9ee}.bg-warning{background-color:#fcf8e3}a.bg-warning:hover,a.bg-warning:focus{background-color:#f7ecb5}.bg-danger{background-color:#f2dede}a.bg-danger:hover,a.bg-danger:focus{background-color:#e4b9b9}.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none;margin-left:-5px}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}dl{margin-top:0;margin-bottom:20px}dt,dd{line-height:1.42857143}dt{font-weight:bold}dd{margin-left:0}@media(min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dl-horizontal dd{margin-left:180px}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #777}.initialism{font-size:90%;text-transform:uppercase}blockquote{padding:10px 20px;margin:0 0 20px;font-size:17.5px;border-left:5px solid #eee}blockquote p:last-child,blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}blockquote footer,blockquote small,blockquote .small{display:block;font-size:80%;line-height:1.42857143;color:#777}blockquote footer:before,blockquote small:before,blockquote .small:before{content:'\2014 \00A0'}.blockquote-reverse,blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0;text-align:right}.blockquote-reverse footer:before,blockquote.pull-right footer:before,.blockquote-reverse small:before,blockquote.pull-right small:before,.blockquote-reverse .small:before,blockquote.pull-right .small:before{content:''}.blockquote-reverse footer:after,blockquote.pull-right footer:after,.blockquote-reverse small:after,blockquote.pull-right small:after,.blockquote-reverse .small:after,blockquote.pull-right .small:after{content:'\00A0 \2014'}address{margin-bottom:20px;font-style:normal;line-height:1.42857143}code,kbd,pre,samp{font-family:Menlo,Monaco,Consolas,"Courier New",monospace}code{padding:2px 4px;font-size:90%;color:#c7254e;background-color:#f9f2f4;border-radius:4px}kbd{padding:2px 4px;font-size:90%;color:#fff;background-color:#333;border-radius:3px;box-shadow:inset 0 -1px 0 rgba(0,0,0,0.25)}kbd kbd{padding:0;font-size:100%;font-weight:bold;box-shadow:none}pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.42857143;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px}pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border-radius:0}.pre-scrollable{max-height:340px;overflow-y:scroll}.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}@media(min-width:768px){.container{width:750px}}@media(min-width:992px){.container{width:970px}}@media(min-width:1200px){.container{width:1170px}}.container-fluid{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.row{margin-left:-15px;margin-right:-15px}.col-xs-1,.col-sm-1,.col-md-1,.col-lg-1,.col-xs-2,.col-sm-2,.col-md-2,.col-lg-2,.col-xs-3,.col-sm-3,.col-md-3,.col-lg-3,.col-xs-4,.col-sm-4,.col-md-4,.col-lg-4,.col-xs-5,.col-sm-5,.col-md-5,.col-lg-5,.col-xs-6,.col-sm-6,.col-md-6,.col-lg-6,.col-xs-7,.col-sm-7,.col-md-7,.col-lg-7,.col-xs-8,.col-sm-8,.col-md-8,.col-lg-8,.col-xs-9,.col-sm-9,.col-md-9,.col-lg-9,.col-xs-10,.col-sm-10,.col-md-10,.col-lg-10,.col-xs-11,.col-sm-11,.col-md-11,.col-lg-11,.col-xs-12,.col-sm-12,.col-md-12,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12{float:left}.col-xs-12{width:100%}.col-xs-11{width:91.66666667%}.col-xs-10{width:83.33333333%}.col-xs-9{width:75%}.col-xs-8{width:66.66666667%}.col-xs-7{width:58.33333333%}.col-xs-6{width:50%}.col-xs-5{width:41.66666667%}.col-xs-4{width:33.33333333%}.col-xs-3{width:25%}.col-xs-2{width:16.66666667%}.col-xs-1{width:8.33333333%}.col-xs-pull-12{right:100%}.col-xs-pull-11{right:91.66666667%}.col-xs-pull-10{right:83.33333333%}.col-xs-pull-9{right:75%}.col-xs-pull-8{right:66.66666667%}.col-xs-pull-7{right:58.33333333%}.col-xs-pull-6{right:50%}.col-xs-pull-5{right:41.66666667%}.col-xs-pull-4{right:33.33333333%}.col-xs-pull-3{right:25%}.col-xs-pull-2{right:16.66666667%}.col-xs-pull-1{right:8.33333333%}.col-xs-pull-0{right:auto}.col-xs-push-12{left:100%}.col-xs-push-11{left:91.66666667%}.col-xs-push-10{left:83.33333333%}.col-xs-push-9{left:75%}.col-xs-push-8{left:66.66666667%}.col-xs-push-7{left:58.33333333%}.col-xs-push-6{left:50%}.col-xs-push-5{left:41.66666667%}.col-xs-push-4{left:33.33333333%}.col-xs-push-3{left:25%}.col-xs-push-2{left:16.66666667%}.col-xs-push-1{left:8.33333333%}.col-xs-push-0{left:auto}.col-xs-offset-12{margin-left:100%}.col-xs-offset-11{margin-left:91.66666667%}.col-xs-offset-10{margin-left:83.33333333%}.col-xs-offset-9{margin-left:75%}.col-xs-offset-8{margin-left:66.66666667%}.col-xs-offset-7{margin-left:58.33333333%}.col-xs-offset-6{margin-left:50%}.col-xs-offset-5{margin-left:41.66666667%}.col-xs-offset-4{margin-left:33.33333333%}.col-xs-offset-3{margin-left:25%}.col-xs-offset-2{margin-left:16.66666667%}.col-xs-offset-1{margin-left:8.33333333%}.col-xs-offset-0{margin-left:0}@media(min-width:768px){.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12{float:left}.col-sm-12{width:100%}.col-sm-11{width:91.66666667%}.col-sm-10{width:83.33333333%}.col-sm-9{width:75%}.col-sm-8{width:66.66666667%}.col-sm-7{width:58.33333333%}.col-sm-6{width:50%}.col-sm-5{width:41.66666667%}.col-sm-4{width:33.33333333%}.col-sm-3{width:25%}.col-sm-2{width:16.66666667%}.col-sm-1{width:8.33333333%}.col-sm-pull-12{right:100%}.col-sm-pull-11{right:91.66666667%}.col-sm-pull-10{right:83.33333333%}.col-sm-pull-9{right:75%}.col-sm-pull-8{right:66.66666667%}.col-sm-pull-7{right:58.33333333%}.col-sm-pull-6{right:50%}.col-sm-pull-5{right:41.66666667%}.col-sm-pull-4{right:33.33333333%}.col-sm-pull-3{right:25%}.col-sm-pull-2{right:16.66666667%}.col-sm-pull-1{right:8.33333333%}.col-sm-pull-0{right:auto}.col-sm-push-12{left:100%}.col-sm-push-11{left:91.66666667%}.col-sm-push-10{left:83.33333333%}.col-sm-push-9{left:75%}.col-sm-push-8{left:66.66666667%}.col-sm-push-7{left:58.33333333%}.col-sm-push-6{left:50%}.col-sm-push-5{left:41.66666667%}.col-sm-push-4{left:33.33333333%}.col-sm-push-3{left:25%}.col-sm-push-2{left:16.66666667%}.col-sm-push-1{left:8.33333333%}.col-sm-push-0{left:auto}.col-sm-offset-12{margin-left:100%}.col-sm-offset-11{margin-left:91.66666667%}.col-sm-offset-10{margin-left:83.33333333%}.col-sm-offset-9{margin-left:75%}.col-sm-offset-8{margin-left:66.66666667%}.col-sm-offset-7{margin-left:58.33333333%}.col-sm-offset-6{margin-left:50%}.col-sm-offset-5{margin-left:41.66666667%}.col-sm-offset-4{margin-left:33.33333333%}.col-sm-offset-3{margin-left:25%}.col-sm-offset-2{margin-left:16.66666667%}.col-sm-offset-1{margin-left:8.33333333%}.col-sm-offset-0{margin-left:0}}@media(min-width:992px){.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12{float:left}.col-md-12{width:100%}.col-md-11{width:91.66666667%}.col-md-10{width:83.33333333%}.col-md-9{width:75%}.col-md-8{width:66.66666667%}.col-md-7{width:58.33333333%}.col-md-6{width:50%}.col-md-5{width:41.66666667%}.col-md-4{width:33.33333333%}.col-md-3{width:25%}.col-md-2{width:16.66666667%}.col-md-1{width:8.33333333%}.col-md-pull-12{right:100%}.col-md-pull-11{right:91.66666667%}.col-md-pull-10{right:83.33333333%}.col-md-pull-9{right:75%}.col-md-pull-8{right:66.66666667%}.col-md-pull-7{right:58.33333333%}.col-md-pull-6{right:50%}.col-md-pull-5{right:41.66666667%}.col-md-pull-4{right:33.33333333%}.col-md-pull-3{right:25%}.col-md-pull-2{right:16.66666667%}.col-md-pull-1{right:8.33333333%}.col-md-pull-0{right:auto}.col-md-push-12{left:100%}.col-md-push-11{left:91.66666667%}.col-md-push-10{left:83.33333333%}.col-md-push-9{left:75%}.col-md-push-8{left:66.66666667%}.col-md-push-7{left:58.33333333%}.col-md-push-6{left:50%}.col-md-push-5{left:41.66666667%}.col-md-push-4{left:33.33333333%}.col-md-push-3{left:25%}.col-md-push-2{left:16.66666667%}.col-md-push-1{left:8.33333333%}.col-md-push-0{left:auto}.col-md-offset-12{margin-left:100%}.col-md-offset-11{margin-left:91.66666667%}.col-md-offset-10{margin-left:83.33333333%}.col-md-offset-9{margin-left:75%}.col-md-offset-8{margin-left:66.66666667%}.col-md-offset-7{margin-left:58.33333333%}.col-md-offset-6{margin-left:50%}.col-md-offset-5{margin-left:41.66666667%}.col-md-offset-4{margin-left:33.33333333%}.col-md-offset-3{margin-left:25%}.col-md-offset-2{margin-left:16.66666667%}.col-md-offset-1{margin-left:8.33333333%}.col-md-offset-0{margin-left:0}}@media(min-width:1200px){.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{float:left}.col-lg-12{width:100%}.col-lg-11{width:91.66666667%}.col-lg-10{width:83.33333333%}.col-lg-9{width:75%}.col-lg-8{width:66.66666667%}.col-lg-7{width:58.33333333%}.col-lg-6{width:50%}.col-lg-5{width:41.66666667%}.col-lg-4{width:33.33333333%}.col-lg-3{width:25%}.col-lg-2{width:16.66666667%}.col-lg-1{width:8.33333333%}.col-lg-pull-12{right:100%}.col-lg-pull-11{right:91.66666667%}.col-lg-pull-10{right:83.33333333%}.col-lg-pull-9{right:75%}.col-lg-pull-8{right:66.66666667%}.col-lg-pull-7{right:58.33333333%}.col-lg-pull-6{right:50%}.col-lg-pull-5{right:41.66666667%}.col-lg-pull-4{right:33.33333333%}.col-lg-pull-3{right:25%}.col-lg-pull-2{right:16.66666667%}.col-lg-pull-1{right:8.33333333%}.col-lg-pull-0{right:auto}.col-lg-push-12{left:100%}.col-lg-push-11{left:91.66666667%}.col-lg-push-10{left:83.33333333%}.col-lg-push-9{left:75%}.col-lg-push-8{left:66.66666667%}.col-lg-push-7{left:58.33333333%}.col-lg-push-6{left:50%}.col-lg-push-5{left:41.66666667%}.col-lg-push-4{left:33.33333333%}.col-lg-push-3{left:25%}.col-lg-push-2{left:16.66666667%}.col-lg-push-1{left:8.33333333%}.col-lg-push-0{left:auto}.col-lg-offset-12{margin-left:100%}.col-lg-offset-11{margin-left:91.66666667%}.col-lg-offset-10{margin-left:83.33333333%}.col-lg-offset-9{margin-left:75%}.col-lg-offset-8{margin-left:66.66666667%}.col-lg-offset-7{margin-left:58.33333333%}.col-lg-offset-6{margin-left:50%}.col-lg-offset-5{margin-left:41.66666667%}.col-lg-offset-4{margin-left:33.33333333%}.col-lg-offset-3{margin-left:25%}.col-lg-offset-2{margin-left:16.66666667%}.col-lg-offset-1{margin-left:8.33333333%}.col-lg-offset-0{margin-left:0}}table{background-color:transparent}caption{padding-top:8px;padding-bottom:8px;color:#777;text-align:left}th{text-align:left}.table{width:100%;max-width:100%;margin-bottom:20px}.table>thead>tr>th,.table>tbody>tr>th,.table>tfoot>tr>th,.table>thead>tr>td,.table>tbody>tr>td,.table>tfoot>tr>td{padding:8px;line-height:1.42857143;vertical-align:top;border-top:1px solid #ddd}.table>thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}.table>caption+thead>tr:first-child>th,.table>colgroup+thead>tr:first-child>th,.table>thead:first-child>tr:first-child>th,.table>caption+thead>tr:first-child>td,.table>colgroup+thead>tr:first-child>td,.table>thead:first-child>tr:first-child>td{border-top:0}.table>tbody+tbody{border-top:2px solid #ddd}.table .table{background-color:#fff}.table-condensed>thead>tr>th,.table-condensed>tbody>tr>th,.table-condensed>tfoot>tr>th,.table-condensed>thead>tr>td,.table-condensed>tbody>tr>td,.table-condensed>tfoot>tr>td{padding:5px}.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}.table-striped>tbody>tr:nth-of-type(odd){background-color:#f9f9f9}.table-hover>tbody>tr:hover{background-color:#f5f5f5}table col[class*="col-"]{position:static;float:none;display:table-column}table td[class*="col-"],table th[class*="col-"]{position:static;float:none;display:table-cell}.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}.table-hover>tbody>tr>td.active:hover,.table-hover>tbody>tr>th.active:hover,.table-hover>tbody>tr.active:hover>td,.table-hover>tbody>tr:hover>.active,.table-hover>tbody>tr.active:hover>th{background-color:#e8e8e8}.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8}.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td,.table-hover>tbody>tr:hover>.success,.table-hover>tbody>tr.success:hover>th{background-color:#d0e9c6}.table>thead>tr>td.info,.table>tbody>tr>td.info,.table>tfoot>tr>td.info,.table>thead>tr>th.info,.table>tbody>tr>th.info,.table>tfoot>tr>th.info,.table>thead>tr.info>td,.table>tbody>tr.info>td,.table>tfoot>tr.info>td,.table>thead>tr.info>th,.table>tbody>tr.info>th,.table>tfoot>tr.info>th{background-color:#d9edf7}.table-hover>tbody>tr>td.info:hover,.table-hover>tbody>tr>th.info:hover,.table-hover>tbody>tr.info:hover>td,.table-hover>tbody>tr:hover>.info,.table-hover>tbody>tr.info:hover>th{background-color:#c4e3f3}.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3}.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td,.table-hover>tbody>tr:hover>.warning,.table-hover>tbody>tr.warning:hover>th{background-color:#faf2cc}.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede}.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td,.table-hover>tbody>tr:hover>.danger,.table-hover>tbody>tr.danger:hover>th{background-color:#ebcccc}.table-responsive{overflow-x:auto;min-height:.01%}@media screen and (max-width:767px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;-ms-overflow-style:-ms-autohiding-scrollbar;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap}.table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0;min-width:0}legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}label{display:inline-block;max-width:100%;margin-bottom:5px;font-weight:bold}input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}input[type="file"]{display:block}input[type="range"]{display:block;width:100%}select[multiple],select[size]{height:auto}input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}output{display:block;padding-top:7px;font-size:14px;line-height:1.42857143;color:#555}.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.42857143;color:#555;background-color:#fff;background-image:none;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;-o-transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s,box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(102,175,233,0.6)}.form-control::-moz-placeholder{color:#999;opacity:1}.form-control:-ms-input-placeholder{color:#999}.form-control::-webkit-input-placeholder{color:#999}.form-control::-ms-expand{border:0;background-color:transparent}.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{background-color:#eee;opacity:1}.form-control[disabled],fieldset[disabled] .form-control{cursor:not-allowed}textarea.form-control{height:auto}input[type="search"]{-webkit-appearance:none}@media screen and (-webkit-min-device-pixel-ratio:0){input[type="date"].form-control,input[type="time"].form-control,input[type="datetime-local"].form-control,input[type="month"].form-control{line-height:34px}input[type="date"].input-sm,input[type="time"].input-sm,input[type="datetime-local"].input-sm,input[type="month"].input-sm,.input-group-sm input[type="date"],.input-group-sm input[type="time"],.input-group-sm input[type="datetime-local"],.input-group-sm input[type="month"]{line-height:30px}input[type="date"].input-lg,input[type="time"].input-lg,input[type="datetime-local"].input-lg,input[type="month"].input-lg,.input-group-lg input[type="date"],.input-group-lg input[type="time"],.input-group-lg input[type="datetime-local"],.input-group-lg input[type="month"]{line-height:46px}}.form-group{margin-bottom:15px}.radio,.checkbox{position:relative;display:block;margin-top:10px;margin-bottom:10px}.radio label,.checkbox label{min-height:20px;padding-left:20px;margin-bottom:0;font-weight:normal;cursor:pointer}.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{position:absolute;margin-left:-20px;margin-top:4px \9}.radio+.radio,.checkbox+.checkbox{margin-top:-5px}.radio-inline,.checkbox-inline{position:relative;display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}input[type="radio"][disabled],input[type="checkbox"][disabled],input[type="radio"].disabled,input[type="checkbox"].disabled,fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"]{cursor:not-allowed}.radio-inline.disabled,.checkbox-inline.disabled,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox-inline{cursor:not-allowed}.radio.disabled label,.checkbox.disabled label,fieldset[disabled] .radio label,fieldset[disabled] .checkbox label{cursor:not-allowed}.form-control-static{padding-top:7px;padding-bottom:7px;margin-bottom:0;min-height:34px}.form-control-static.input-lg,.form-control-static.input-sm{padding-left:0;padding-right:0}.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}textarea.input-sm,select[multiple].input-sm{height:auto}.form-group-sm .form-control{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.form-group-sm select.form-control{height:30px;line-height:30px}.form-group-sm textarea.form-control,.form-group-sm select[multiple].form-control{height:auto}.form-group-sm .form-control-static{height:30px;min-height:32px;padding:6px 10px;font-size:12px;line-height:1.5}.input-lg{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-lg{height:46px;line-height:46px}textarea.input-lg,select[multiple].input-lg{height:auto}.form-group-lg .form-control{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.form-group-lg select.form-control{height:46px;line-height:46px}.form-group-lg textarea.form-control,.form-group-lg select[multiple].form-control{height:auto}.form-group-lg .form-control-static{height:46px;min-height:38px;padding:11px 16px;font-size:18px;line-height:1.3333333}.has-feedback{position:relative}.has-feedback .form-control{padding-right:42.5px}.form-control-feedback{position:absolute;top:0;right:0;z-index:2;display:block;width:34px;height:34px;line-height:34px;text-align:center;pointer-events:none}.input-lg+.form-control-feedback,.input-group-lg+.form-control-feedback,.form-group-lg .form-control+.form-control-feedback{width:46px;height:46px;line-height:46px}.input-sm+.form-control-feedback,.input-group-sm+.form-control-feedback,.form-group-sm .form-control+.form-control-feedback{width:30px;height:30px;line-height:30px}.has-success .help-block,.has-success .control-label,.has-success .radio,.has-success .checkbox,.has-success .radio-inline,.has-success .checkbox-inline,.has-success.radio label,.has-success.checkbox label,.has-success.radio-inline label,.has-success.checkbox-inline label{color:#3c763d}.has-success .form-control{border-color:#3c763d;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#2b542c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #67b168}.has-success .input-group-addon{color:#3c763d;border-color:#3c763d;background-color:#dff0d8}.has-success .form-control-feedback{color:#3c763d}.has-warning .help-block,.has-warning .control-label,.has-warning .radio,.has-warning .checkbox,.has-warning .radio-inline,.has-warning .checkbox-inline,.has-warning.radio label,.has-warning.checkbox label,.has-warning.radio-inline label,.has-warning.checkbox-inline label{color:#8a6d3b}.has-warning .form-control{border-color:#8a6d3b;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#66512c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #c0a16b}.has-warning .input-group-addon{color:#8a6d3b;border-color:#8a6d3b;background-color:#fcf8e3}.has-warning .form-control-feedback{color:#8a6d3b}.has-error .help-block,.has-error .control-label,.has-error .radio,.has-error .checkbox,.has-error .radio-inline,.has-error .checkbox-inline,.has-error.radio label,.has-error.checkbox label,.has-error.radio-inline label,.has-error.checkbox-inline label{color:#a94442}.has-error .form-control{border-color:#a94442;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#843534;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483}.has-error .input-group-addon{color:#a94442;border-color:#a94442;background-color:#f2dede}.has-error .form-control-feedback{color:#a94442}.has-feedback label ~ .form-control-feedback{top:25px}.has-feedback label.sr-only ~ .form-control-feedback{top:0}.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#737373}@media(min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-static{display:inline-block}.form-inline .input-group{display:inline-table;vertical-align:middle}.form-inline .input-group .input-group-addon,.form-inline .input-group .input-group-btn,.form-inline .input-group .form-control{width:auto}.form-inline .input-group>.form-control{width:100%}.form-inline .control-label{margin-bottom:0;vertical-align:middle}.form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.form-inline .radio label,.form-inline .checkbox label{padding-left:0}.form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{position:relative;margin-left:0}.form-inline .has-feedback .form-control-feedback{top:0}}.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:7px}.form-horizontal .radio,.form-horizontal .checkbox{min-height:27px}.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}@media(min-width:768px){.form-horizontal .control-label{text-align:right;margin-bottom:0;padding-top:7px}}.form-horizontal .has-feedback .form-control-feedback{right:15px}@media(min-width:768px){.form-horizontal .form-group-lg .control-label{padding-top:11px;font-size:18px}}@media(min-width:768px){.form-horizontal .form-group-sm .control-label{padding-top:6px;font-size:12px}}.btn{display:inline-block;margin-bottom:0;font-weight:normal;text-align:center;vertical-align:middle;touch-action:manipulation;cursor:pointer;background-image:none;border:1px solid transparent;white-space:nowrap;padding:6px 12px;font-size:14px;line-height:1.42857143;border-radius:4px;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.btn:focus,.btn:active:focus,.btn.active:focus,.btn.focus,.btn:active.focus,.btn.active.focus{outline:thin dotted;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}.btn:hover,.btn:focus,.btn.focus{color:#333;text-decoration:none}.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}a.btn.disabled,fieldset[disabled] a.btn{pointer-events:none}.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:focus,.btn-default.focus{color:#333;background-color:#e6e6e6;border-color:#8c8c8c}.btn-default:hover{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{color:#333;background-color:#e6e6e6;border-color:#adadad}.btn-default:active:hover,.btn-default.active:hover,.open>.dropdown-toggle.btn-default:hover,.btn-default:active:focus,.btn-default.active:focus,.open>.dropdown-toggle.btn-default:focus,.btn-default:active.focus,.btn-default.active.focus,.open>.dropdown-toggle.btn-default.focus{color:#333;background-color:#d4d4d4;border-color:#8c8c8c}.btn-default:active,.btn-default.active,.open>.dropdown-toggle.btn-default{background-image:none}.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled.focus,.btn-default[disabled].focus,fieldset[disabled] .btn-default.focus{background-color:#fff;border-color:#ccc}.btn-default .badge{color:#fff;background-color:#333}.btn-primary{color:#fff;background-color:#337ab7;border-color:#2e6da4}.btn-primary:focus,.btn-primary.focus{color:#fff;background-color:#286090;border-color:#122b40}.btn-primary:hover{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{color:#fff;background-color:#286090;border-color:#204d74}.btn-primary:active:hover,.btn-primary.active:hover,.open>.dropdown-toggle.btn-primary:hover,.btn-primary:active:focus,.btn-primary.active:focus,.open>.dropdown-toggle.btn-primary:focus,.btn-primary:active.focus,.btn-primary.active.focus,.open>.dropdown-toggle.btn-primary.focus{color:#fff;background-color:#204d74;border-color:#122b40}.btn-primary:active,.btn-primary.active,.open>.dropdown-toggle.btn-primary{background-image:none}.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled.focus,.btn-primary[disabled].focus,fieldset[disabled] .btn-primary.focus{background-color:#337ab7;border-color:#2e6da4}.btn-primary .badge{color:#337ab7;background-color:#fff}.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:focus,.btn-success.focus{color:#fff;background-color:#449d44;border-color:#255625}.btn-success:hover{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{color:#fff;background-color:#449d44;border-color:#398439}.btn-success:active:hover,.btn-success.active:hover,.open>.dropdown-toggle.btn-success:hover,.btn-success:active:focus,.btn-success.active:focus,.open>.dropdown-toggle.btn-success:focus,.btn-success:active.focus,.btn-success.active.focus,.open>.dropdown-toggle.btn-success.focus{color:#fff;background-color:#398439;border-color:#255625}.btn-success:active,.btn-success.active,.open>.dropdown-toggle.btn-success{background-image:none}.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled.focus,.btn-success[disabled].focus,fieldset[disabled] .btn-success.focus{background-color:#5cb85c;border-color:#4cae4c}.btn-success .badge{color:#5cb85c;background-color:#fff}.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:focus,.btn-info.focus{color:#fff;background-color:#31b0d5;border-color:#1b6d85}.btn-info:hover{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{color:#fff;background-color:#31b0d5;border-color:#269abc}.btn-info:active:hover,.btn-info.active:hover,.open>.dropdown-toggle.btn-info:hover,.btn-info:active:focus,.btn-info.active:focus,.open>.dropdown-toggle.btn-info:focus,.btn-info:active.focus,.btn-info.active.focus,.open>.dropdown-toggle.btn-info.focus{color:#fff;background-color:#269abc;border-color:#1b6d85}.btn-info:active,.btn-info.active,.open>.dropdown-toggle.btn-info{background-image:none}.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled.focus,.btn-info[disabled].focus,fieldset[disabled] .btn-info.focus{background-color:#5bc0de;border-color:#46b8da}.btn-info .badge{color:#5bc0de;background-color:#fff}.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:focus,.btn-warning.focus{color:#fff;background-color:#ec971f;border-color:#985f0d}.btn-warning:hover{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{color:#fff;background-color:#ec971f;border-color:#d58512}.btn-warning:active:hover,.btn-warning.active:hover,.open>.dropdown-toggle.btn-warning:hover,.btn-warning:active:focus,.btn-warning.active:focus,.open>.dropdown-toggle.btn-warning:focus,.btn-warning:active.focus,.btn-warning.active.focus,.open>.dropdown-toggle.btn-warning.focus{color:#fff;background-color:#d58512;border-color:#985f0d}.btn-warning:active,.btn-warning.active,.open>.dropdown-toggle.btn-warning{background-image:none}.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled.focus,.btn-warning[disabled].focus,fieldset[disabled] .btn-warning.focus{background-color:#f0ad4e;border-color:#eea236}.btn-warning .badge{color:#f0ad4e;background-color:#fff}.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:focus,.btn-danger.focus{color:#fff;background-color:#c9302c;border-color:#761c19}.btn-danger:hover{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{color:#fff;background-color:#c9302c;border-color:#ac2925}.btn-danger:active:hover,.btn-danger.active:hover,.open>.dropdown-toggle.btn-danger:hover,.btn-danger:active:focus,.btn-danger.active:focus,.open>.dropdown-toggle.btn-danger:focus,.btn-danger:active.focus,.btn-danger.active.focus,.open>.dropdown-toggle.btn-danger.focus{color:#fff;background-color:#ac2925;border-color:#761c19}.btn-danger:active,.btn-danger.active,.open>.dropdown-toggle.btn-danger{background-image:none}.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled.focus,.btn-danger[disabled].focus,fieldset[disabled] .btn-danger.focus{background-color:#d9534f;border-color:#d43f3a}.btn-danger .badge{color:#d9534f;background-color:#fff}.btn-link{color:#337ab7;font-weight:normal;border-radius:0}.btn-link,.btn-link:active,.btn-link.active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}.btn-link:hover,.btn-link:focus{color:#23527c;text-decoration:underline;background-color:transparent}.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#777;text-decoration:none}.btn-lg,.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}.btn-sm,.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}.btn-xs,.btn-group-xs>.btn{padding:1px 5px;font-size:12px;line-height:1.5;border-radius:3px}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:5px}input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}.fade{opacity:0;-webkit-transition:opacity .15s linear;-o-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}.collapse{display:none}.collapse.in{display:block}tr.collapse.in{display:table-row}tbody.collapse.in{display:table-row-group}.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition-property:height,visibility;transition-property:height,visibility;-webkit-transition-duration:.35s;transition-duration:.35s;-webkit-transition-timing-function:ease;transition-timing-function:ease}.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px dashed;border-top:4px solid \9;border-right:4px solid transparent;border-left:4px solid transparent}.dropup,.dropdown{position:relative}.dropdown-toggle:focus{outline:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;text-align:left;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.42857143;color:#333;white-space:nowrap}.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#262626;background-color:#f5f5f5}.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#337ab7}.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#777}.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:not-allowed}.open>.dropdown-menu{display:block}.open>a{outline:0}.dropdown-menu-right{left:auto;right:0}.dropdown-menu-left{left:0;right:auto}.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.42857143;color:#777;white-space:nowrap}.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}.pull-right>.dropdown-menu{right:0;left:auto}.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0;border-bottom:4px dashed;border-bottom:4px solid \9;content:""}.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:2px}@media(min-width:768px){.navbar-right .dropdown-menu{left:auto;right:0}.navbar-right .dropdown-menu-left{left:0;right:auto}}.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}.btn-toolbar{margin-left:-5px}.btn-toolbar .btn,.btn-toolbar .btn-group,.btn-toolbar .input-group{float:left}.btn-toolbar>.btn,.btn-toolbar>.btn-group,.btn-toolbar>.input-group{margin-left:5px}.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.btn-group>.btn-group{float:left}.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}.btn-group>.btn-group:last-child:not(:first-child)>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}.btn-group.open .dropdown-toggle.btn-link{-webkit-box-shadow:none;box-shadow:none}.btn .caret{margin-left:0}.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}.dropup .btn-lg .caret{border-width:0 5px 5px}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group,.btn-group-vertical>.btn-group>.btn{display:block;float:none;width:100%;max-width:100%}.btn-group-vertical>.btn-group>.btn{float:none}.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn:last-child:not(:first-child){border-top-right-radius:0;border-top-left-radius:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}.btn-group-vertical>.btn-group:first-child:not(:last-child)>.btn:last-child,.btn-group-vertical>.btn-group:first-child:not(:last-child)>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:last-child:not(:first-child)>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified>.btn,.btn-group-justified>.btn-group{float:none;display:table-cell;width:1%}.btn-group-justified>.btn-group .btn{width:100%}.btn-group-justified>.btn-group .dropdown-menu{left:auto}[data-toggle="buttons"]>.btn input[type="radio"],[data-toggle="buttons"]>.btn-group>.btn input[type="radio"],[data-toggle="buttons"]>.btn input[type="checkbox"],[data-toggle="buttons"]>.btn-group>.btn input[type="checkbox"]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:table;border-collapse:separate}.input-group[class*="col-"]{float:none;padding-left:0;padding-right:0}.input-group .form-control{position:relative;z-index:2;float:left;width:100%;margin-bottom:0}.input-group .form-control:focus{z-index:3}.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:46px;padding:10px 16px;font-size:18px;line-height:1.3333333;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:46px;line-height:46px}textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn,select[multiple].input-group-lg>.form-control,select[multiple].input-group-lg>.input-group-addon,select[multiple].input-group-lg>.input-group-btn>.btn{height:auto}.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn,select[multiple].input-group-sm>.form-control,select[multiple].input-group-sm>.input-group-addon,select[multiple].input-group-sm>.input-group-btn>.btn{height:auto}.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}.input-group-addon{padding:6px 12px;font-size:14px;font-weight:normal;line-height:1;color:#555;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group-btn:last-child>.btn-group:not(:last-child)>.btn{border-bottom-right-radius:0;border-top-right-radius:0}.input-group-addon:first-child{border-right:0}.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child),.input-group-btn:first-child>.btn-group:not(:first-child)>.btn{border-bottom-left-radius:0;border-top-left-radius:0}.input-group-addon:last-child{border-left:0}.input-group-btn{position:relative;font-size:0;white-space:nowrap}.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-1px}.input-group-btn>.btn:hover,.input-group-btn>.btn:focus,.input-group-btn>.btn:active{z-index:2}.input-group-btn:first-child>.btn,.input-group-btn:first-child>.btn-group{margin-right:-1px}.input-group-btn:last-child>.btn,.input-group-btn:last-child>.btn-group{z-index:2;margin-left:-1px}.nav{margin-bottom:0;padding-left:0;list-style:none}.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}.nav>li.disabled>a{color:#777}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#777;text-decoration:none;background-color:transparent;cursor:not-allowed}.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#337ab7}.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}.nav>li>a>img{max-width:none}.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.42857143;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #dddddd}.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-tabs.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media(min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}.nav-tabs.nav-justified>li>a{margin-bottom:0}}.nav-tabs.nav-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border:1px solid #ddd}@media(min-width:768px){.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs.nav-justified>.active>a,.nav-tabs.nav-justified>.active>a:hover,.nav-tabs.nav-justified>.active>a:focus{border-bottom-color:#fff}}.nav-pills>li{float:left}.nav-pills>li>a{border-radius:4px}.nav-pills>li+li{margin-left:2px}.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#337ab7}.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center;margin-bottom:5px}.nav-justified>.dropdown .dropdown-menu{top:auto;left:auto}@media(min-width:768px){.nav-justified>li{display:table-cell;width:1%}.nav-justified>li>a{margin-bottom:0}}.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{margin-right:0;border-radius:4px}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border:1px solid #ddd}@media(min-width:768px){.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;border-radius:4px 4px 0 0}.nav-tabs-justified>.active>a,.nav-tabs-justified>.active>a:hover,.nav-tabs-justified>.active>a:focus{border-bottom-color:#fff}}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}.navbar{position:relative;min-height:50px;margin-bottom:20px;border:1px solid transparent}@media(min-width:768px){.navbar{border-radius:4px}}@media(min-width:768px){.navbar-header{float:left}}.navbar-collapse{overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse.in{overflow-y:auto}@media(min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block!important;height:auto!important;padding-bottom:0;overflow:visible!important}.navbar-collapse.in{overflow-y:visible}.navbar-fixed-top .navbar-collapse,.navbar-static-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{padding-left:0;padding-right:0}}.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:340px}@media(max-device-width:480px) and (orientation:landscape){.navbar-fixed-top .navbar-collapse,.navbar-fixed-bottom .navbar-collapse{max-height:200px}}.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media(min-width:768px){.container>.navbar-header,.container-fluid>.navbar-header,.container>.navbar-collapse,.container-fluid>.navbar-collapse{margin-right:0;margin-left:0}}.navbar-static-top{z-index:1000;border-width:0 0 1px}@media(min-width:768px){.navbar-static-top{border-radius:0}}.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;z-index:1030}@media(min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}.navbar-fixed-top{top:0;border-width:0 0 1px}.navbar-fixed-bottom{bottom:0;margin-bottom:0;border-width:1px 0 0}.navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px;height:50px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}.navbar-brand>img{display:block}@media(min-width:768px){.navbar>.container .navbar-brand,.navbar>.container-fluid .navbar-brand{margin-left:-15px}}.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;background-image:none;border:1px solid transparent;border-radius:4px}.navbar-toggle:focus{outline:0}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}@media(min-width:768px){.navbar-toggle{display:none}}.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}@media(max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px}.navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media(min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:8px;margin-bottom:8px}@media(min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle}.navbar-form .form-control{display:inline-block;width:auto;vertical-align:middle}.navbar-form .form-control-static{display:inline-block}.navbar-form .input-group{display:inline-table;vertical-align:middle}.navbar-form .input-group .input-group-addon,.navbar-form .input-group .input-group-btn,.navbar-form .input-group .form-control{width:auto}.navbar-form .input-group>.form-control{width:100%}.navbar-form .control-label{margin-bottom:0;vertical-align:middle}.navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;vertical-align:middle}.navbar-form .radio label,.navbar-form .checkbox label{padding-left:0}.navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{position:relative;margin-left:0}.navbar-form .has-feedback .form-control-feedback{top:0}}@media(max-width:767px){.navbar-form .form-group{margin-bottom:5px}.navbar-form .form-group:last-child{margin-bottom:0}}@media(min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{margin-bottom:0;border-top-right-radius:4px;border-top-left-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}.navbar-btn{margin-top:8px;margin-bottom:8px}.navbar-btn.btn-sm{margin-top:10px;margin-bottom:10px}.navbar-btn.btn-xs{margin-top:14px;margin-bottom:14px}.navbar-text{margin-top:15px;margin-bottom:15px}@media(min-width:768px){.navbar-text{float:left;margin-left:15px;margin-right:15px}}@media(min-width:768px){.navbar-left{float:left!important}.navbar-right{float:right!important;margin-right:-15px}.navbar-right ~ .navbar-right{margin-right:0}}.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}.navbar-default .navbar-text{color:#777}.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}.navbar-default .navbar-toggle .icon-bar{background-color:#888}.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e7e7e7}.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#e7e7e7;color:#555}@media(max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent}.navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7}.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}.navbar-default .btn-link{color:#777}.navbar-default .btn-link:hover,.navbar-default .btn-link:focus{color:#333}.navbar-default .btn-link[disabled]:hover,fieldset[disabled] .navbar-default .btn-link:hover,.navbar-default .btn-link[disabled]:focus,fieldset[disabled] .navbar-default .btn-link:focus{color:#ccc}.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#9d9d9d}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-text{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#080808;color:#fff}@media(max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu .divider{background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#9d9d9d}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent}.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808}.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}.navbar-inverse .navbar-link{color:#9d9d9d}.navbar-inverse .navbar-link:hover{color:#fff}.navbar-inverse .btn-link{color:#9d9d9d}.navbar-inverse .btn-link:hover,.navbar-inverse .btn-link:focus{color:#fff}.navbar-inverse .btn-link[disabled]:hover,fieldset[disabled] .navbar-inverse .btn-link:hover,.navbar-inverse .btn-link[disabled]:focus,fieldset[disabled] .navbar-inverse .btn-link:focus{color:#444}.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#ccc}.breadcrumb>.active{color:#777}.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.42857143;text-decoration:none;color:#337ab7;background-color:#fff;border:1px solid #ddd;margin-left:-1px}.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{z-index:2;color:#23527c;background-color:#eee;border-color:#ddd}.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:3;color:#fff;background-color:#337ab7;border-color:#337ab7;cursor:default}.pagination>.disabled>span,.pagination>.disabled>span:hover,.pagination>.disabled>span:focus,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#777;background-color:#fff;border-color:#ddd;cursor:not-allowed}.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px;line-height:1.3333333}.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px;line-height:1.5}.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}.pager .next>a,.pager .next>span{float:right}.pager .previous>a,.pager .previous>span{float:left}.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#777;background-color:#fff;cursor:not-allowed}.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}a.label:hover,a.label:focus{color:#fff;text-decoration:none;cursor:pointer}.label:empty{display:none}.btn .label{position:relative;top:-1px}.label-default{background-color:#777}.label-default[href]:hover,.label-default[href]:focus{background-color:#5e5e5e}.label-primary{background-color:#337ab7}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#286090}.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;color:#fff;line-height:1;vertical-align:middle;white-space:nowrap;text-align:center;background-color:#777;border-radius:10px}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.btn-xs .badge,.btn-group-xs>.btn .badge{top:0;padding:1px 5px}a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#337ab7;background-color:#fff}.list-group-item>.badge{float:right}.list-group-item>.badge+.badge{margin-right:5px}.nav-pills>li>a>.badge{margin-left:3px}.jumbotron{padding-top:30px;padding-bottom:30px;margin-bottom:30px;color:inherit;background-color:#eee}.jumbotron h1,.jumbotron .h1{color:inherit}.jumbotron p{margin-bottom:15px;font-size:21px;font-weight:200}.jumbotron>hr{border-top-color:#d5d5d5}.container .jumbotron,.container-fluid .jumbotron{border-radius:6px;padding-left:15px;padding-right:15px}.jumbotron .container{max-width:100%}@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron,.container-fluid .jumbotron{padding-left:60px;padding-right:60px}.jumbotron h1,.jumbotron .h1{font-size:63px}}.thumbnail{display:block;padding:4px;margin-bottom:20px;line-height:1.42857143;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:border .2s ease-in-out;-o-transition:border .2s ease-in-out;transition:border .2s ease-in-out}.thumbnail>img,.thumbnail a>img{margin-left:auto;margin-right:auto}a.thumbnail:hover,a.thumbnail:focus,a.thumbnail.active{border-color:#337ab7}.thumbnail .caption{padding:9px;color:#333}.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}.alert .alert-link{font-weight:bold}.alert>p,.alert>ul{margin-bottom:0}.alert>p+p{margin-top:5px}.alert-dismissable,.alert-dismissible{padding-right:35px}.alert-dismissable .close,.alert-dismissible .close{position:relative;top:-2px;right:-21px;color:inherit}.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#3c763d}.alert-success hr{border-top-color:#c9e2b3}.alert-success .alert-link{color:#2b542c}.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#31708f}.alert-info hr{border-top-color:#a6e1ec}.alert-info .alert-link{color:#245269}.alert-warning{background-color:#fcf8e3;border-color:#faebcc;color:#8a6d3b}.alert-warning hr{border-top-color:#f7e1b5}.alert-warning .alert-link{color:#66512c}.alert-danger{background-color:#f2dede;border-color:#ebccd1;color:#a94442}.alert-danger hr{border-top-color:#e4b9c0}.alert-danger .alert-link{color:#843534}@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:40px 0}to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}.progress-bar{float:left;width:0;height:100%;font-size:12px;line-height:20px;color:#fff;text-align:center;background-color:#337ab7;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width .6s ease;-o-transition:width .6s ease;transition:width .6s ease}.progress-striped .progress-bar,.progress-bar-striped{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-size:40px 40px}.progress.active .progress-bar,.progress-bar.active{-webkit-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:-o-linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent);background-image:linear-gradient(45deg,rgba(255,255,255,0.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,0.15) 50%,rgba(255,255,255,0.15) 75%,transparent 75%,transparent)}.media{margin-top:15px}.media:first-child{margin-top:0}.media,.media-body{zoom:1;overflow:hidden}.media-body{width:10000px}.media-object{display:block}.media-object.img-thumbnail{max-width:none}.media-right,.media>.pull-right{padding-left:10px}.media-left,.media>.pull-left{padding-right:10px}.media-left,.media-right,.media-body{display:table-cell;vertical-align:top}.media-middle{vertical-align:middle}.media-bottom{vertical-align:bottom}.media-heading{margin-top:0;margin-bottom:5px}.media-list{padding-left:0;list-style:none}.list-group{margin-bottom:20px;padding-left:0}.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}a.list-group-item,button.list-group-item{color:#555}a.list-group-item .list-group-item-heading,button.list-group-item .list-group-item-heading{color:#333}a.list-group-item:hover,button.list-group-item:hover,a.list-group-item:focus,button.list-group-item:focus{text-decoration:none;color:#555;background-color:#f5f5f5}button.list-group-item{width:100%;text-align:left}.list-group-item.disabled,.list-group-item.disabled:hover,.list-group-item.disabled:focus{background-color:#eee;color:#777;cursor:not-allowed}.list-group-item.disabled .list-group-item-heading,.list-group-item.disabled:hover .list-group-item-heading,.list-group-item.disabled:focus .list-group-item-heading{color:inherit}.list-group-item.disabled .list-group-item-text,.list-group-item.disabled:hover .list-group-item-text,.list-group-item.disabled:focus .list-group-item-text{color:#777}.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#337ab7;border-color:#337ab7}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading,.list-group-item.active .list-group-item-heading>small,.list-group-item.active:hover .list-group-item-heading>small,.list-group-item.active:focus .list-group-item-heading>small,.list-group-item.active .list-group-item-heading>.small,.list-group-item.active:hover .list-group-item-heading>.small,.list-group-item.active:focus .list-group-item-heading>.small{color:inherit}.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#c7ddef}.list-group-item-success{color:#3c763d;background-color:#dff0d8}a.list-group-item-success,button.list-group-item-success{color:#3c763d}a.list-group-item-success .list-group-item-heading,button.list-group-item-success .list-group-item-heading{color:inherit}a.list-group-item-success:hover,button.list-group-item-success:hover,a.list-group-item-success:focus,button.list-group-item-success:focus{color:#3c763d;background-color:#d0e9c6}a.list-group-item-success.active,button.list-group-item-success.active,a.list-group-item-success.active:hover,button.list-group-item-success.active:hover,a.list-group-item-success.active:focus,button.list-group-item-success.active:focus{color:#fff;background-color:#3c763d;border-color:#3c763d}.list-group-item-info{color:#31708f;background-color:#d9edf7}a.list-group-item-info,button.list-group-item-info{color:#31708f}a.list-group-item-info .list-group-item-heading,button.list-group-item-info .list-group-item-heading{color:inherit}a.list-group-item-info:hover,button.list-group-item-info:hover,a.list-group-item-info:focus,button.list-group-item-info:focus{color:#31708f;background-color:#c4e3f3}a.list-group-item-info.active,button.list-group-item-info.active,a.list-group-item-info.active:hover,button.list-group-item-info.active:hover,a.list-group-item-info.active:focus,button.list-group-item-info.active:focus{color:#fff;background-color:#31708f;border-color:#31708f}.list-group-item-warning{color:#8a6d3b;background-color:#fcf8e3}a.list-group-item-warning,button.list-group-item-warning{color:#8a6d3b}a.list-group-item-warning .list-group-item-heading,button.list-group-item-warning .list-group-item-heading{color:inherit}a.list-group-item-warning:hover,button.list-group-item-warning:hover,a.list-group-item-warning:focus,button.list-group-item-warning:focus{color:#8a6d3b;background-color:#faf2cc}a.list-group-item-warning.active,button.list-group-item-warning.active,a.list-group-item-warning.active:hover,button.list-group-item-warning.active:hover,a.list-group-item-warning.active:focus,button.list-group-item-warning.active:focus{color:#fff;background-color:#8a6d3b;border-color:#8a6d3b}.list-group-item-danger{color:#a94442;background-color:#f2dede}a.list-group-item-danger,button.list-group-item-danger{color:#a94442}a.list-group-item-danger .list-group-item-heading,button.list-group-item-danger .list-group-item-heading{color:inherit}a.list-group-item-danger:hover,button.list-group-item-danger:hover,a.list-group-item-danger:focus,button.list-group-item-danger:focus{color:#a94442;background-color:#ebcccc}a.list-group-item-danger.active,button.list-group-item-danger.active,a.list-group-item-danger.active:hover,button.list-group-item-danger.active:hover,a.list-group-item-danger.active:focus,button.list-group-item-danger.active:focus{color:#fff;background-color:#a94442;border-color:#a94442}.list-group-item-heading{margin-top:0;margin-bottom:5px}.list-group-item-text{margin-bottom:0;line-height:1.3}.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}.panel-body{padding:15px}.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}.panel-heading>.dropdown .dropdown-toggle{color:inherit}.panel-title{margin-top:0;margin-bottom:0;font-size:16px;color:inherit}.panel-title>a,.panel-title>small,.panel-title>.small,.panel-title>small>a,.panel-title>.small>a{color:inherit}.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.list-group,.panel>.panel-collapse>.list-group{margin-bottom:0}.panel>.list-group .list-group-item,.panel>.panel-collapse>.list-group .list-group-item{border-width:1px 0;border-radius:0}.panel>.list-group:first-child .list-group-item:first-child,.panel>.panel-collapse>.list-group:first-child .list-group-item:first-child{border-top:0;border-top-right-radius:3px;border-top-left-radius:3px}.panel>.list-group:last-child .list-group-item:last-child,.panel>.panel-collapse>.list-group:last-child .list-group-item:last-child{border-bottom:0;border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.panel-heading+.panel-collapse>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}.list-group+.panel-footer{border-top-width:0}.panel>.table,.panel>.table-responsive>.table,.panel>.panel-collapse>.table{margin-bottom:0}.panel>.table caption,.panel>.table-responsive>.table caption,.panel>.panel-collapse>.table caption{padding-left:15px;padding-right:15px}.panel>.table:first-child,.panel>.table-responsive:first-child>.table:first-child{border-top-right-radius:3px;border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child{border-top-left-radius:3px;border-top-right-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:first-child,.panel>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:first-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:first-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:first-child{border-top-left-radius:3px}.panel>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child td:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child td:last-child,.panel>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>thead:first-child>tr:first-child th:last-child,.panel>.table:first-child>tbody:first-child>tr:first-child th:last-child,.panel>.table-responsive:first-child>.table:first-child>tbody:first-child>tr:first-child th:last-child{border-top-right-radius:3px}.panel>.table:last-child,.panel>.table-responsive:last-child>.table:last-child{border-bottom-right-radius:3px;border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child{border-bottom-left-radius:3px;border-bottom-right-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:first-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:first-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:first-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:first-child{border-bottom-left-radius:3px}.panel>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child td:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child td:last-child,.panel>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tbody:last-child>tr:last-child th:last-child,.panel>.table:last-child>tfoot:last-child>tr:last-child th:last-child,.panel>.table-responsive:last-child>.table:last-child>tfoot:last-child>tr:last-child th:last-child{border-bottom-right-radius:3px}.panel>.panel-body+.table,.panel>.panel-body+.table-responsive,.panel>.table+.panel-body,.panel>.table-responsive+.panel-body{border-top:1px solid #ddd}.panel>.table>tbody:first-child>tr:first-child th,.panel>.table>tbody:first-child>tr:first-child td{border-top:0}.panel>.table-bordered,.panel>.table-responsive>.table-bordered{border:0}.panel>.table-bordered>thead>tr>th:first-child,.panel>.table-responsive>.table-bordered>thead>tr>th:first-child,.panel>.table-bordered>tbody>tr>th:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:first-child,.panel>.table-bordered>tfoot>tr>th:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:first-child,.panel>.table-bordered>thead>tr>td:first-child,.panel>.table-responsive>.table-bordered>thead>tr>td:first-child,.panel>.table-bordered>tbody>tr>td:first-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:first-child,.panel>.table-bordered>tfoot>tr>td:first-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0}.panel>.table-bordered>thead>tr>th:last-child,.panel>.table-responsive>.table-bordered>thead>tr>th:last-child,.panel>.table-bordered>tbody>tr>th:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>th:last-child,.panel>.table-bordered>tfoot>tr>th:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>th:last-child,.panel>.table-bordered>thead>tr>td:last-child,.panel>.table-responsive>.table-bordered>thead>tr>td:last-child,.panel>.table-bordered>tbody>tr>td:last-child,.panel>.table-responsive>.table-bordered>tbody>tr>td:last-child,.panel>.table-bordered>tfoot>tr>td:last-child,.panel>.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0}.panel>.table-bordered>thead>tr:first-child>td,.panel>.table-responsive>.table-bordered>thead>tr:first-child>td,.panel>.table-bordered>tbody>tr:first-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>td,.panel>.table-bordered>thead>tr:first-child>th,.panel>.table-responsive>.table-bordered>thead>tr:first-child>th,.panel>.table-bordered>tbody>tr:first-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:first-child>th{border-bottom:0}.panel>.table-bordered>tbody>tr:last-child>td,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>td,.panel>.table-bordered>tfoot>tr:last-child>td,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>td,.panel>.table-bordered>tbody>tr:last-child>th,.panel>.table-responsive>.table-bordered>tbody>tr:last-child>th,.panel>.table-bordered>tfoot>tr:last-child>th,.panel>.table-responsive>.table-bordered>tfoot>tr:last-child>th{border-bottom:0}.panel>.table-responsive{border:0;margin-bottom:0}.panel-group{margin-bottom:20px}.panel-group .panel{margin-bottom:0;border-radius:4px}.panel-group .panel+.panel{margin-top:5px}.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse>.panel-body,.panel-group .panel-heading+.panel-collapse>.list-group{border-top:1px solid #ddd}.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ddd}.panel-default>.panel-heading .badge{color:#f5f5f5;background-color:#333}.panel-default>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ddd}.panel-primary{border-color:#337ab7}.panel-primary>.panel-heading{color:#fff;background-color:#337ab7;border-color:#337ab7}.panel-primary>.panel-heading+.panel-collapse>.panel-body{border-top-color:#337ab7}.panel-primary>.panel-heading .badge{color:#337ab7;background-color:#fff}.panel-primary>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#337ab7}.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#3c763d;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse>.panel-body{border-top-color:#d6e9c6}.panel-success>.panel-heading .badge{color:#dff0d8;background-color:#3c763d}.panel-success>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#d6e9c6}.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#31708f;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse>.panel-body{border-top-color:#bce8f1}.panel-info>.panel-heading .badge{color:#d9edf7;background-color:#31708f}.panel-info>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#bce8f1}.panel-warning{border-color:#faebcc}.panel-warning>.panel-heading{color:#8a6d3b;background-color:#fcf8e3;border-color:#faebcc}.panel-warning>.panel-heading+.panel-collapse>.panel-body{border-top-color:#faebcc}.panel-warning>.panel-heading .badge{color:#fcf8e3;background-color:#8a6d3b}.panel-warning>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#faebcc}.panel-danger{border-color:#ebccd1}.panel-danger>.panel-heading{color:#a94442;background-color:#f2dede;border-color:#ebccd1}.panel-danger>.panel-heading+.panel-collapse>.panel-body{border-top-color:#ebccd1}.panel-danger>.panel-heading .badge{color:#f2dede;background-color:#a94442}.panel-danger>.panel-footer+.panel-collapse>.panel-body{border-bottom-color:#ebccd1}.embed-responsive{position:relative;display:block;height:0;padding:0;overflow:hidden}.embed-responsive .embed-responsive-item,.embed-responsive iframe,.embed-responsive embed,.embed-responsive object,.embed-responsive video{position:absolute;top:0;left:0;bottom:0;height:100%;width:100%;border:0}.embed-responsive-16by9{padding-bottom:56.25%}.embed-responsive-4by3{padding-bottom:75%}.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}.well-lg{padding:24px;border-radius:6px}.well-sm{padding:9px;border-radius:3px}.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}.modal-open{overflow:hidden}.modal{display:none;overflow:hidden;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1050;-webkit-overflow-scrolling:touch;outline:0}.modal.fade .modal-dialog{-webkit-transform:translate(0,-25%);-ms-transform:translate(0,-25%);-o-transform:translate(0,-25%);transform:translate(0,-25%);-webkit-transition:-webkit-transform .3s ease-out;-moz-transition:-moz-transform .3s ease-out;-o-transition:-o-transform .3s ease-out;transition:transform .3s ease-out}.modal.in .modal-dialog{-webkit-transform:translate(0,0);-ms-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal-dialog{position:relative;width:auto;margin:10px}.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box;outline:0}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}.modal-header{padding:15px;border-bottom:1px solid #e5e5e5}.modal-header .close{margin-top:-2px}.modal-title{margin:0;line-height:1.42857143}.modal-body{position:relative;padding:15px}.modal-footer{padding:15px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}.modal-footer .btn-group .btn+.btn{margin-left:-1px}.modal-footer .btn-block+.btn-block{margin-left:0}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media(min-width:768px){.modal-dialog{width:600px;margin:30px auto}.modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}.modal-sm{width:300px}}@media(min-width:992px){.modal-lg{width:900px}}.tooltip{position:absolute;z-index:1070;display:block;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:12px;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}.tooltip.top{margin-top:-3px;padding:5px 0}.tooltip.right{margin-left:3px;padding:0 5px}.tooltip.bottom{margin-top:3px;padding:5px 0}.tooltip.left{margin-left:-3px;padding:0 5px}.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;background-color:#000;border-radius:4px}.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-left .tooltip-arrow{bottom:0;right:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.top-right .tooltip-arrow{bottom:0;left:5px;margin-bottom:-5px;border-width:5px 5px 0;border-top-color:#000}.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-left .tooltip-arrow{top:0;right:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.tooltip.bottom-right .tooltip-arrow{top:0;left:5px;margin-top:-5px;border-width:0 5px 5px;border-bottom-color:#000}.popover{position:absolute;top:0;left:0;z-index:1060;display:none;max-width:276px;padding:1px;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-style:normal;font-weight:normal;letter-spacing:normal;line-break:auto;line-height:1.42857143;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;white-space:normal;word-break:normal;word-spacing:normal;word-wrap:normal;font-size:14px;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.popover.top{margin-top:-10px}.popover.right{margin-left:10px}.popover.bottom{margin-top:10px}.popover.left{margin-left:-10px}.popover-title{margin:0;padding:8px 14px;font-size:14px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}.popover-content{padding:9px 14px}.popover>.arrow,.popover>.arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}.popover>.arrow{border-width:11px}.popover>.arrow:after{border-width:10px;content:""}.popover.top>.arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.popover.top>.arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}.popover.right>.arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,0.25)}.popover.right>.arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}.popover.bottom>.arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.popover.bottom>.arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}.popover.left>.arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,0.25)}.popover.left>.arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}.carousel{position:relative}.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;-o-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{line-height:1}@media all and (transform-3d),(-webkit-transform-3d){.carousel-inner>.item{-webkit-transition:-webkit-transform .6s ease-in-out;-moz-transition:-moz-transform .6s ease-in-out;-o-transition:-o-transform .6s ease-in-out;transition:transform .6s ease-in-out;-webkit-backface-visibility:hidden;-moz-backface-visibility:hidden;backface-visibility:hidden;-webkit-perspective:1000px;-moz-perspective:1000px;perspective:1000px}.carousel-inner>.item.next,.carousel-inner>.item.active.right{-webkit-transform:translate3d(100%,0,0);transform:translate3d(100%,0,0);left:0}.carousel-inner>.item.prev,.carousel-inner>.item.active.left{-webkit-transform:translate3d(-100%,0,0);transform:translate3d(-100%,0,0);left:0}.carousel-inner>.item.next.left,.carousel-inner>.item.prev.right,.carousel-inner>.item.active{-webkit-transform:translate3d(0,0,0);transform:translate3d(0,0,0);left:0}}.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}.carousel-inner>.active{left:0}.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}.carousel-inner>.next{left:100%}.carousel-inner>.prev{left:-100%}.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}.carousel-inner>.active.left{left:-100%}.carousel-inner>.active.right{left:100%}.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:.5;filter:alpha(opacity=50);font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6);background-color:rgba(0,0,0,0)}.carousel-control.left{background-image:-webkit-linear-gradient(left,rgba(0,0,0,0.5) 0,rgba(0,0,0,0.0001) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,0.5) 0,rgba(0,0,0,0.0001) 100%);background-image:linear-gradient(to right,rgba(0,0,0,0.5) 0,rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000',endColorstr='#00000000',GradientType=1)}.carousel-control.right{left:auto;right:0;background-image:-webkit-linear-gradient(left,rgba(0,0,0,0.0001) 0,rgba(0,0,0,0.5) 100%);background-image:-o-linear-gradient(left,rgba(0,0,0,0.0001) 0,rgba(0,0,0,0.5) 100%);background-image:linear-gradient(to right,rgba(0,0,0,0.0001) 0,rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000',endColorstr='#80000000',GradientType=1)}.carousel-control:hover,.carousel-control:focus{outline:0;color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;margin-top:-10px;z-index:5;display:inline-block}.carousel-control .icon-prev,.carousel-control .glyphicon-chevron-left{left:50%;margin-left:-10px}.carousel-control .icon-next,.carousel-control .glyphicon-chevron-right{right:50%;margin-right:-10px}.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;line-height:1;font-family:serif}.carousel-control .icon-prev:before{content:'\2039'}.carousel-control .icon-next:before{content:'\203a'}.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer;background-color:#000 \9;background-color:rgba(0,0,0,0)}.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}@media screen and (min-width:768px){.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right,.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-10px;font-size:30px}.carousel-control .glyphicon-chevron-left,.carousel-control .icon-prev{margin-left:-10px}.carousel-control .glyphicon-chevron-right,.carousel-control .icon-next{margin-right:-10px}.carousel-caption{left:20%;right:20%;padding-bottom:30px}.carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after,.dl-horizontal dd:before,.dl-horizontal dd:after,.container:before,.container:after,.container-fluid:before,.container-fluid:after,.row:before,.row:after,.form-horizontal .form-group:before,.form-horizontal .form-group:after,.btn-toolbar:before,.btn-toolbar:after,.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after,.nav:before,.nav:after,.navbar:before,.navbar:after,.navbar-header:before,.navbar-header:after,.navbar-collapse:before,.navbar-collapse:after,.pager:before,.pager:after,.panel-body:before,.panel-body:after,.modal-header:before,.modal-header:after,.modal-footer:before,.modal-footer:after{content:" ";display:table}.clearfix:after,.dl-horizontal dd:after,.container:after,.container-fluid:after,.row:after,.form-horizontal .form-group:after,.btn-toolbar:after,.btn-group-vertical>.btn-group:after,.nav:after,.navbar:after,.navbar-header:after,.navbar-collapse:after,.pager:after,.panel-body:after,.modal-header:after,.modal-footer:after{clear:both}.center-block{display:block;margin-left:auto;margin-right:auto}.pull-right{float:right!important}.pull-left{float:left!important}.hide{display:none!important}.show{display:block!important}.invisible{visibility:hidden}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.hidden{display:none!important}.affix{position:fixed}@-ms-viewport{width:device-width}.visible-xs,.visible-sm,.visible-md,.visible-lg{display:none!important}.visible-xs-block,.visible-xs-inline,.visible-xs-inline-block,.visible-sm-block,.visible-sm-inline,.visible-sm-inline-block,.visible-md-block,.visible-md-inline,.visible-md-inline-block,.visible-lg-block,.visible-lg-inline,.visible-lg-inline-block{display:none!important}@media(max-width:767px){.visible-xs{display:block!important}table.visible-xs{display:table!important}tr.visible-xs{display:table-row!important}th.visible-xs,td.visible-xs{display:table-cell!important}}@media(max-width:767px){.visible-xs-block{display:block!important}}@media(max-width:767px){.visible-xs-inline{display:inline!important}}@media(max-width:767px){.visible-xs-inline-block{display:inline-block!important}}@media(min-width:768px) and (max-width:991px){.visible-sm{display:block!important}table.visible-sm{display:table!important}tr.visible-sm{display:table-row!important}th.visible-sm,td.visible-sm{display:table-cell!important}}@media(min-width:768px) and (max-width:991px){.visible-sm-block{display:block!important}}@media(min-width:768px) and (max-width:991px){.visible-sm-inline{display:inline!important}}@media(min-width:768px) and (max-width:991px){.visible-sm-inline-block{display:inline-block!important}}@media(min-width:992px) and (max-width:1199px){.visible-md{display:block!important}table.visible-md{display:table!important}tr.visible-md{display:table-row!important}th.visible-md,td.visible-md{display:table-cell!important}}@media(min-width:992px) and (max-width:1199px){.visible-md-block{display:block!important}}@media(min-width:992px) and (max-width:1199px){.visible-md-inline{display:inline!important}}@media(min-width:992px) and (max-width:1199px){.visible-md-inline-block{display:inline-block!important}}@media(min-width:1200px){.visible-lg{display:block!important}table.visible-lg{display:table!important}tr.visible-lg{display:table-row!important}th.visible-lg,td.visible-lg{display:table-cell!important}}@media(min-width:1200px){.visible-lg-block{display:block!important}}@media(min-width:1200px){.visible-lg-inline{display:inline!important}}@media(min-width:1200px){.visible-lg-inline-block{display:inline-block!important}}@media(max-width:767px){.hidden-xs{display:none!important}}@media(min-width:768px) and (max-width:991px){.hidden-sm{display:none!important}}@media(min-width:992px) and (max-width:1199px){.hidden-md{display:none!important}}@media(min-width:1200px){.hidden-lg{display:none!important}}.visible-print{display:none!important}@media print{.visible-print{display:block!important}table.visible-print{display:table!important}tr.visible-print{display:table-row!important}th.visible-print,td.visible-print{display:table-cell!important}}.visible-print-block{display:none!important}@media print{.visible-print-block{display:block!important}}.visible-print-inline{display:none!important}@media print{.visible-print-inline{display:inline!important}}.visible-print-inline-block{display:none!important}@media print{.visible-print-inline-block{display:inline-block!important}}@media print{.hidden-print{display:none!important}}
\ No newline at end of file
diff --git a/core/Test/build/css/nv.d3.min.css b/core/Test/build/css/nv.d3.min.css
new file mode 100644
index 0000000000000000000000000000000000000000..cad2cda00341b1d9ff89809209e67edbf390063b
--- /dev/null
+++ b/core/Test/build/css/nv.d3.min.css
@@ -0,0 +1 @@
+.nvd3 .nv-axis{pointer-events:none;opacity:1}.nvd3 .nv-axis path{fill:none;stroke:#000;stroke-opacity:.75;shape-rendering:crispEdges}.nvd3 .nv-axis path.domain{stroke-opacity:.75}.nvd3 .nv-axis.nv-x path.domain{stroke-opacity:0}.nvd3 .nv-axis line{fill:none;stroke:#e5e5e5;shape-rendering:crispEdges}.nvd3 .nv-axis .zero line,.nvd3 .nv-axis line.zero{stroke-opacity:.75}.nvd3 .nv-axis .nv-axisMaxMin text{font-weight:bold}.nvd3 .x .nv-axis .nv-axisMaxMin text,.nvd3 .x2 .nv-axis .nv-axisMaxMin text,.nvd3 .x3 .nv-axis .nv-axisMaxMin text{text-anchor:middle}.nvd3 .nv-axis.nv-disabled{opacity:0}.nvd3 .nv-bars rect{fill-opacity:.75;transition:fill-opacity 250ms linear;-moz-transition:fill-opacity 250ms linear;-webkit-transition:fill-opacity 250ms linear}.nvd3 .nv-bars rect.hover{fill-opacity:1}.nvd3 .nv-bars .hover rect{fill:lightblue}.nvd3 .nv-bars text{fill:rgba(0,0,0,0)}.nvd3 .nv-bars .hover text{fill:rgba(0,0,0,1)}.nvd3 .nv-multibar .nv-groups rect,.nvd3 .nv-multibarHorizontal .nv-groups rect,.nvd3 .nv-discretebar .nv-groups rect{stroke-opacity:0;transition:fill-opacity 250ms linear;-moz-transition:fill-opacity 250ms linear;-webkit-transition:fill-opacity 250ms linear}.nvd3 .nv-multibar .nv-groups rect:hover,.nvd3 .nv-multibarHorizontal .nv-groups rect:hover,.nvd3 .nv-candlestickBar .nv-ticks rect:hover,.nvd3 .nv-discretebar .nv-groups rect:hover{fill-opacity:1}.nvd3 .nv-discretebar .nv-groups text,.nvd3 .nv-multibarHorizontal .nv-groups text{font-weight:bold;fill:rgba(0,0,0,1);stroke:rgba(0,0,0,0)}.nvd3 .nv-boxplot circle{fill-opacity:.5}.nvd3 .nv-boxplot circle:hover{fill-opacity:1}.nvd3 .nv-boxplot rect:hover{fill-opacity:1}.nvd3 line.nv-boxplot-median{stroke:black}.nv-boxplot-tick:hover{stroke-width:2.5px}.nvd3.nv-bullet{font:10px sans-serif}.nvd3.nv-bullet .nv-measure{fill-opacity:.8}.nvd3.nv-bullet .nv-measure:hover{fill-opacity:1}.nvd3.nv-bullet .nv-marker{stroke:#000;stroke-width:2px}.nvd3.nv-bullet .nv-markerTriangle{stroke:#000;fill:#fff;stroke-width:1.5px}.nvd3.nv-bullet .nv-tick line{stroke:#666;stroke-width:.5px}.nvd3.nv-bullet .nv-range.nv-s0{fill:#eee}.nvd3.nv-bullet .nv-range.nv-s1{fill:#ddd}.nvd3.nv-bullet .nv-range.nv-s2{fill:#ccc}.nvd3.nv-bullet .nv-title{font-size:14px;font-weight:bold}.nvd3.nv-bullet .nv-subtitle{fill:#999}.nvd3.nv-bullet .nv-range{fill:#bababa;fill-opacity:.4}.nvd3.nv-bullet .nv-range:hover{fill-opacity:.7}.nvd3.nv-candlestickBar .nv-ticks .nv-tick{stroke-width:1px}.nvd3.nv-candlestickBar .nv-ticks .nv-tick.hover{stroke-width:2px}.nvd3.nv-candlestickBar .nv-ticks .nv-tick.positive rect{stroke:#2ca02c;fill:#2ca02c}.nvd3.nv-candlestickBar .nv-ticks .nv-tick.negative rect{stroke:#d62728;fill:#d62728}.with-transitions .nv-candlestickBar .nv-ticks .nv-tick{transition:stroke-width 250ms linear,stroke-opacity 250ms linear;-moz-transition:stroke-width 250ms linear,stroke-opacity 250ms linear;-webkit-transition:stroke-width 250ms linear,stroke-opacity 250ms linear}.nvd3.nv-candlestickBar .nv-ticks line{stroke:#333}.nvd3 .nv-legend .nv-disabled rect{}.nvd3 .nv-check-box .nv-box{fill-opacity:0;stroke-width:2}.nvd3 .nv-check-box .nv-check{fill-opacity:0;stroke-width:4}.nvd3 .nv-series.nv-disabled .nv-check-box .nv-check{fill-opacity:0;stroke-opacity:0}.nvd3 .nv-controlsWrap .nv-legend .nv-check-box .nv-check{opacity:0}.nvd3.nv-linePlusBar .nv-bar rect{fill-opacity:.75}.nvd3.nv-linePlusBar .nv-bar rect:hover{fill-opacity:1}.nvd3 .nv-groups path.nv-line{fill:none}.nvd3 .nv-groups path.nv-area{stroke:none}.nvd3.nv-line .nvd3.nv-scatter .nv-groups .nv-point{fill-opacity:0;stroke-opacity:0}.nvd3.nv-scatter.nv-single-point .nv-groups .nv-point{fill-opacity:.5!important;stroke-opacity:.5!important}.with-transitions .nvd3 .nv-groups .nv-point{transition:stroke-width 250ms linear,stroke-opacity 250ms linear;-moz-transition:stroke-width 250ms linear,stroke-opacity 250ms linear;-webkit-transition:stroke-width 250ms linear,stroke-opacity 250ms linear}.nvd3.nv-scatter .nv-groups .nv-point.hover,.nvd3 .nv-groups .nv-point.hover{stroke-width:7px;fill-opacity:.95!important;stroke-opacity:.95!important}.nvd3 .nv-point-paths path{stroke:#aaa;stroke-opacity:0;fill:#eee;fill-opacity:0}.nvd3 .nv-indexLine{cursor:ew-resize}svg.nvd3-svg{-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-ms-user-select:none;-moz-user-select:none;user-select:none;display:block;width:100%;height:100%}.nvtooltip.with-3d-shadow,.with-3d-shadow .nvtooltip{-moz-box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-box-shadow:0 5px 10px rgba(0,0,0,.2);box-shadow:0 5px 10px rgba(0,0,0,.2);-webkit-border-radius:5px;-moz-border-radius:5px;border-radius:5px}.nvd3 text{font:normal 12px Arial}.nvd3 .title{font:bold 14px Arial}.nvd3 .nv-background{fill:white;fill-opacity:0}.nvd3.nv-noData{font-size:18px;font-weight:bold}.nv-brush .extent{fill-opacity:.125;shape-rendering:crispEdges}.nv-brush .resize path{fill:#eee;stroke:#666}.nvd3 .nv-legend .nv-series{cursor:pointer}.nvd3 .nv-legend .nv-disabled circle{fill-opacity:0}.nvd3 .nv-brush .extent{fill-opacity:0!important}.nvd3 .nv-brushBackground rect{stroke:#000;stroke-width:.4;fill:#fff;fill-opacity:.7}.nvd3.nv-ohlcBar .nv-ticks .nv-tick{stroke-width:1px}.nvd3.nv-ohlcBar .nv-ticks .nv-tick.hover{stroke-width:2px}.nvd3.nv-ohlcBar .nv-ticks .nv-tick.positive{stroke:#2ca02c}.nvd3.nv-ohlcBar .nv-ticks .nv-tick.negative{stroke:#d62728}.nvd3 .background path{fill:none;stroke:#EEE;stroke-opacity:.4;shape-rendering:crispEdges}.nvd3 .foreground path{fill:none;stroke-opacity:.7}.nvd3 .nv-parallelCoordinates-brush .extent{fill:#fff;fill-opacity:.6;stroke:gray;shape-rendering:crispEdges}.nvd3 .nv-parallelCoordinates .hover{fill-opacity:1;stroke-width:3px}.nvd3 .missingValuesline line{fill:none;stroke:black;stroke-width:1;stroke-opacity:1;stroke-dasharray:5,5}.nvd3.nv-pie path{stroke-opacity:0;transition:fill-opacity 250ms linear,stroke-width 250ms linear,stroke-opacity 250ms linear;-moz-transition:fill-opacity 250ms linear,stroke-width 250ms linear,stroke-opacity 250ms linear;-webkit-transition:fill-opacity 250ms linear,stroke-width 250ms linear,stroke-opacity 250ms linear}.nvd3.nv-pie .nv-pie-title{font-size:24px;fill:rgba(19,196,249,0.59)}.nvd3.nv-pie .nv-slice text{stroke:#000;stroke-width:0}.nvd3.nv-pie path{stroke:#fff;stroke-width:1px;stroke-opacity:1}.nvd3.nv-pie .hover path{fill-opacity:.7}.nvd3.nv-pie .nv-label{pointer-events:none}.nvd3.nv-pie .nv-label rect{fill-opacity:0;stroke-opacity:0}.nvd3 .nv-groups .nv-point.hover{stroke-width:20px;stroke-opacity:.5}.nvd3 .nv-scatter .nv-point.hover{fill-opacity:1}.nv-noninteractive{pointer-events:none}.nv-distx,.nv-disty{pointer-events:none}.nvd3.nv-sparkline path{fill:none}.nvd3.nv-sparklineplus g.nv-hoverValue{pointer-events:none}.nvd3.nv-sparklineplus .nv-hoverValue line{stroke:#333;stroke-width:1.5px}.nvd3.nv-sparklineplus,.nvd3.nv-sparklineplus g{pointer-events:all}.nvd3 .nv-hoverArea{fill-opacity:0;stroke-opacity:0}.nvd3.nv-sparklineplus .nv-xValue,.nvd3.nv-sparklineplus .nv-yValue{stroke-width:0;font-size:.9em;font-weight:normal}.nvd3.nv-sparklineplus .nv-yValue{stroke:#f66}.nvd3.nv-sparklineplus .nv-maxValue{stroke:#2ca02c;fill:#2ca02c}.nvd3.nv-sparklineplus .nv-minValue{stroke:#d62728;fill:#d62728}.nvd3.nv-sparklineplus .nv-currentValue{font-weight:bold;font-size:1.1em}.nvd3.nv-stackedarea path.nv-area{fill-opacity:.7;stroke-opacity:0;transition:fill-opacity 250ms linear,stroke-opacity 250ms linear;-moz-transition:fill-opacity 250ms linear,stroke-opacity 250ms linear;-webkit-transition:fill-opacity 250ms linear,stroke-opacity 250ms linear}.nvd3.nv-stackedarea path.nv-area.hover{fill-opacity:.9}.nvd3.nv-stackedarea .nv-groups .nv-point{stroke-opacity:0;fill-opacity:0}.nvtooltip{position:absolute;background-color:rgba(255,255,255,1.0);color:rgba(0,0,0,1.0);padding:1px;border:1px solid rgba(0,0,0,.2);z-index:10000;display:block;font-family:Arial;font-size:13px;text-align:left;pointer-events:none;white-space:nowrap;-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.nvtooltip{background:rgba(255,255,255,0.8);border:1px solid rgba(0,0,0,0.5);border-radius:4px}.nvtooltip.with-transitions,.with-transitions .nvtooltip{transition:opacity 50ms linear;-moz-transition:opacity 50ms linear;-webkit-transition:opacity 50ms linear;transition-delay:200ms;-moz-transition-delay:200ms;-webkit-transition-delay:200ms}.nvtooltip.x-nvtooltip,.nvtooltip.y-nvtooltip{padding:8px}.nvtooltip h3{margin:0;padding:4px 14px;line-height:18px;font-weight:normal;background-color:rgba(247,247,247,0.75);color:rgba(0,0,0,1.0);text-align:center;border-bottom:1px solid #ebebeb;-webkit-border-radius:5px 5px 0 0;-moz-border-radius:5px 5px 0 0;border-radius:5px 5px 0 0}.nvtooltip p{margin:0;padding:5px 14px;text-align:center}.nvtooltip span{display:inline-block;margin:2px 0}.nvtooltip table{margin:6px;border-spacing:0}.nvtooltip table td{padding:2px 9px 2px 0;vertical-align:middle}.nvtooltip table td.key{font-weight:normal}.nvtooltip table td.value{text-align:right;font-weight:bold}.nvtooltip table tr.highlight td{padding:1px 9px 1px 0;border-bottom-style:solid;border-bottom-width:1px;border-top-style:solid;border-top-width:1px}.nvtooltip table td.legend-color-guide div{width:8px;height:8px;vertical-align:middle}.nvtooltip table td.legend-color-guide div{width:12px;height:12px;border:1px solid #999}.nvtooltip .footer{padding:3px;text-align:center}.nvtooltip-pending-removal{pointer-events:none;display:none}.nvd3 .nv-interactiveGuideLine{pointer-events:none}.nvd3 line.nv-guideline{stroke:#ccc}
\ No newline at end of file
diff --git a/core/Test/build/css/style.css b/core/Test/build/css/style.css
new file mode 100644
index 0000000000000000000000000000000000000000..824fb3171d6bab6e39f59684147613705bc9557a
--- /dev/null
+++ b/core/Test/build/css/style.css
@@ -0,0 +1,122 @@
+body {
+ padding-top: 10px;
+}
+
+.popover {
+ max-width: none;
+}
+
+.glyphicon {
+ margin-right:.25em;
+}
+
+.table-bordered>thead>tr>td {
+ border-bottom-width: 1px;
+}
+
+.table tbody>tr>td, .table thead>tr>td {
+ padding-top: 3px;
+ padding-bottom: 3px;
+}
+
+.table-condensed tbody>tr>td {
+ padding-top: 0;
+ padding-bottom: 0;
+}
+
+.table .progress {
+ margin-bottom: inherit;
+}
+
+.table-borderless th, .table-borderless td {
+ border: 0 !important;
+}
+
+.table tbody tr.covered-by-large-tests, li.covered-by-large-tests, tr.success, td.success, li.success, span.success {
+ background-color: #dff0d8;
+}
+
+.table tbody tr.covered-by-medium-tests, li.covered-by-medium-tests {
+ background-color: #c3e3b5;
+}
+
+.table tbody tr.covered-by-small-tests, li.covered-by-small-tests {
+ background-color: #99cb84;
+}
+
+.table tbody tr.danger, .table tbody td.danger, li.danger, span.danger {
+ background-color: #f2dede;
+}
+
+.table tbody td.warning, li.warning, span.warning {
+ background-color: #fcf8e3;
+}
+
+.table tbody td.info {
+ background-color: #d9edf7;
+}
+
+td.big {
+ width: 117px;
+}
+
+td.small {
+}
+
+td.codeLine {
+ font-family: monospace;
+ white-space: pre;
+}
+
+td span.comment {
+ color: #888a85;
+}
+
+td span.default {
+ color: #2e3436;
+}
+
+td span.html {
+ color: #888a85;
+}
+
+td span.keyword {
+ color: #2e3436;
+ font-weight: bold;
+}
+
+pre span.string {
+ color: #2e3436;
+}
+
+span.success, span.warning, span.danger {
+ margin-right: 2px;
+ padding-left: 10px;
+ padding-right: 10px;
+ text-align: center;
+}
+
+#classCoverageDistribution, #classComplexity {
+ height: 200px;
+ width: 475px;
+}
+
+#toplink {
+ position: fixed;
+ left: 5px;
+ bottom: 5px;
+ outline: 0;
+}
+
+svg text {
+ font-family: "Lucida Grande", "Lucida Sans Unicode", Verdana, Arial, Helvetica, sans-serif;
+ font-size: 11px;
+ color: #666;
+ fill: #666;
+}
+
+.scrollbox {
+ height:245px;
+ overflow-x:hidden;
+ overflow-y:scroll;
+}
diff --git a/core/Test/build/dashboard.html b/core/Test/build/dashboard.html
new file mode 100644
index 0000000000000000000000000000000000000000..c275b2d1c4d492a160263944792dd2bcbed1234a
--- /dev/null
+++ b/core/Test/build/dashboard.html
@@ -0,0 +1,286 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+  <meta charset="UTF-8">
+  <title>Dashboard for /var/www/html/MaarchCourrier/core/Test</title>
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <link href="css/bootstrap.min.css" rel="stylesheet">
+  <link href="css/nv.d3.min.css" rel="stylesheet">
+  <link href="css/style.css" rel="stylesheet">
+  <!--[if lt IE 9]>
+  <script src="js/html5shiv.min.js"></script>
+  <script src="js/respond.min.js"></script>
+  <![endif]-->
+ </head>
+ <body>
+  <header>
+   <div class="container">
+    <div class="row">
+     <div class="col-md-12">
+      <ol class="breadcrumb">
+        <li><a href="index.html">/var/www/html/MaarchCourrier/core/Test</a></li>
+        <li class="active">(Dashboard)</li>
+
+      </ol>
+     </div>
+    </div>
+   </div>
+  </header>
+  <div class="container">
+   <div class="row">
+    <div class="col-md-12">
+     <h2>Classes</h2>
+    </div>
+   </div>
+   <div class="row">
+    <div class="col-md-6">
+     <h3>Coverage Distribution</h3>
+     <div id="classCoverageDistribution" style="height: 300px;">
+       <svg></svg>
+     </div>
+    </div>
+    <div class="col-md-6">
+     <h3>Complexity</h3>
+     <div id="classComplexity" style="height: 300px;">
+       <svg></svg>
+     </div>
+    </div>
+   </div>
+   <div class="row">
+    <div class="col-md-6">
+     <h3>Insufficient Coverage</h3>
+     <div class="scrollbox">
+      <table class="table">
+       <thead>
+        <tr>
+         <th>Class</th>
+         <th class="text-right">Coverage</th>
+        </tr>
+       </thead>
+       <tbody>
+
+       </tbody>
+      </table>
+     </div>
+    </div>
+    <div class="col-md-6">
+     <h3>Project Risks</h3>
+     <div class="scrollbox">
+      <table class="table">
+       <thead>
+        <tr>
+         <th>Class</th>
+         <th class="text-right"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></th>
+        </tr>
+       </thead>
+       <tbody>
+
+       </tbody>
+      </table>
+     </div>
+    </div>
+   </div>
+   <div class="row">
+    <div class="col-md-12">
+     <h2>Methods</h2>
+    </div>
+   </div>
+   <div class="row">
+    <div class="col-md-6">
+     <h3>Coverage Distribution</h3>
+     <div id="methodCoverageDistribution" style="height: 300px;">
+       <svg></svg>
+     </div>
+    </div>
+    <div class="col-md-6">
+     <h3>Complexity</h3>
+     <div id="methodComplexity" style="height: 300px;">
+       <svg></svg>
+     </div>
+    </div>
+   </div>
+   <div class="row">
+    <div class="col-md-6">
+     <h3>Insufficient Coverage</h3>
+     <div class="scrollbox">
+      <table class="table">
+       <thead>
+        <tr>
+         <th>Method</th>
+         <th class="text-right">Coverage</th>
+        </tr>
+       </thead>
+       <tbody>
+
+       </tbody>
+      </table>
+     </div>
+    </div>
+    <div class="col-md-6">
+     <h3>Project Risks</h3>
+     <div class="scrollbox">
+      <table class="table">
+       <thead>
+        <tr>
+         <th>Method</th>
+         <th class="text-right"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></th>
+        </tr>
+       </thead>
+       <tbody>
+
+       </tbody>
+      </table>
+     </div>
+    </div>
+   </div>
+   <footer>
+    <hr/>
+    <p>
+     <small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 3.2.1</a> using <a href="http://php.net/" target="_top">PHP 7.0.16-4+deb.sury.org~xenial+1</a> and <a href="https://phpunit.de/">PHPUnit 5.1.3</a> at Tue Mar 14 18:24:26 CET 2017.</small>
+    </p>
+   </footer>
+  </div>
+  <script src="js/jquery.min.js" type="text/javascript"></script>
+  <script src="js/bootstrap.min.js" type="text/javascript"></script>
+  <script src="js/holder.min.js" type="text/javascript"></script>
+  <script src="js/d3.min.js" type="text/javascript"></script>
+  <script src="js/nv.d3.min.js" type="text/javascript"></script>
+  <script type="text/javascript">
+$(document).ready(function() {
+  nv.addGraph(function() {
+    var chart = nv.models.multiBarChart();
+    chart.tooltips(false)
+      .showControls(false)
+      .showLegend(false)
+      .reduceXTicks(false)
+      .staggerLabels(true)
+      .yAxis.tickFormat(d3.format('d'));
+
+    d3.select('#classCoverageDistribution svg')
+      .datum(getCoverageDistributionData([0,0,0,0,0,0,0,0,0,0,3,3], "Class Coverage"))
+      .transition().duration(500).call(chart);
+
+    nv.utils.windowResize(chart.update);
+
+    return chart;
+  });
+
+  nv.addGraph(function() {
+    var chart = nv.models.multiBarChart();
+    chart.tooltips(false)
+      .showControls(false)
+      .showLegend(false)
+      .reduceXTicks(false)
+      .staggerLabels(true)
+      .yAxis.tickFormat(d3.format('d'));
+
+    d3.select('#methodCoverageDistribution svg')
+      .datum(getCoverageDistributionData([0,0,0,0,0,0,0,0,0,1,5,24], "Method Coverage"))
+      .transition().duration(500).call(chart);
+
+    nv.utils.windowResize(chart.update);
+
+    return chart;
+  });
+
+  function getCoverageDistributionData(data, label) {
+    var labels = [
+      '0%',
+      '0-10%',
+      '10-20%',
+      '20-30%',
+      '30-40%',
+      '40-50%',
+      '50-60%',
+      '60-70%',
+      '70-80%',
+      '80-90%',
+      '90-100%',
+      '100%'
+    ];
+    var values = [];
+    $.each(labels, function(key) {
+      values.push({x: labels[key], y: data[key]});
+    });
+
+    return [
+      {
+        key: label,
+        values: values,
+        color: "#4572A7"
+      }
+    ];
+  }
+  nv.addGraph(function() {
+    var chart = nv.models.scatterChart()
+      .showDistX(true)
+      .showDistY(true)
+      .showLegend(false)
+      .forceX([0, 100]);
+    chart.tooltipContent(function(key, y, e, graph) {
+      return '<p>' + graph.point.class + '</p>';
+    });
+
+    chart.xAxis.axisLabel('Code Coverage (in percent)');
+    chart.yAxis.axisLabel('Cyclomatic Complexity');
+
+    d3.select('#classComplexity svg')
+      .datum(getComplexityData([[100,6,"<a href=\"DocserverControllerTest.php.html#14\">DocserverControllerTest<\/a>"],[93.44262295082,10,"<a href=\"DocserverToolsControllerTest.php.html#14\">DocserverToolsControllerTest<\/a>"],[100,2,"<a href=\"DocserverTypeControllerTest.php.html#14\">DocserverTypeControllerTest<\/a>"],[98.876404494382,7,"<a href=\"ResControllerTest.php.html#14\">ResControllerTest<\/a>"],[99.259259259259,8,"<a href=\"ResExtControllerTest.php.html#14\">ResExtControllerTest<\/a>"],[100,5,"<a href=\"StatusControllerTest.php.html#14\">StatusControllerTest<\/a>"]], 'Class Complexity'))
+      .transition()
+      .duration(500)
+      .call(chart);
+
+    nv.utils.windowResize(chart.update);
+
+    return chart;
+  });
+
+  nv.addGraph(function() {
+    var chart = nv.models.scatterChart()
+      .showDistX(true)
+      .showDistY(true)
+      .showLegend(false)
+      .forceX([0, 100]);
+    chart.tooltipContent(function(key, y, e, graph) {
+      return '<p>' + graph.point.class + '</p>';
+    });
+
+    chart.xAxis.axisLabel('Code Coverage (in percent)');
+    chart.yAxis.axisLabel('Method Complexity');
+
+    d3.select('#methodComplexity svg')
+      .datum(getComplexityData([[100,1,"<a href=\"DocserverControllerTest.php.html#141\">DocserverControllerTest::testGetDocserverToInsert<\/a>"],[100,1,"<a href=\"DocserverControllerTest.php.html#157\">DocserverControllerTest::testCheckSize<\/a>"],[100,1,"<a href=\"DocserverControllerTest.php.html#177\">DocserverControllerTest::testSetSize<\/a>"],[100,1,"<a href=\"DocserverControllerTest.php.html#197\">DocserverControllerTest::testGetNextFileNameInDocserver<\/a>"],[100,2,"<a href=\"DocserverControllerTest.php.html#210\">DocserverControllerTest::testStoreResourceOnDocserver<\/a>"],[100,1,"<a href=\"DocserverToolsControllerTest.php.html#16\">DocserverToolsControllerTest::testSetRights<\/a>"],[92.307692307692,2,"<a href=\"DocserverToolsControllerTest.php.html#29\">DocserverToolsControllerTest::testDoFingerprint<\/a>"],[92.857142857143,2,"<a href=\"DocserverToolsControllerTest.php.html#56\">DocserverToolsControllerTest::testControlFingerprint<\/a>"],[93.75,2,"<a href=\"DocserverToolsControllerTest.php.html#83\">DocserverToolsControllerTest::testCopyOnDocserver<\/a>"],[87.5,2,"<a href=\"DocserverToolsControllerTest.php.html#112\">DocserverToolsControllerTest::testWashTmp<\/a>"],[100,1,"<a href=\"DocserverToolsControllerTest.php.html#132\">DocserverToolsControllerTest::testCreatePathOnDocServer<\/a>"],[100,1,"<a href=\"DocserverTypeControllerTest.php.html#16\">DocserverTypeControllerTest::testGetList<\/a>"],[100,1,"<a href=\"DocserverTypeControllerTest.php.html#35\">DocserverTypeControllerTest::testGetById<\/a>"],[100,1,"<a href=\"ResControllerTest.php.html#17\">ResControllerTest::testPrepareStorage<\/a>"],[100,2,"<a href=\"ResControllerTest.php.html#53\">ResControllerTest::testStoreResource<\/a>"],[100,1,"<a href=\"ResControllerTest.php.html#124\">ResControllerTest::testDelete<\/a>"],[96.875,2,"<a href=\"ResControllerTest.php.html#147\">ResControllerTest::testCreate<\/a>"],[100,1,"<a href=\"ResControllerTest.php.html#232\">ResControllerTest::testDeleteRes<\/a>"],[100,1,"<a href=\"ResExtControllerTest.php.html#16\">ResExtControllerTest::testCreate<\/a>"],[100,1,"<a href=\"ResExtControllerTest.php.html#118\">ResExtControllerTest::testDelete<\/a>"],[100,1,"<a href=\"ResExtControllerTest.php.html#141\">ResExtControllerTest::testPrepareStorageExt<\/a>"],[100,1,"<a href=\"ResExtControllerTest.php.html#230\">ResExtControllerTest::testStoreExtResource<\/a>"],[100,1,"<a href=\"ResExtControllerTest.php.html#324\">ResExtControllerTest::testDeleteExtRes<\/a>"],[96.296296296296,2,"<a href=\"ResExtControllerTest.php.html#339\">ResExtControllerTest::createResArtefact<\/a>"],[100,1,"<a href=\"ResExtControllerTest.php.html#410\">ResExtControllerTest::deleteResArtefact<\/a>"],[100,1,"<a href=\"StatusControllerTest.php.html#16\">StatusControllerTest::testGetList<\/a>"],[100,1,"<a href=\"StatusControllerTest.php.html#35\">StatusControllerTest::testGetById<\/a>"],[100,1,"<a href=\"StatusControllerTest.php.html#60\">StatusControllerTest::testCreate<\/a>"],[100,1,"<a href=\"StatusControllerTest.php.html#90\">StatusControllerTest::testUpdate<\/a>"],[100,1,"<a href=\"StatusControllerTest.php.html#120\">StatusControllerTest::testDelete<\/a>"]], 'Method Complexity'))
+      .transition()
+      .duration(500)
+      .call(chart);
+
+    nv.utils.windowResize(chart.update);
+
+    return chart;
+  });
+
+  function getComplexityData(data, label) {
+    var values = [];
+    $.each(data, function(key) {
+      var value = Math.round(data[key][0]*100) / 100;
+      values.push({
+        x: value,
+        y: data[key][1],
+        class: data[key][2],
+        size: 0.05,
+        shape: 'diamond'
+      });
+    });
+
+    return [
+      {
+        key: label,
+        values: values,
+        color: "#4572A7"
+      }
+    ];
+  }
+});
+  </script>
+ </body>
+</html>
diff --git a/core/Test/build/define.php.html b/core/Test/build/define.php.html
new file mode 100644
index 0000000000000000000000000000000000000000..84510a2b95b8c5bd8df42fb3923b0252cc99dc37
--- /dev/null
+++ b/core/Test/build/define.php.html
@@ -0,0 +1,194 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+  <meta charset="UTF-8">
+  <title>Code Coverage for /var/www/html/MaarchCourrier/core/Test/define.php</title>
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <link href="css/bootstrap.min.css" rel="stylesheet">
+  <link href="css/style.css" rel="stylesheet">
+  <!--[if lt IE 9]>
+  <script src="js/html5shiv.min.js"></script>
+  <script src="js/respond.min.js"></script>
+  <![endif]-->
+ </head>
+ <body>
+  <header>
+   <div class="container">
+    <div class="row">
+     <div class="col-md-12">
+      <ol class="breadcrumb">
+        <li><a href="index.html">/var/www/html/MaarchCourrier/core/Test</a></li>
+        <li class="active">define.php</li>
+
+      </ol>
+     </div>
+    </div>
+   </div>
+  </header>
+  <div class="container">
+   <table class="table table-bordered">
+    <thead>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="10"><div align="center"><strong>Code Coverage</strong></div></td>
+     </tr>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td>
+      <td colspan="4"><div align="center"><strong>Functions and Methods</strong></div></td>
+      <td colspan="3"><div align="center"><strong>Lines</strong></div></td>
+     </tr>
+    </thead>
+    <tbody>
+     <tr>
+      <td class="success">Total</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right"></div></td>
+      <td class="success small"><div align="right">0&nbsp;/&nbsp;0</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">0&nbsp;/&nbsp;0</div></td>
+      <td class="success small"><abbr title="Change Risk Anti-Patterns (CRAP) Index">CRAP</abbr></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;51</div></td>
+     </tr>
+
+
+    </tbody>
+   </table>
+   <table id="code" class="table table-borderless table-condensed">
+    <tbody>
+     <tr><td><div align="right"><a name="1"></a><a href="#1">1</a></div></td><td class="codeLine"><span class="default">&lt;?php</span></td></tr>
+     <tr><td><div align="right"><a name="2"></a><a href="#2">2</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="3"></a><a href="#3">3</a></div></td><td class="codeLine"><span class="comment">/**</span></td></tr>
+     <tr><td><div align="right"><a name="4"></a><a href="#4">4</a></div></td><td class="codeLine"><span class="comment">*&nbsp;Copyright&nbsp;Maarch&nbsp;since&nbsp;2008&nbsp;under&nbsp;licence&nbsp;GPLv3.</span></td></tr>
+     <tr><td><div align="right"><a name="5"></a><a href="#5">5</a></div></td><td class="codeLine"><span class="comment">*&nbsp;See&nbsp;LICENCE.txt&nbsp;file&nbsp;at&nbsp;the&nbsp;root&nbsp;folder&nbsp;for&nbsp;more&nbsp;details.</span></td></tr>
+     <tr><td><div align="right"><a name="6"></a><a href="#6">6</a></div></td><td class="codeLine"><span class="comment">*&nbsp;This&nbsp;file&nbsp;is&nbsp;part&nbsp;of&nbsp;Maarch&nbsp;software.</span></td></tr>
+     <tr><td><div align="right"><a name="7"></a><a href="#7">7</a></div></td><td class="codeLine"><span class="comment">*</span></td></tr>
+     <tr><td><div align="right"><a name="8"></a><a href="#8">8</a></div></td><td class="codeLine"><span class="comment">*/</span></td></tr>
+     <tr><td><div align="right"><a name="9"></a><a href="#9">9</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="10"></a><a href="#10">10</a></div></td><td class="codeLine"><span class="keyword">require_once</span><span class="default">&nbsp;</span><span class="default">'vendor/autoload.php'</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="11"></a><a href="#11">11</a></div></td><td class="codeLine"><span class="keyword">require_once</span><span class="default">&nbsp;</span><span class="default">'core/class/class_functions.php'</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="12"></a><a href="#12">12</a></div></td><td class="codeLine"><span class="keyword">include_once</span><span class="keyword">(</span><span class="default">'core/init.php'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="13"></a><a href="#13">13</a></div></td><td class="codeLine"><span class="keyword">require_once</span><span class="keyword">(</span><span class="default">'core/class/class_portal.php'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="14"></a><a href="#14">14</a></div></td><td class="codeLine"><span class="keyword">require_once</span><span class="keyword">(</span><span class="default">'core/class/class_db.php'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="15"></a><a href="#15">15</a></div></td><td class="codeLine"><span class="keyword">require_once</span><span class="keyword">(</span><span class="default">'core/class/class_request.php'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="16"></a><a href="#16">16</a></div></td><td class="codeLine"><span class="keyword">require_once</span><span class="keyword">(</span><span class="default">'core/class/class_core_tools.php'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="17"></a><a href="#17">17</a></div></td><td class="codeLine"><span class="keyword">require_once</span><span class="keyword">(</span><span class="default">'core/class/web_service/class_web_service.php'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="18"></a><a href="#18">18</a></div></td><td class="codeLine"><span class="keyword">require_once</span><span class="keyword">(</span><span class="default">'core/services/CoreConfig.php'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="19"></a><a href="#19">19</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="20"></a><a href="#20">20</a></div></td><td class="codeLine"><span class="comment">//for&nbsp;auth</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="21"></a><a href="#21">21</a></div></td><td class="codeLine"><span class="default">$_SERVER</span><span class="keyword">[</span><span class="default">'PHP_AUTH_USER'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'superadmin'</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="22"></a><a href="#22">22</a></div></td><td class="codeLine"><span class="default">$_SERVER</span><span class="keyword">[</span><span class="default">'PHP_AUTH_PW'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">'superadmin'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="23"></a><a href="#23">23</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="24"></a><a href="#24">24</a></div></td><td class="codeLine"><span class="comment">//load&nbsp;Maarch&nbsp;session&nbsp;vars</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="25"></a><a href="#25">25</a></div></td><td class="codeLine"><span class="default">$portal</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">portal</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="26"></a><a href="#26">26</a></div></td><td class="codeLine"><span class="default">$portal</span><span class="default">-&gt;</span><span class="default">unset_session</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="27"></a><a href="#27">27</a></div></td><td class="codeLine"><span class="default">$portal</span><span class="default">-&gt;</span><span class="default">build_config</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="28"></a><a href="#28">28</a></div></td><td class="codeLine"><span class="default">$coreTools</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">core_tools</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="29"></a><a href="#29">29</a></div></td><td class="codeLine"><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'custom_override_id'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$coreTools</span><span class="default">-&gt;</span><span class="default">get_custom_id</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="30"></a><a href="#30">30</a></div></td><td class="codeLine"><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">isset</span><span class="keyword">(</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'custom_override_id'</span><span class="keyword">]</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="31"></a><a href="#31">31</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&amp;&amp;</span><span class="default">&nbsp;</span><span class="keyword">!</span><span class="default">&nbsp;</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'custom_override_id'</span><span class="keyword">]</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="32"></a><a href="#32">32</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&amp;&amp;</span><span class="default">&nbsp;</span><span class="keyword">isset</span><span class="keyword">(</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'config'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'corepath'</span><span class="keyword">]</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="33"></a><a href="#33">33</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&amp;&amp;</span><span class="default">&nbsp;</span><span class="keyword">!</span><span class="default">&nbsp;</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'config'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'corepath'</span><span class="keyword">]</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="34"></a><a href="#34">34</a></div></td><td class="codeLine"><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="35"></a><a href="#35">35</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'config'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'corepath'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'custom'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">DIRECTORY_SEPARATOR</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="36"></a><a href="#36">36</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'custom_override_id'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">DIRECTORY_SEPARATOR</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="37"></a><a href="#37">37</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">set_include_path</span><span class="keyword">(</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="38"></a><a href="#38">38</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$path</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">PATH_SEPARATOR</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'config'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'corepath'</span><span class="keyword">]</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="39"></a><a href="#39">39</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">PATH_SEPARATOR</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">get_include_path</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="40"></a><a href="#40">40</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="41"></a><a href="#41">41</a></div></td><td class="codeLine"><span class="keyword">}</span><span class="default">&nbsp;</span><span class="keyword">else</span><span class="default">&nbsp;</span><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="keyword">isset</span><span class="keyword">(</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'config'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'corepath'</span><span class="keyword">]</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="42"></a><a href="#42">42</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">&amp;&amp;</span><span class="default">&nbsp;</span><span class="keyword">!</span><span class="default">&nbsp;</span><span class="keyword">empty</span><span class="keyword">(</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'config'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'corepath'</span><span class="keyword">]</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="43"></a><a href="#43">43</a></div></td><td class="codeLine"><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="44"></a><a href="#44">44</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">set_include_path</span><span class="keyword">(</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="45"></a><a href="#45">45</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'config'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'corepath'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">PATH_SEPARATOR</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">get_include_path</span><span class="keyword">(</span><span class="keyword">)</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="46"></a><a href="#46">46</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="47"></a><a href="#47">47</a></div></td><td class="codeLine"><span class="keyword">}</span></td></tr>
+     <tr><td><div align="right"><a name="48"></a><a href="#48">48</a></div></td><td class="codeLine"><span class="comment">//&nbsp;Load&nbsp;configuration&nbsp;from&nbsp;xml&nbsp;into&nbsp;session</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="49"></a><a href="#49">49</a></div></td><td class="codeLine"><span class="default">Core_CoreConfig_Service</span><span class="default">::</span><span class="default">buildCoreConfig</span><span class="keyword">(</span><span class="default">'core'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">DIRECTORY_SEPARATOR</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'xml'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">DIRECTORY_SEPARATOR</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'config.xml'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="50"></a><a href="#50">50</a></div></td><td class="codeLine"><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'config'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'app_id'</span><span class="keyword">]</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'businessapps'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'appid'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="51"></a><a href="#51">51</a></div></td><td class="codeLine"><span class="keyword">require_once</span><span class="default">&nbsp;</span><span class="default">'apps/'</span><span class="default">&nbsp;</span><span class="keyword">.</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'businessapps'</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">0</span><span class="keyword">]</span><span class="keyword">[</span><span class="default">'appid'</span><span class="keyword">]</span><span class="keyword">.</span><span class="default">&nbsp;</span><span class="default">'/class/class_business_app_tools.php'</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="52"></a><a href="#52">52</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="53"></a><a href="#53">53</a></div></td><td class="codeLine"><span class="default">Core_CoreConfig_Service</span><span class="default">::</span><span class="default">buildBusinessAppConfig</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="54"></a><a href="#54">54</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="55"></a><a href="#55">55</a></div></td><td class="codeLine"><span class="comment">//&nbsp;Load&nbsp;Modules&nbsp;configuration&nbsp;from&nbsp;xml&nbsp;into&nbsp;session</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="56"></a><a href="#56">56</a></div></td><td class="codeLine"><span class="default">Core_CoreConfig_Service</span><span class="default">::</span><span class="default">loadModulesConfig</span><span class="keyword">(</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'modules'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="57"></a><a href="#57">57</a></div></td><td class="codeLine"><span class="default">Core_CoreConfig_Service</span><span class="default">::</span><span class="default">loadAppServices</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="58"></a><a href="#58">58</a></div></td><td class="codeLine"><span class="default">Core_CoreConfig_Service</span><span class="default">::</span><span class="default">loadModulesServices</span><span class="keyword">(</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'modules'</span><span class="keyword">]</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="59"></a><a href="#59">59</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="60"></a><a href="#60">60</a></div></td><td class="codeLine"></td></tr>
+     <tr><td><div align="right"><a name="61"></a><a href="#61">61</a></div></td><td class="codeLine"><span class="comment">//login&nbsp;management</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="62"></a><a href="#62">62</a></div></td><td class="codeLine"><span class="keyword">require_once</span><span class="keyword">(</span><span class="default">'apps/maarch_entreprise/class/class_login.php'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="63"></a><a href="#63">63</a></div></td><td class="codeLine"><span class="default">$loginObj</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">login</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="64"></a><a href="#64">64</a></div></td><td class="codeLine"><span class="default">$loginMethods</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="default">$loginObj</span><span class="default">-&gt;</span><span class="default">build_login_method</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="65"></a><a href="#65">65</a></div></td><td class="codeLine"><span class="keyword">require_once</span><span class="keyword">(</span><span class="default">'core/services/Session.php'</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="66"></a><a href="#66">66</a></div></td><td class="codeLine"><span class="default">$oSessionService</span><span class="default">&nbsp;</span><span class="keyword">=</span><span class="default">&nbsp;</span><span class="keyword">new</span><span class="default">&nbsp;</span><span class="default">\</span><span class="default">Core_Session_Service</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="67"></a><a href="#67">67</a></div></td><td class="codeLine"><span class="default">$loginObj</span><span class="default">-&gt;</span><span class="default">execute_login_script</span><span class="keyword">(</span><span class="default">$loginMethods</span><span class="keyword">,</span><span class="default">&nbsp;</span><span class="default">true</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr><td><div align="right"><a name="68"></a><a href="#68">68</a></div></td><td class="codeLine"></td></tr>
+     <tr class="danger"><td><div align="right"><a name="69"></a><a href="#69">69</a></div></td><td class="codeLine"><span class="keyword">if</span><span class="default">&nbsp;</span><span class="keyword">(</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'error'</span><span class="keyword">]</span><span class="keyword">)</span><span class="default">&nbsp;</span><span class="keyword">{</span></td></tr>
+     <tr><td><div align="right"><a name="70"></a><a href="#70">70</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="comment">//TODO&nbsp;:&nbsp;return&nbsp;http&nbsp;bad&nbsp;authent&nbsp;error</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="71"></a><a href="#71">71</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">echo</span><span class="default">&nbsp;</span><span class="default">$_SESSION</span><span class="keyword">[</span><span class="default">'error'</span><span class="keyword">]</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="72"></a><a href="#72">72</a></div></td><td class="codeLine"><span class="default">&nbsp;&nbsp;&nbsp;&nbsp;</span><span class="keyword">exit</span><span class="keyword">(</span><span class="keyword">)</span><span class="keyword">;</span></td></tr>
+     <tr class="danger"><td><div align="right"><a name="73"></a><a href="#73">73</a></div></td><td class="codeLine"><span class="keyword">}</span></td></tr>
+
+    </tbody>
+   </table>
+   <footer>
+    <hr/>
+    <h4>Legend</h4>
+    <p>
+     <span class="success"><strong>Executed</strong></span>
+     <span class="danger"><strong>Not Executed</strong></span>
+     <span class="warning"><strong>Dead Code</strong></span>
+    </p>
+    <p>
+     <small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 3.2.1</a> using <a href="http://php.net/" target="_top">PHP 7.0.16-4+deb.sury.org~xenial+1</a> and <a href="https://phpunit.de/">PHPUnit 5.1.3</a> at Tue Mar 14 18:24:26 CET 2017.</small>
+    </p>
+    <a title="Back to the top" id="toplink" href="#"><span class="glyphicon glyphicon-arrow-up"></span></a>
+   </footer>
+  </div>
+  <script src="js/jquery.min.js" type="text/javascript"></script>
+  <script src="js/bootstrap.min.js" type="text/javascript"></script>
+  <script src="js/holder.min.js" type="text/javascript"></script>
+  <script type="text/javascript">
+  $(function() {
+   var $window   = $(window)
+     , $top_link = $('#toplink')
+     , $body     = $('body, html')
+     , offset    = $('#code').offset().top;
+
+   $top_link.hide().click(function(event) {
+    event.preventDefault();
+    $body.animate({scrollTop:0}, 800);
+   });
+
+   $window.scroll(function() {
+    if($window.scrollTop() > offset) {
+     $top_link.fadeIn();
+    } else {
+     $top_link.fadeOut();
+    }
+   }).scroll();
+
+   $('.popin').popover({trigger: 'hover'});
+  });
+  </script>
+ </body>
+</html>
diff --git a/core/Test/build/fonts/glyphicons-halflings-regular.eot b/core/Test/build/fonts/glyphicons-halflings-regular.eot
new file mode 100644
index 0000000000000000000000000000000000000000..b93a4953fff68df523aa7656497ee339d6026d64
Binary files /dev/null and b/core/Test/build/fonts/glyphicons-halflings-regular.eot differ
diff --git a/core/Test/build/fonts/glyphicons-halflings-regular.svg b/core/Test/build/fonts/glyphicons-halflings-regular.svg
new file mode 100644
index 0000000000000000000000000000000000000000..94fb5490a2ed10b2c69a4a567a4fd2e4f706d841
--- /dev/null
+++ b/core/Test/build/fonts/glyphicons-halflings-regular.svg
@@ -0,0 +1,288 @@
+<?xml version="1.0" standalone="no"?>
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
+<svg xmlns="http://www.w3.org/2000/svg">
+<metadata></metadata>
+<defs>
+<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
+<font-face units-per-em="1200" ascent="960" descent="-240" />
+<missing-glyph horiz-adv-x="500" />
+<glyph horiz-adv-x="0" />
+<glyph horiz-adv-x="400" />
+<glyph unicode=" " />
+<glyph unicode="*" d="M600 1100q15 0 34 -1.5t30 -3.5l11 -1q10 -2 17.5 -10.5t7.5 -18.5v-224l158 158q7 7 18 8t19 -6l106 -106q7 -8 6 -19t-8 -18l-158 -158h224q10 0 18.5 -7.5t10.5 -17.5q6 -41 6 -75q0 -15 -1.5 -34t-3.5 -30l-1 -11q-2 -10 -10.5 -17.5t-18.5 -7.5h-224l158 -158 q7 -7 8 -18t-6 -19l-106 -106q-8 -7 -19 -6t-18 8l-158 158v-224q0 -10 -7.5 -18.5t-17.5 -10.5q-41 -6 -75 -6q-15 0 -34 1.5t-30 3.5l-11 1q-10 2 -17.5 10.5t-7.5 18.5v224l-158 -158q-7 -7 -18 -8t-19 6l-106 106q-7 8 -6 19t8 18l158 158h-224q-10 0 -18.5 7.5 t-10.5 17.5q-6 41 -6 75q0 15 1.5 34t3.5 30l1 11q2 10 10.5 17.5t18.5 7.5h224l-158 158q-7 7 -8 18t6 19l106 106q8 7 19 6t18 -8l158 -158v224q0 10 7.5 18.5t17.5 10.5q41 6 75 6z" />
+<glyph unicode="+" d="M450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-350h350q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-350v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v350h-350q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5 h350v350q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xa0;" />
+<glyph unicode="&#xa5;" d="M825 1100h250q10 0 12.5 -5t-5.5 -13l-364 -364q-6 -6 -11 -18h268q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-100h275q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-174q0 -11 -7.5 -18.5t-18.5 -7.5h-148q-11 0 -18.5 7.5t-7.5 18.5v174 h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h125v100h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h118q-5 12 -11 18l-364 364q-8 8 -5.5 13t12.5 5h250q25 0 43 -18l164 -164q8 -8 18 -8t18 8l164 164q18 18 43 18z" />
+<glyph unicode="&#x2000;" horiz-adv-x="650" />
+<glyph unicode="&#x2001;" horiz-adv-x="1300" />
+<glyph unicode="&#x2002;" horiz-adv-x="650" />
+<glyph unicode="&#x2003;" horiz-adv-x="1300" />
+<glyph unicode="&#x2004;" horiz-adv-x="433" />
+<glyph unicode="&#x2005;" horiz-adv-x="325" />
+<glyph unicode="&#x2006;" horiz-adv-x="216" />
+<glyph unicode="&#x2007;" horiz-adv-x="216" />
+<glyph unicode="&#x2008;" horiz-adv-x="162" />
+<glyph unicode="&#x2009;" horiz-adv-x="260" />
+<glyph unicode="&#x200a;" horiz-adv-x="72" />
+<glyph unicode="&#x202f;" horiz-adv-x="260" />
+<glyph unicode="&#x205f;" horiz-adv-x="325" />
+<glyph unicode="&#x20ac;" d="M744 1198q242 0 354 -189q60 -104 66 -209h-181q0 45 -17.5 82.5t-43.5 61.5t-58 40.5t-60.5 24t-51.5 7.5q-19 0 -40.5 -5.5t-49.5 -20.5t-53 -38t-49 -62.5t-39 -89.5h379l-100 -100h-300q-6 -50 -6 -100h406l-100 -100h-300q9 -74 33 -132t52.5 -91t61.5 -54.5t59 -29 t47 -7.5q22 0 50.5 7.5t60.5 24.5t58 41t43.5 61t17.5 80h174q-30 -171 -128 -278q-107 -117 -274 -117q-206 0 -324 158q-36 48 -69 133t-45 204h-217l100 100h112q1 47 6 100h-218l100 100h134q20 87 51 153.5t62 103.5q117 141 297 141z" />
+<glyph unicode="&#x20bd;" d="M428 1200h350q67 0 120 -13t86 -31t57 -49.5t35 -56.5t17 -64.5t6.5 -60.5t0.5 -57v-16.5v-16.5q0 -36 -0.5 -57t-6.5 -61t-17 -65t-35 -57t-57 -50.5t-86 -31.5t-120 -13h-178l-2 -100h288q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-138v-175q0 -11 -5.5 -18 t-15.5 -7h-149q-10 0 -17.5 7.5t-7.5 17.5v175h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v100h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v475q0 10 7.5 17.5t17.5 7.5zM600 1000v-300h203q64 0 86.5 33t22.5 119q0 84 -22.5 116t-86.5 32h-203z" />
+<glyph unicode="&#x2212;" d="M250 700h800q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#x231b;" d="M1000 1200v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-50v-100q0 -91 -49.5 -165.5t-130.5 -109.5q81 -35 130.5 -109.5t49.5 -165.5v-150h50q21 0 35.5 -14.5t14.5 -35.5v-150h-800v150q0 21 14.5 35.5t35.5 14.5h50v150q0 91 49.5 165.5t130.5 109.5q-81 35 -130.5 109.5 t-49.5 165.5v100h-50q-21 0 -35.5 14.5t-14.5 35.5v150h800zM400 1000v-100q0 -60 32.5 -109.5t87.5 -73.5q28 -12 44 -37t16 -55t-16 -55t-44 -37q-55 -24 -87.5 -73.5t-32.5 -109.5v-150h400v150q0 60 -32.5 109.5t-87.5 73.5q-28 12 -44 37t-16 55t16 55t44 37 q55 24 87.5 73.5t32.5 109.5v100h-400z" />
+<glyph unicode="&#x25fc;" horiz-adv-x="500" d="M0 0z" />
+<glyph unicode="&#x2601;" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -206.5q0 -121 -85 -207.5t-205 -86.5h-750q-79 0 -135.5 57t-56.5 137q0 69 42.5 122.5t108.5 67.5q-2 12 -2 37q0 153 108 260.5t260 107.5z" />
+<glyph unicode="&#x26fa;" d="M774 1193.5q16 -9.5 20.5 -27t-5.5 -33.5l-136 -187l467 -746h30q20 0 35 -18.5t15 -39.5v-42h-1200v42q0 21 15 39.5t35 18.5h30l468 746l-135 183q-10 16 -5.5 34t20.5 28t34 5.5t28 -20.5l111 -148l112 150q9 16 27 20.5t34 -5zM600 200h377l-182 112l-195 534v-646z " />
+<glyph unicode="&#x2709;" d="M25 1100h1150q10 0 12.5 -5t-5.5 -13l-564 -567q-8 -8 -18 -8t-18 8l-564 567q-8 8 -5.5 13t12.5 5zM18 882l264 -264q8 -8 8 -18t-8 -18l-264 -264q-8 -8 -13 -5.5t-5 12.5v550q0 10 5 12.5t13 -5.5zM918 618l264 264q8 8 13 5.5t5 -12.5v-550q0 -10 -5 -12.5t-13 5.5 l-264 264q-8 8 -8 18t8 18zM818 482l364 -364q8 -8 5.5 -13t-12.5 -5h-1150q-10 0 -12.5 5t5.5 13l364 364q8 8 18 8t18 -8l164 -164q8 -8 18 -8t18 8l164 164q8 8 18 8t18 -8z" />
+<glyph unicode="&#x270f;" d="M1011 1210q19 0 33 -13l153 -153q13 -14 13 -33t-13 -33l-99 -92l-214 214l95 96q13 14 32 14zM1013 800l-615 -614l-214 214l614 614zM317 96l-333 -112l110 335z" />
+<glyph unicode="&#xe001;" d="M700 650v-550h250q21 0 35.5 -14.5t14.5 -35.5v-50h-800v50q0 21 14.5 35.5t35.5 14.5h250v550l-500 550h1200z" />
+<glyph unicode="&#xe002;" d="M368 1017l645 163q39 15 63 0t24 -49v-831q0 -55 -41.5 -95.5t-111.5 -63.5q-79 -25 -147 -4.5t-86 75t25.5 111.5t122.5 82q72 24 138 8v521l-600 -155v-606q0 -42 -44 -90t-109 -69q-79 -26 -147 -5.5t-86 75.5t25.5 111.5t122.5 82.5q72 24 138 7v639q0 38 14.5 59 t53.5 34z" />
+<glyph unicode="&#xe003;" d="M500 1191q100 0 191 -39t156.5 -104.5t104.5 -156.5t39 -191l-1 -2l1 -5q0 -141 -78 -262l275 -274q23 -26 22.5 -44.5t-22.5 -42.5l-59 -58q-26 -20 -46.5 -20t-39.5 20l-275 274q-119 -77 -261 -77l-5 1l-2 -1q-100 0 -191 39t-156.5 104.5t-104.5 156.5t-39 191 t39 191t104.5 156.5t156.5 104.5t191 39zM500 1022q-88 0 -162 -43t-117 -117t-43 -162t43 -162t117 -117t162 -43t162 43t117 117t43 162t-43 162t-117 117t-162 43z" />
+<glyph unicode="&#xe005;" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104z" />
+<glyph unicode="&#xe006;" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429z" />
+<glyph unicode="&#xe007;" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429zM477 700h-240l197 -142l-74 -226 l193 139l195 -140l-74 229l192 140h-234l-78 211z" />
+<glyph unicode="&#xe008;" d="M600 1200q124 0 212 -88t88 -212v-250q0 -46 -31 -98t-69 -52v-75q0 -10 6 -21.5t15 -17.5l358 -230q9 -5 15 -16.5t6 -21.5v-93q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v93q0 10 6 21.5t15 16.5l358 230q9 6 15 17.5t6 21.5v75q-38 0 -69 52 t-31 98v250q0 124 88 212t212 88z" />
+<glyph unicode="&#xe009;" d="M25 1100h1150q10 0 17.5 -7.5t7.5 -17.5v-1050q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v1050q0 10 7.5 17.5t17.5 7.5zM100 1000v-100h100v100h-100zM875 1000h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5t17.5 -7.5h550 q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM1000 1000v-100h100v100h-100zM100 800v-100h100v100h-100zM1000 800v-100h100v100h-100zM100 600v-100h100v100h-100zM1000 600v-100h100v100h-100zM875 500h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5 t17.5 -7.5h550q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM100 400v-100h100v100h-100zM1000 400v-100h100v100h-100zM100 200v-100h100v100h-100zM1000 200v-100h100v100h-100z" />
+<glyph unicode="&#xe010;" d="M50 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM50 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe011;" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM850 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 700h200q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5 t35.5 14.5z" />
+<glyph unicode="&#xe012;" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h700q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe013;" d="M465 477l571 571q8 8 18 8t17 -8l177 -177q8 -7 8 -17t-8 -18l-783 -784q-7 -8 -17.5 -8t-17.5 8l-384 384q-8 8 -8 18t8 17l177 177q7 8 17 8t18 -8l171 -171q7 -7 18 -7t18 7z" />
+<glyph unicode="&#xe014;" d="M904 1083l178 -179q8 -8 8 -18.5t-8 -17.5l-267 -268l267 -268q8 -7 8 -17.5t-8 -18.5l-178 -178q-8 -8 -18.5 -8t-17.5 8l-268 267l-268 -267q-7 -8 -17.5 -8t-18.5 8l-178 178q-8 8 -8 18.5t8 17.5l267 268l-267 268q-8 7 -8 17.5t8 18.5l178 178q8 8 18.5 8t17.5 -8 l268 -267l268 268q7 7 17.5 7t18.5 -7z" />
+<glyph unicode="&#xe015;" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM425 900h150q10 0 17.5 -7.5t7.5 -17.5v-75h75q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5 t-17.5 -7.5h-75v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-75q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v75q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="&#xe016;" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM325 800h350q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-350q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="&#xe017;" d="M550 1200h100q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM800 975v166q167 -62 272 -209.5t105 -331.5q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5 t-184.5 123t-123 184.5t-45.5 224q0 184 105 331.5t272 209.5v-166q-103 -55 -165 -155t-62 -220q0 -116 57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5q0 120 -62 220t-165 155z" />
+<glyph unicode="&#xe018;" d="M1025 1200h150q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM725 800h150q10 0 17.5 -7.5t7.5 -17.5v-750q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v750 q0 10 7.5 17.5t17.5 7.5zM425 500h150q10 0 17.5 -7.5t7.5 -17.5v-450q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v450q0 10 7.5 17.5t17.5 7.5zM125 300h150q10 0 17.5 -7.5t7.5 -17.5v-250q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5 v250q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="&#xe019;" d="M600 1174q33 0 74 -5l38 -152l5 -1q49 -14 94 -39l5 -2l134 80q61 -48 104 -105l-80 -134l3 -5q25 -44 39 -93l1 -6l152 -38q5 -43 5 -73q0 -34 -5 -74l-152 -38l-1 -6q-15 -49 -39 -93l-3 -5l80 -134q-48 -61 -104 -105l-134 81l-5 -3q-44 -25 -94 -39l-5 -2l-38 -151 q-43 -5 -74 -5q-33 0 -74 5l-38 151l-5 2q-49 14 -94 39l-5 3l-134 -81q-60 48 -104 105l80 134l-3 5q-25 45 -38 93l-2 6l-151 38q-6 42 -6 74q0 33 6 73l151 38l2 6q13 48 38 93l3 5l-80 134q47 61 105 105l133 -80l5 2q45 25 94 39l5 1l38 152q43 5 74 5zM600 815 q-89 0 -152 -63t-63 -151.5t63 -151.5t152 -63t152 63t63 151.5t-63 151.5t-152 63z" />
+<glyph unicode="&#xe020;" d="M500 1300h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-75h-1100v75q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5zM500 1200v-100h300v100h-300zM1100 900v-800q0 -41 -29.5 -70.5t-70.5 -29.5h-700q-41 0 -70.5 29.5t-29.5 70.5 v800h900zM300 800v-700h100v700h-100zM500 800v-700h100v700h-100zM700 800v-700h100v700h-100zM900 800v-700h100v700h-100z" />
+<glyph unicode="&#xe021;" d="M18 618l620 608q8 7 18.5 7t17.5 -7l608 -608q8 -8 5.5 -13t-12.5 -5h-175v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v375h-300v-375q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v575h-175q-10 0 -12.5 5t5.5 13z" />
+<glyph unicode="&#xe022;" d="M600 1200v-400q0 -41 29.5 -70.5t70.5 -29.5h300v-650q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5h450zM1000 800h-250q-21 0 -35.5 14.5t-14.5 35.5v250z" />
+<glyph unicode="&#xe023;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h50q10 0 17.5 -7.5t7.5 -17.5v-275h175q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="&#xe024;" d="M1300 0h-538l-41 400h-242l-41 -400h-538l431 1200h209l-21 -300h162l-20 300h208zM515 800l-27 -300h224l-27 300h-170z" />
+<glyph unicode="&#xe025;" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-450h191q20 0 25.5 -11.5t-7.5 -27.5l-327 -400q-13 -16 -32 -16t-32 16l-327 400q-13 16 -7.5 27.5t25.5 11.5h191v450q0 21 14.5 35.5t35.5 14.5zM1125 400h50q10 0 17.5 -7.5t7.5 -17.5v-350q0 -10 -7.5 -17.5t-17.5 -7.5 h-1050q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h50q10 0 17.5 -7.5t7.5 -17.5v-175h900v175q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="&#xe026;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -275q-13 -16 -32 -16t-32 16l-223 275q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z " />
+<glyph unicode="&#xe027;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM632 914l223 -275q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5l223 275q13 16 32 16 t32 -16z" />
+<glyph unicode="&#xe028;" d="M225 1200h750q10 0 19.5 -7t12.5 -17l186 -652q7 -24 7 -49v-425q0 -12 -4 -27t-9 -17q-12 -6 -37 -6h-1100q-12 0 -27 4t-17 8q-6 13 -6 38l1 425q0 25 7 49l185 652q3 10 12.5 17t19.5 7zM878 1000h-556q-10 0 -19 -7t-11 -18l-87 -450q-2 -11 4 -18t16 -7h150 q10 0 19.5 -7t11.5 -17l38 -152q2 -10 11.5 -17t19.5 -7h250q10 0 19.5 7t11.5 17l38 152q2 10 11.5 17t19.5 7h150q10 0 16 7t4 18l-87 450q-2 11 -11 18t-19 7z" />
+<glyph unicode="&#xe029;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM540 820l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
+<glyph unicode="&#xe030;" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-362q0 -10 -7.5 -17.5t-17.5 -7.5h-362q-11 0 -13 5.5t5 12.5l133 133q-109 76 -238 76q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5h150q0 -117 -45.5 -224 t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117z" />
+<glyph unicode="&#xe031;" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-361q0 -11 -7.5 -18.5t-18.5 -7.5h-361q-11 0 -13 5.5t5 12.5l134 134q-110 75 -239 75q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5h-150q0 117 45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117zM1027 600h150 q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5q-192 0 -348 118l-134 -134q-7 -8 -12.5 -5.5t-5.5 12.5v360q0 11 7.5 18.5t18.5 7.5h360q10 0 12.5 -5.5t-5.5 -12.5l-133 -133q110 -76 240 -76q116 0 214.5 57t155.5 155.5t57 214.5z" />
+<glyph unicode="&#xe032;" d="M125 1200h1050q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-1050q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM1075 1000h-850q-10 0 -17.5 -7.5t-7.5 -17.5v-850q0 -10 7.5 -17.5t17.5 -7.5h850q10 0 17.5 7.5t7.5 17.5v850 q0 10 -7.5 17.5t-17.5 7.5zM325 900h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 900h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 700h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 700h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 500h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 500h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 300h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 300h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="&#xe033;" d="M900 800v200q0 83 -58.5 141.5t-141.5 58.5h-300q-82 0 -141 -59t-59 -141v-200h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h900q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-100zM400 800v150q0 21 15 35.5t35 14.5h200 q20 0 35 -14.5t15 -35.5v-150h-300z" />
+<glyph unicode="&#xe034;" d="M125 1100h50q10 0 17.5 -7.5t7.5 -17.5v-1075h-100v1075q0 10 7.5 17.5t17.5 7.5zM1075 1052q4 0 9 -2q16 -6 16 -23v-421q0 -6 -3 -12q-33 -59 -66.5 -99t-65.5 -58t-56.5 -24.5t-52.5 -6.5q-26 0 -57.5 6.5t-52.5 13.5t-60 21q-41 15 -63 22.5t-57.5 15t-65.5 7.5 q-85 0 -160 -57q-7 -5 -15 -5q-6 0 -11 3q-14 7 -14 22v438q22 55 82 98.5t119 46.5q23 2 43 0.5t43 -7t32.5 -8.5t38 -13t32.5 -11q41 -14 63.5 -21t57 -14t63.5 -7q103 0 183 87q7 8 18 8z" />
+<glyph unicode="&#xe035;" d="M600 1175q116 0 227 -49.5t192.5 -131t131 -192.5t49.5 -227v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v300q0 127 -70.5 231.5t-184.5 161.5t-245 57t-245 -57t-184.5 -161.5t-70.5 -231.5v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50 q-10 0 -17.5 7.5t-7.5 17.5v300q0 116 49.5 227t131 192.5t192.5 131t227 49.5zM220 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460q0 8 6 14t14 6zM820 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460 q0 8 6 14t14 6z" />
+<glyph unicode="&#xe036;" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM900 668l120 120q7 7 17 7t17 -7l34 -34q7 -7 7 -17t-7 -17l-120 -120l120 -120q7 -7 7 -17 t-7 -17l-34 -34q-7 -7 -17 -7t-17 7l-120 119l-120 -119q-7 -7 -17 -7t-17 7l-34 34q-7 7 -7 17t7 17l119 120l-119 120q-7 7 -7 17t7 17l34 34q7 8 17 8t17 -8z" />
+<glyph unicode="&#xe037;" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6 l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238q-6 8 -4.5 18t9.5 17l29 22q7 5 15 5z" />
+<glyph unicode="&#xe038;" d="M967 1004h3q11 -1 17 -10q135 -179 135 -396q0 -105 -34 -206.5t-98 -185.5q-7 -9 -17 -10h-3q-9 0 -16 6l-42 34q-8 6 -9 16t5 18q111 150 111 328q0 90 -29.5 176t-84.5 157q-6 9 -5 19t10 16l42 33q7 5 15 5zM321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5 t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238 q-6 8 -4.5 18.5t9.5 16.5l29 22q7 5 15 5z" />
+<glyph unicode="&#xe039;" d="M500 900h100v-100h-100v-100h-400v-100h-100v600h500v-300zM1200 700h-200v-100h200v-200h-300v300h-200v300h-100v200h600v-500zM100 1100v-300h300v300h-300zM800 1100v-300h300v300h-300zM300 900h-100v100h100v-100zM1000 900h-100v100h100v-100zM300 500h200v-500 h-500v500h200v100h100v-100zM800 300h200v-100h-100v-100h-200v100h-100v100h100v200h-200v100h300v-300zM100 400v-300h300v300h-300zM300 200h-100v100h100v-100zM1200 200h-100v100h100v-100zM700 0h-100v100h100v-100zM1200 0h-300v100h300v-100z" />
+<glyph unicode="&#xe040;" d="M100 200h-100v1000h100v-1000zM300 200h-100v1000h100v-1000zM700 200h-200v1000h200v-1000zM900 200h-100v1000h100v-1000zM1200 200h-200v1000h200v-1000zM400 0h-300v100h300v-100zM600 0h-100v91h100v-91zM800 0h-100v91h100v-91zM1100 0h-200v91h200v-91z" />
+<glyph unicode="&#xe041;" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
+<glyph unicode="&#xe042;" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM800 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-56 56l424 426l-700 700h150zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5 t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
+<glyph unicode="&#xe043;" d="M300 1200h825q75 0 75 -75v-900q0 -25 -18 -43l-64 -64q-8 -8 -13 -5.5t-5 12.5v950q0 10 -7.5 17.5t-17.5 7.5h-700q-25 0 -43 -18l-64 -64q-8 -8 -5.5 -13t12.5 -5h700q10 0 17.5 -7.5t7.5 -17.5v-950q0 -10 -7.5 -17.5t-17.5 -7.5h-850q-10 0 -17.5 7.5t-7.5 17.5v975 q0 25 18 43l139 139q18 18 43 18z" />
+<glyph unicode="&#xe044;" d="M250 1200h800q21 0 35.5 -14.5t14.5 -35.5v-1150l-450 444l-450 -445v1151q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe045;" d="M822 1200h-444q-11 0 -19 -7.5t-9 -17.5l-78 -301q-7 -24 7 -45l57 -108q6 -9 17.5 -15t21.5 -6h450q10 0 21.5 6t17.5 15l62 108q14 21 7 45l-83 301q-1 10 -9 17.5t-19 7.5zM1175 800h-150q-10 0 -21 -6.5t-15 -15.5l-78 -156q-4 -9 -15 -15.5t-21 -6.5h-550 q-10 0 -21 6.5t-15 15.5l-78 156q-4 9 -15 15.5t-21 6.5h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-650q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h750q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5 t7.5 17.5v650q0 10 -7.5 17.5t-17.5 7.5zM850 200h-500q-10 0 -19.5 -7t-11.5 -17l-38 -152q-2 -10 3.5 -17t15.5 -7h600q10 0 15.5 7t3.5 17l-38 152q-2 10 -11.5 17t-19.5 7z" />
+<glyph unicode="&#xe046;" d="M500 1100h200q56 0 102.5 -20.5t72.5 -50t44 -59t25 -50.5l6 -20h150q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5h150q2 8 6.5 21.5t24 48t45 61t72 48t102.5 21.5zM900 800v-100 h100v100h-100zM600 730q-95 0 -162.5 -67.5t-67.5 -162.5t67.5 -162.5t162.5 -67.5t162.5 67.5t67.5 162.5t-67.5 162.5t-162.5 67.5zM600 603q43 0 73 -30t30 -73t-30 -73t-73 -30t-73 30t-30 73t30 73t73 30z" />
+<glyph unicode="&#xe047;" d="M681 1199l385 -998q20 -50 60 -92q18 -19 36.5 -29.5t27.5 -11.5l10 -2v-66h-417v66q53 0 75 43.5t5 88.5l-82 222h-391q-58 -145 -92 -234q-11 -34 -6.5 -57t25.5 -37t46 -20t55 -6v-66h-365v66q56 24 84 52q12 12 25 30.5t20 31.5l7 13l399 1006h93zM416 521h340 l-162 457z" />
+<glyph unicode="&#xe048;" d="M753 641q5 -1 14.5 -4.5t36 -15.5t50.5 -26.5t53.5 -40t50.5 -54.5t35.5 -70t14.5 -87q0 -67 -27.5 -125.5t-71.5 -97.5t-98.5 -66.5t-108.5 -40.5t-102 -13h-500v89q41 7 70.5 32.5t29.5 65.5v827q0 24 -0.5 34t-3.5 24t-8.5 19.5t-17 13.5t-28 12.5t-42.5 11.5v71 l471 -1q57 0 115.5 -20.5t108 -57t80.5 -94t31 -124.5q0 -51 -15.5 -96.5t-38 -74.5t-45 -50.5t-38.5 -30.5zM400 700h139q78 0 130.5 48.5t52.5 122.5q0 41 -8.5 70.5t-29.5 55.5t-62.5 39.5t-103.5 13.5h-118v-350zM400 200h216q80 0 121 50.5t41 130.5q0 90 -62.5 154.5 t-156.5 64.5h-159v-400z" />
+<glyph unicode="&#xe049;" d="M877 1200l2 -57q-83 -19 -116 -45.5t-40 -66.5l-132 -839q-9 -49 13 -69t96 -26v-97h-500v97q186 16 200 98l173 832q3 17 3 30t-1.5 22.5t-9 17.5t-13.5 12.5t-21.5 10t-26 8.5t-33.5 10q-13 3 -19 5v57h425z" />
+<glyph unicode="&#xe050;" d="M1300 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM175 1000h-75v-800h75l-125 -167l-125 167h75v800h-75l125 167z" />
+<glyph unicode="&#xe051;" d="M1100 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-650q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v650h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM1167 50l-167 -125v75h-800v-75l-167 125l167 125v-75h800v75z" />
+<glyph unicode="&#xe052;" d="M50 1100h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe053;" d="M250 1100h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM250 500h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe054;" d="M500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000 q-21 0 -35.5 14.5t-14.5 35.5zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5zM0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5z" />
+<glyph unicode="&#xe055;" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe056;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 1100h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 800h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 500h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 500h800q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 200h800 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe057;" d="M400 0h-100v1100h100v-1100zM550 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM267 550l-167 -125v75h-200v100h200v75zM550 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe058;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM900 0h-100v1100h100v-1100zM50 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM1100 600h200v-100h-200v-75l-167 125l167 125v-75zM50 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe059;" d="M75 1000h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53v650q0 31 22 53t53 22zM1200 300l-300 300l300 300v-600z" />
+<glyph unicode="&#xe060;" d="M44 1100h1112q18 0 31 -13t13 -31v-1012q0 -18 -13 -31t-31 -13h-1112q-18 0 -31 13t-13 31v1012q0 18 13 31t31 13zM100 1000v-737l247 182l298 -131l-74 156l293 318l236 -288v500h-1000zM342 884q56 0 95 -39t39 -94.5t-39 -95t-95 -39.5t-95 39.5t-39 95t39 94.5 t95 39z" />
+<glyph unicode="&#xe062;" d="M648 1169q117 0 216 -60t156.5 -161t57.5 -218q0 -115 -70 -258q-69 -109 -158 -225.5t-143 -179.5l-54 -62q-9 8 -25.5 24.5t-63.5 67.5t-91 103t-98.5 128t-95.5 148q-60 132 -60 249q0 88 34 169.5t91.5 142t137 96.5t166.5 36zM652.5 974q-91.5 0 -156.5 -65 t-65 -157t65 -156.5t156.5 -64.5t156.5 64.5t65 156.5t-65 157t-156.5 65z" />
+<glyph unicode="&#xe063;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 173v854q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57z" />
+<glyph unicode="&#xe064;" d="M554 1295q21 -72 57.5 -143.5t76 -130t83 -118t82.5 -117t70 -116t49.5 -126t18.5 -136.5q0 -71 -25.5 -135t-68.5 -111t-99 -82t-118.5 -54t-125.5 -23q-84 5 -161.5 34t-139.5 78.5t-99 125t-37 164.5q0 69 18 136.5t49.5 126.5t69.5 116.5t81.5 117.5t83.5 119 t76.5 131t58.5 143zM344 710q-23 -33 -43.5 -70.5t-40.5 -102.5t-17 -123q1 -37 14.5 -69.5t30 -52t41 -37t38.5 -24.5t33 -15q21 -7 32 -1t13 22l6 34q2 10 -2.5 22t-13.5 19q-5 4 -14 12t-29.5 40.5t-32.5 73.5q-26 89 6 271q2 11 -6 11q-8 1 -15 -10z" />
+<glyph unicode="&#xe065;" d="M1000 1013l108 115q2 1 5 2t13 2t20.5 -1t25 -9.5t28.5 -21.5q22 -22 27 -43t0 -32l-6 -10l-108 -115zM350 1100h400q50 0 105 -13l-187 -187h-368q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v182l200 200v-332 q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM1009 803l-362 -362l-161 -50l55 170l355 355z" />
+<glyph unicode="&#xe066;" d="M350 1100h361q-164 -146 -216 -200h-195q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-103q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M824 1073l339 -301q8 -7 8 -17.5t-8 -17.5l-340 -306q-7 -6 -12.5 -4t-6.5 11v203q-26 1 -54.5 0t-78.5 -7.5t-92 -17.5t-86 -35t-70 -57q10 59 33 108t51.5 81.5t65 58.5t68.5 40.5t67 24.5t56 13.5t40 4.5v210q1 10 6.5 12.5t13.5 -4.5z" />
+<glyph unicode="&#xe067;" d="M350 1100h350q60 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-219q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M643 639l395 395q7 7 17.5 7t17.5 -7l101 -101q7 -7 7 -17.5t-7 -17.5l-531 -532q-7 -7 -17.5 -7t-17.5 7l-248 248q-7 7 -7 17.5t7 17.5l101 101q7 7 17.5 7t17.5 -7l111 -111q8 -7 18 -7t18 7z" />
+<glyph unicode="&#xe068;" d="M318 918l264 264q8 8 18 8t18 -8l260 -264q7 -8 4.5 -13t-12.5 -5h-170v-200h200v173q0 10 5 12t13 -5l264 -260q8 -7 8 -17.5t-8 -17.5l-264 -265q-8 -7 -13 -5t-5 12v173h-200v-200h170q10 0 12.5 -5t-4.5 -13l-260 -264q-8 -8 -18 -8t-18 8l-264 264q-8 8 -5.5 13 t12.5 5h175v200h-200v-173q0 -10 -5 -12t-13 5l-264 265q-8 7 -8 17.5t8 17.5l264 260q8 7 13 5t5 -12v-173h200v200h-175q-10 0 -12.5 5t5.5 13z" />
+<glyph unicode="&#xe069;" d="M250 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe070;" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5 t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe071;" d="M1200 1050v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-492 480q-15 14 -15 35t15 35l492 480q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25z" />
+<glyph unicode="&#xe072;" d="M243 1074l814 -498q18 -11 18 -26t-18 -26l-814 -498q-18 -11 -30.5 -4t-12.5 28v1000q0 21 12.5 28t30.5 -4z" />
+<glyph unicode="&#xe073;" d="M250 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM650 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800 q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe074;" d="M1100 950v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5z" />
+<glyph unicode="&#xe075;" d="M500 612v438q0 21 10.5 25t25.5 -10l492 -480q15 -14 15 -35t-15 -35l-492 -480q-15 -14 -25.5 -10t-10.5 25v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10z" />
+<glyph unicode="&#xe076;" d="M1048 1102l100 1q20 0 35 -14.5t15 -35.5l5 -1000q0 -21 -14.5 -35.5t-35.5 -14.5l-100 -1q-21 0 -35.5 14.5t-14.5 35.5l-2 437l-463 -454q-14 -15 -24.5 -10.5t-10.5 25.5l-2 437l-462 -455q-15 -14 -25.5 -9.5t-10.5 24.5l-5 1000q0 21 10.5 25.5t25.5 -10.5l466 -450 l-2 438q0 20 10.5 24.5t25.5 -9.5l466 -451l-2 438q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe077;" d="M850 1100h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10l464 -453v438q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe078;" d="M686 1081l501 -540q15 -15 10.5 -26t-26.5 -11h-1042q-22 0 -26.5 11t10.5 26l501 540q15 15 36 15t36 -15zM150 400h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe079;" d="M885 900l-352 -353l352 -353l-197 -198l-552 552l552 550z" />
+<glyph unicode="&#xe080;" d="M1064 547l-551 -551l-198 198l353 353l-353 353l198 198z" />
+<glyph unicode="&#xe081;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM650 900h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-150 q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5h150v-150q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v150h150q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-150v150q0 21 -14.5 35.5t-35.5 14.5z" />
+<glyph unicode="&#xe082;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM850 700h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5 t35.5 -14.5h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5z" />
+<glyph unicode="&#xe083;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM741.5 913q-12.5 0 -21.5 -9l-120 -120l-120 120q-9 9 -21.5 9 t-21.5 -9l-141 -141q-9 -9 -9 -21.5t9 -21.5l120 -120l-120 -120q-9 -9 -9 -21.5t9 -21.5l141 -141q9 -9 21.5 -9t21.5 9l120 120l120 -120q9 -9 21.5 -9t21.5 9l141 141q9 9 9 21.5t-9 21.5l-120 120l120 120q9 9 9 21.5t-9 21.5l-141 141q-9 9 -21.5 9z" />
+<glyph unicode="&#xe084;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM546 623l-84 85q-7 7 -17.5 7t-18.5 -7l-139 -139q-7 -8 -7 -18t7 -18 l242 -241q7 -8 17.5 -8t17.5 8l375 375q7 7 7 17.5t-7 18.5l-139 139q-7 7 -17.5 7t-17.5 -7z" />
+<glyph unicode="&#xe085;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM588 941q-29 0 -59 -5.5t-63 -20.5t-58 -38.5t-41.5 -63t-16.5 -89.5 q0 -25 20 -25h131q30 -5 35 11q6 20 20.5 28t45.5 8q20 0 31.5 -10.5t11.5 -28.5q0 -23 -7 -34t-26 -18q-1 0 -13.5 -4t-19.5 -7.5t-20 -10.5t-22 -17t-18.5 -24t-15.5 -35t-8 -46q-1 -8 5.5 -16.5t20.5 -8.5h173q7 0 22 8t35 28t37.5 48t29.5 74t12 100q0 47 -17 83 t-42.5 57t-59.5 34.5t-64 18t-59 4.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
+<glyph unicode="&#xe086;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM675 1000h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5 t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5zM675 700h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h75v-200h-75q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h350q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5 t-17.5 7.5h-75v275q0 10 -7.5 17.5t-17.5 7.5z" />
+<glyph unicode="&#xe087;" d="M525 1200h150q10 0 17.5 -7.5t7.5 -17.5v-194q103 -27 178.5 -102.5t102.5 -178.5h194q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-194q-27 -103 -102.5 -178.5t-178.5 -102.5v-194q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v194 q-103 27 -178.5 102.5t-102.5 178.5h-194q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h194q27 103 102.5 178.5t178.5 102.5v194q0 10 7.5 17.5t17.5 7.5zM700 893v-168q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v168q-68 -23 -119 -74 t-74 -119h168q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-168q23 -68 74 -119t119 -74v168q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-168q68 23 119 74t74 119h-168q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h168 q-23 68 -74 119t-119 74z" />
+<glyph unicode="&#xe088;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM759 823l64 -64q7 -7 7 -17.5t-7 -17.5l-124 -124l124 -124q7 -7 7 -17.5t-7 -17.5l-64 -64q-7 -7 -17.5 -7t-17.5 7l-124 124l-124 -124q-7 -7 -17.5 -7t-17.5 7l-64 64 q-7 7 -7 17.5t7 17.5l124 124l-124 124q-7 7 -7 17.5t7 17.5l64 64q7 7 17.5 7t17.5 -7l124 -124l124 124q7 7 17.5 7t17.5 -7z" />
+<glyph unicode="&#xe089;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM782 788l106 -106q7 -7 7 -17.5t-7 -17.5l-320 -321q-8 -7 -18 -7t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l197 197q7 7 17.5 7t17.5 -7z" />
+<glyph unicode="&#xe090;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5q0 -120 65 -225 l587 587q-105 65 -225 65zM965 819l-584 -584q104 -62 219 -62q116 0 214.5 57t155.5 155.5t57 214.5q0 115 -62 219z" />
+<glyph unicode="&#xe091;" d="M39 582l522 427q16 13 27.5 8t11.5 -26v-291h550q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-550v-291q0 -21 -11.5 -26t-27.5 8l-522 427q-16 13 -16 32t16 32z" />
+<glyph unicode="&#xe092;" d="M639 1009l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291h-550q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h550v291q0 21 11.5 26t27.5 -8z" />
+<glyph unicode="&#xe093;" d="M682 1161l427 -522q13 -16 8 -27.5t-26 -11.5h-291v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v550h-291q-21 0 -26 11.5t8 27.5l427 522q13 16 32 16t32 -16z" />
+<glyph unicode="&#xe094;" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-550h291q21 0 26 -11.5t-8 -27.5l-427 -522q-13 -16 -32 -16t-32 16l-427 522q-13 16 -8 27.5t26 11.5h291v550q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe095;" d="M639 1109l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291q-94 -2 -182 -20t-170.5 -52t-147 -92.5t-100.5 -135.5q5 105 27 193.5t67.5 167t113 135t167 91.5t225.5 42v262q0 21 11.5 26t27.5 -8z" />
+<glyph unicode="&#xe096;" d="M850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5zM350 0h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249 q8 7 18 7t18 -7l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5z" />
+<glyph unicode="&#xe097;" d="M1014 1120l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249q8 7 18 7t18 -7zM250 600h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5z" />
+<glyph unicode="&#xe101;" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM704 900h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5 t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
+<glyph unicode="&#xe102;" d="M260 1200q9 0 19 -2t15 -4l5 -2q22 -10 44 -23l196 -118q21 -13 36 -24q29 -21 37 -12q11 13 49 35l196 118q22 13 45 23q17 7 38 7q23 0 47 -16.5t37 -33.5l13 -16q14 -21 18 -45l25 -123l8 -44q1 -9 8.5 -14.5t17.5 -5.5h61q10 0 17.5 -7.5t7.5 -17.5v-50 q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 -7.5t-7.5 -17.5v-175h-400v300h-200v-300h-400v175q0 10 -7.5 17.5t-17.5 7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5h61q11 0 18 3t7 8q0 4 9 52l25 128q5 25 19 45q2 3 5 7t13.5 15t21.5 19.5t26.5 15.5 t29.5 7zM915 1079l-166 -162q-7 -7 -5 -12t12 -5h219q10 0 15 7t2 17l-51 149q-3 10 -11 12t-15 -6zM463 917l-177 157q-8 7 -16 5t-11 -12l-51 -143q-3 -10 2 -17t15 -7h231q11 0 12.5 5t-5.5 12zM500 0h-375q-10 0 -17.5 7.5t-7.5 17.5v375h400v-400zM1100 400v-375 q0 -10 -7.5 -17.5t-17.5 -7.5h-375v400h400z" />
+<glyph unicode="&#xe103;" d="M1165 1190q8 3 21 -6.5t13 -17.5q-2 -178 -24.5 -323.5t-55.5 -245.5t-87 -174.5t-102.5 -118.5t-118 -68.5t-118.5 -33t-120 -4.5t-105 9.5t-90 16.5q-61 12 -78 11q-4 1 -12.5 0t-34 -14.5t-52.5 -40.5l-153 -153q-26 -24 -37 -14.5t-11 43.5q0 64 42 102q8 8 50.5 45 t66.5 58q19 17 35 47t13 61q-9 55 -10 102.5t7 111t37 130t78 129.5q39 51 80 88t89.5 63.5t94.5 45t113.5 36t129 31t157.5 37t182 47.5zM1116 1098q-8 9 -22.5 -3t-45.5 -50q-38 -47 -119 -103.5t-142 -89.5l-62 -33q-56 -30 -102 -57t-104 -68t-102.5 -80.5t-85.5 -91 t-64 -104.5q-24 -56 -31 -86t2 -32t31.5 17.5t55.5 59.5q25 30 94 75.5t125.5 77.5t147.5 81q70 37 118.5 69t102 79.5t99 111t86.5 148.5q22 50 24 60t-6 19z" />
+<glyph unicode="&#xe104;" d="M653 1231q-39 -67 -54.5 -131t-10.5 -114.5t24.5 -96.5t47.5 -80t63.5 -62.5t68.5 -46.5t65 -30q-4 7 -17.5 35t-18.5 39.5t-17 39.5t-17 43t-13 42t-9.5 44.5t-2 42t4 43t13.5 39t23 38.5q96 -42 165 -107.5t105 -138t52 -156t13 -159t-19 -149.5q-13 -55 -44 -106.5 t-68 -87t-78.5 -64.5t-72.5 -45t-53 -22q-72 -22 -127 -11q-31 6 -13 19q6 3 17 7q13 5 32.5 21t41 44t38.5 63.5t21.5 81.5t-6.5 94.5t-50 107t-104 115.5q10 -104 -0.5 -189t-37 -140.5t-65 -93t-84 -52t-93.5 -11t-95 24.5q-80 36 -131.5 114t-53.5 171q-2 23 0 49.5 t4.5 52.5t13.5 56t27.5 60t46 64.5t69.5 68.5q-8 -53 -5 -102.5t17.5 -90t34 -68.5t44.5 -39t49 -2q31 13 38.5 36t-4.5 55t-29 64.5t-36 75t-26 75.5q-15 85 2 161.5t53.5 128.5t85.5 92.5t93.5 61t81.5 25.5z" />
+<glyph unicode="&#xe105;" d="M600 1094q82 0 160.5 -22.5t140 -59t116.5 -82.5t94.5 -95t68 -95t42.5 -82.5t14 -57.5t-14 -57.5t-43 -82.5t-68.5 -95t-94.5 -95t-116.5 -82.5t-140 -59t-159.5 -22.5t-159.5 22.5t-140 59t-116.5 82.5t-94.5 95t-68.5 95t-43 82.5t-14 57.5t14 57.5t42.5 82.5t68 95 t94.5 95t116.5 82.5t140 59t160.5 22.5zM888 829q-15 15 -18 12t5 -22q25 -57 25 -119q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 59 23 114q8 19 4.5 22t-17.5 -12q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q22 -36 47 -71t70 -82t92.5 -81t113 -58.5t133.5 -24.5 t133.5 24t113 58.5t92.5 81.5t70 81.5t47 70.5q11 18 9 42.5t-14 41.5q-90 117 -163 189zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l35 34q14 15 12.5 33.5t-16.5 33.5q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
+<glyph unicode="&#xe106;" d="M592 0h-148l31 120q-91 20 -175.5 68.5t-143.5 106.5t-103.5 119t-66.5 110t-22 76q0 21 14 57.5t42.5 82.5t68 95t94.5 95t116.5 82.5t140 59t160.5 22.5q61 0 126 -15l32 121h148zM944 770l47 181q108 -85 176.5 -192t68.5 -159q0 -26 -19.5 -71t-59.5 -102t-93 -112 t-129 -104.5t-158 -75.5l46 173q77 49 136 117t97 131q11 18 9 42.5t-14 41.5q-54 70 -107 130zM310 824q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q18 -30 39 -60t57 -70.5t74 -73t90 -61t105 -41.5l41 154q-107 18 -178.5 101.5t-71.5 193.5q0 59 23 114q8 19 4.5 22 t-17.5 -12zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l12 11l22 86l-3 4q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
+<glyph unicode="&#xe107;" d="M-90 100l642 1066q20 31 48 28.5t48 -35.5l642 -1056q21 -32 7.5 -67.5t-50.5 -35.5h-1294q-37 0 -50.5 34t7.5 66zM155 200h345v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h345l-445 723zM496 700h208q20 0 32 -14.5t8 -34.5l-58 -252 q-4 -20 -21.5 -34.5t-37.5 -14.5h-54q-20 0 -37.5 14.5t-21.5 34.5l-58 252q-4 20 8 34.5t32 14.5z" />
+<glyph unicode="&#xe108;" d="M650 1200q62 0 106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -93 100 -113v-64q0 -21 -13 -29t-32 1l-205 128l-205 -128q-19 -9 -32 -1t-13 29v64q0 20 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5v41 q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44z" />
+<glyph unicode="&#xe109;" d="M850 1200h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-150h-1100v150q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-50h500v50q0 21 14.5 35.5t35.5 14.5zM1100 800v-750q0 -21 -14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v750h1100zM100 600v-100h100v100h-100zM300 600v-100h100v100h-100zM500 600v-100h100v100h-100zM700 600v-100h100v100h-100zM900 600v-100h100v100h-100zM100 400v-100h100v100h-100zM300 400v-100h100v100h-100zM500 400 v-100h100v100h-100zM700 400v-100h100v100h-100zM900 400v-100h100v100h-100zM100 200v-100h100v100h-100zM300 200v-100h100v100h-100zM500 200v-100h100v100h-100zM700 200v-100h100v100h-100zM900 200v-100h100v100h-100z" />
+<glyph unicode="&#xe110;" d="M1135 1165l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-159l-600 -600h-291q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h209l600 600h241v150q0 21 10.5 25t24.5 -10zM522 819l-141 -141l-122 122h-209q-21 0 -35.5 14.5 t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h291zM1135 565l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-241l-181 181l141 141l122 -122h159v150q0 21 10.5 25t24.5 -10z" />
+<glyph unicode="&#xe111;" d="M100 1100h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5z" />
+<glyph unicode="&#xe112;" d="M150 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM850 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM1100 800v-300q0 -41 -3 -77.5t-15 -89.5t-32 -96t-58 -89t-89 -77t-129 -51t-174 -20t-174 20 t-129 51t-89 77t-58 89t-32 96t-15 89.5t-3 77.5v300h300v-250v-27v-42.5t1.5 -41t5 -38t10 -35t16.5 -30t25.5 -24.5t35 -19t46.5 -12t60 -4t60 4.5t46.5 12.5t35 19.5t25 25.5t17 30.5t10 35t5 38t2 40.5t-0.5 42v25v250h300z" />
+<glyph unicode="&#xe113;" d="M1100 411l-198 -199l-353 353l-353 -353l-197 199l551 551z" />
+<glyph unicode="&#xe114;" d="M1101 789l-550 -551l-551 551l198 199l353 -353l353 353z" />
+<glyph unicode="&#xe115;" d="M404 1000h746q21 0 35.5 -14.5t14.5 -35.5v-551h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v401h-381zM135 984l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-400h385l215 -200h-750q-21 0 -35.5 14.5 t-14.5 35.5v550h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
+<glyph unicode="&#xe116;" d="M56 1200h94q17 0 31 -11t18 -27l38 -162h896q24 0 39 -18.5t10 -42.5l-100 -475q-5 -21 -27 -42.5t-55 -21.5h-633l48 -200h535q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-50q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-300v-50 q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-31q-18 0 -32.5 10t-20.5 19l-5 10l-201 961h-54q-20 0 -35 14.5t-15 35.5t15 35.5t35 14.5z" />
+<glyph unicode="&#xe117;" d="M1200 1000v-100h-1200v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500zM0 800h1200v-800h-1200v800z" />
+<glyph unicode="&#xe118;" d="M200 800l-200 -400v600h200q0 41 29.5 70.5t70.5 29.5h300q42 0 71 -29.5t29 -70.5h500v-200h-1000zM1500 700l-300 -700h-1200l300 700h1200z" />
+<glyph unicode="&#xe119;" d="M635 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-601h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v601h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
+<glyph unicode="&#xe120;" d="M936 864l249 -229q14 -15 14 -35.5t-14 -35.5l-249 -229q-15 -15 -25.5 -10.5t-10.5 24.5v151h-600v-151q0 -20 -10.5 -24.5t-25.5 10.5l-249 229q-14 15 -14 35.5t14 35.5l249 229q15 15 25.5 10.5t10.5 -25.5v-149h600v149q0 21 10.5 25.5t25.5 -10.5z" />
+<glyph unicode="&#xe121;" d="M1169 400l-172 732q-5 23 -23 45.5t-38 22.5h-672q-20 0 -38 -20t-23 -41l-172 -739h1138zM1100 300h-1000q-41 0 -70.5 -29.5t-29.5 -70.5v-100q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v100q0 41 -29.5 70.5t-70.5 29.5zM800 100v100h100v-100h-100 zM1000 100v100h100v-100h-100z" />
+<glyph unicode="&#xe122;" d="M1150 1100q21 0 35.5 -14.5t14.5 -35.5v-850q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v850q0 21 14.5 35.5t35.5 14.5zM1000 200l-675 200h-38l47 -276q3 -16 -5.5 -20t-29.5 -4h-7h-84q-20 0 -34.5 14t-18.5 35q-55 337 -55 351v250v6q0 16 1 23.5t6.5 14 t17.5 6.5h200l675 250v-850zM0 750v-250q-4 0 -11 0.5t-24 6t-30 15t-24 30t-11 48.5v50q0 26 10.5 46t25 30t29 16t25.5 7z" />
+<glyph unicode="&#xe123;" d="M553 1200h94q20 0 29 -10.5t3 -29.5l-18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q19 0 33 -14.5t14 -35t-13 -40.5t-31 -27q-8 -4 -23 -9.5t-65 -19.5t-103 -25t-132.5 -20t-158.5 -9q-57 0 -115 5t-104 12t-88.5 15.5t-73.5 17.5t-54.5 16t-35.5 12l-11 4 q-18 8 -31 28t-13 40.5t14 35t33 14.5h17l118 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3.5 32t28.5 13zM498 110q50 -6 102 -6q53 0 102 6q-12 -49 -39.5 -79.5t-62.5 -30.5t-63 30.5t-39 79.5z" />
+<glyph unicode="&#xe124;" d="M800 946l224 78l-78 -224l234 -45l-180 -155l180 -155l-234 -45l78 -224l-224 78l-45 -234l-155 180l-155 -180l-45 234l-224 -78l78 224l-234 45l180 155l-180 155l234 45l-78 224l224 -78l45 234l155 -180l155 180z" />
+<glyph unicode="&#xe125;" d="M650 1200h50q40 0 70 -40.5t30 -84.5v-150l-28 -125h328q40 0 70 -40.5t30 -84.5v-100q0 -45 -29 -74l-238 -344q-16 -24 -38 -40.5t-45 -16.5h-250q-7 0 -42 25t-66 50l-31 25h-61q-45 0 -72.5 18t-27.5 57v400q0 36 20 63l145 196l96 198q13 28 37.5 48t51.5 20z M650 1100l-100 -212l-150 -213v-375h100l136 -100h214l250 375v125h-450l50 225v175h-50zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe126;" d="M600 1100h250q23 0 45 -16.5t38 -40.5l238 -344q29 -29 29 -74v-100q0 -44 -30 -84.5t-70 -40.5h-328q28 -118 28 -125v-150q0 -44 -30 -84.5t-70 -40.5h-50q-27 0 -51.5 20t-37.5 48l-96 198l-145 196q-20 27 -20 63v400q0 39 27.5 57t72.5 18h61q124 100 139 100z M50 1000h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM636 1000l-136 -100h-100v-375l150 -213l100 -212h50v175l-50 225h450v125l-250 375h-214z" />
+<glyph unicode="&#xe127;" d="M356 873l363 230q31 16 53 -6l110 -112q13 -13 13.5 -32t-11.5 -34l-84 -121h302q84 0 138 -38t54 -110t-55 -111t-139 -39h-106l-131 -339q-6 -21 -19.5 -41t-28.5 -20h-342q-7 0 -90 81t-83 94v525q0 17 14 35.5t28 28.5zM400 792v-503l100 -89h293l131 339 q6 21 19.5 41t28.5 20h203q21 0 30.5 25t0.5 50t-31 25h-456h-7h-6h-5.5t-6 0.5t-5 1.5t-5 2t-4 2.5t-4 4t-2.5 4.5q-12 25 5 47l146 183l-86 83zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500 q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe128;" d="M475 1103l366 -230q2 -1 6 -3.5t14 -10.5t18 -16.5t14.5 -20t6.5 -22.5v-525q0 -13 -86 -94t-93 -81h-342q-15 0 -28.5 20t-19.5 41l-131 339h-106q-85 0 -139.5 39t-54.5 111t54 110t138 38h302l-85 121q-11 15 -10.5 34t13.5 32l110 112q22 22 53 6zM370 945l146 -183 q17 -22 5 -47q-2 -2 -3.5 -4.5t-4 -4t-4 -2.5t-5 -2t-5 -1.5t-6 -0.5h-6h-6.5h-6h-475v-100h221q15 0 29 -20t20 -41l130 -339h294l106 89v503l-342 236zM1050 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5 v500q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe129;" d="M550 1294q72 0 111 -55t39 -139v-106l339 -131q21 -6 41 -19.5t20 -28.5v-342q0 -7 -81 -90t-94 -83h-525q-17 0 -35.5 14t-28.5 28l-9 14l-230 363q-16 31 6 53l112 110q13 13 32 13.5t34 -11.5l121 -84v302q0 84 38 138t110 54zM600 972v203q0 21 -25 30.5t-50 0.5 t-25 -31v-456v-7v-6v-5.5t-0.5 -6t-1.5 -5t-2 -5t-2.5 -4t-4 -4t-4.5 -2.5q-25 -12 -47 5l-183 146l-83 -86l236 -339h503l89 100v293l-339 131q-21 6 -41 19.5t-20 28.5zM450 200h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe130;" d="M350 1100h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5zM600 306v-106q0 -84 -39 -139t-111 -55t-110 54t-38 138v302l-121 -84q-15 -12 -34 -11.5t-32 13.5l-112 110 q-22 22 -6 53l230 363q1 2 3.5 6t10.5 13.5t16.5 17t20 13.5t22.5 6h525q13 0 94 -83t81 -90v-342q0 -15 -20 -28.5t-41 -19.5zM308 900l-236 -339l83 -86l183 146q22 17 47 5q2 -1 4.5 -2.5t4 -4t2.5 -4t2 -5t1.5 -5t0.5 -6v-5.5v-6v-7v-456q0 -22 25 -31t50 0.5t25 30.5 v203q0 15 20 28.5t41 19.5l339 131v293l-89 100h-503z" />
+<glyph unicode="&#xe131;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM914 632l-275 223q-16 13 -27.5 8t-11.5 -26v-137h-275 q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h275v-137q0 -21 11.5 -26t27.5 8l275 223q16 13 16 32t-16 32z" />
+<glyph unicode="&#xe132;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM561 855l-275 -223q-16 -13 -16 -32t16 -32l275 -223q16 -13 27.5 -8 t11.5 26v137h275q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5h-275v137q0 21 -11.5 26t-27.5 -8z" />
+<glyph unicode="&#xe133;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM855 639l-223 275q-13 16 -32 16t-32 -16l-223 -275q-13 -16 -8 -27.5 t26 -11.5h137v-275q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v275h137q21 0 26 11.5t-8 27.5z" />
+<glyph unicode="&#xe134;" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM675 900h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-275h-137q-21 0 -26 -11.5 t8 -27.5l223 -275q13 -16 32 -16t32 16l223 275q13 16 8 27.5t-26 11.5h-137v275q0 10 -7.5 17.5t-17.5 7.5z" />
+<glyph unicode="&#xe135;" d="M600 1176q116 0 222.5 -46t184 -123.5t123.5 -184t46 -222.5t-46 -222.5t-123.5 -184t-184 -123.5t-222.5 -46t-222.5 46t-184 123.5t-123.5 184t-46 222.5t46 222.5t123.5 184t184 123.5t222.5 46zM627 1101q-15 -12 -36.5 -20.5t-35.5 -12t-43 -8t-39 -6.5 q-15 -3 -45.5 0t-45.5 -2q-20 -7 -51.5 -26.5t-34.5 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -91t-29.5 -79q-9 -34 5 -93t8 -87q0 -9 17 -44.5t16 -59.5q12 0 23 -5t23.5 -15t19.5 -14q16 -8 33 -15t40.5 -15t34.5 -12q21 -9 52.5 -32t60 -38t57.5 -11 q7 -15 -3 -34t-22.5 -40t-9.5 -38q13 -21 23 -34.5t27.5 -27.5t36.5 -18q0 -7 -3.5 -16t-3.5 -14t5 -17q104 -2 221 112q30 29 46.5 47t34.5 49t21 63q-13 8 -37 8.5t-36 7.5q-15 7 -49.5 15t-51.5 19q-18 0 -41 -0.5t-43 -1.5t-42 -6.5t-38 -16.5q-51 -35 -66 -12 q-4 1 -3.5 25.5t0.5 25.5q-6 13 -26.5 17.5t-24.5 6.5q1 15 -0.5 30.5t-7 28t-18.5 11.5t-31 -21q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q7 -12 18 -24t21.5 -20.5t20 -15t15.5 -10.5l5 -3q2 12 7.5 30.5t8 34.5t-0.5 32q-3 18 3.5 29 t18 22.5t15.5 24.5q6 14 10.5 35t8 31t15.5 22.5t34 22.5q-6 18 10 36q8 0 24 -1.5t24.5 -1.5t20 4.5t20.5 15.5q-10 23 -31 42.5t-37.5 29.5t-49 27t-43.5 23q0 1 2 8t3 11.5t1.5 10.5t-1 9.5t-4.5 4.5q31 -13 58.5 -14.5t38.5 2.5l12 5q5 28 -9.5 46t-36.5 24t-50 15 t-41 20q-18 -4 -37 0zM613 994q0 -17 8 -42t17 -45t9 -23q-8 1 -39.5 5.5t-52.5 10t-37 16.5q3 11 16 29.5t16 25.5q10 -10 19 -10t14 6t13.5 14.5t16.5 12.5z" />
+<glyph unicode="&#xe136;" d="M756 1157q164 92 306 -9l-259 -138l145 -232l251 126q6 -89 -34 -156.5t-117 -110.5q-60 -34 -127 -39.5t-126 16.5l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5t15 37.5l600 599q-34 101 5.5 201.5t135.5 154.5z" />
+<glyph unicode="&#xe137;" horiz-adv-x="1220" d="M100 1196h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 1096h-200v-100h200v100zM100 796h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 696h-500v-100h500v100zM100 396h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 296h-300v-100h300v100z " />
+<glyph unicode="&#xe138;" d="M150 1200h900q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM700 500v-300l-200 -200v500l-350 500h900z" />
+<glyph unicode="&#xe139;" d="M500 1200h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5zM500 1100v-100h200v100h-200zM1200 400v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v200h1200z" />
+<glyph unicode="&#xe140;" d="M50 1200h300q21 0 25 -10.5t-10 -24.5l-94 -94l199 -199q7 -8 7 -18t-7 -18l-106 -106q-8 -7 -18 -7t-18 7l-199 199l-94 -94q-14 -14 -24.5 -10t-10.5 25v300q0 21 14.5 35.5t35.5 14.5zM850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-199 -199q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l199 199l-94 94q-14 14 -10 24.5t25 10.5zM364 470l106 -106q7 -8 7 -18t-7 -18l-199 -199l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l199 199 q8 7 18 7t18 -7zM1071 271l94 94q14 14 24.5 10t10.5 -25v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -25 10.5t10 24.5l94 94l-199 199q-7 8 -7 18t7 18l106 106q8 7 18 7t18 -7z" />
+<glyph unicode="&#xe141;" d="M596 1192q121 0 231.5 -47.5t190 -127t127 -190t47.5 -231.5t-47.5 -231.5t-127 -190.5t-190 -127t-231.5 -47t-231.5 47t-190.5 127t-127 190.5t-47 231.5t47 231.5t127 190t190.5 127t231.5 47.5zM596 1010q-112 0 -207.5 -55.5t-151 -151t-55.5 -207.5t55.5 -207.5 t151 -151t207.5 -55.5t207.5 55.5t151 151t55.5 207.5t-55.5 207.5t-151 151t-207.5 55.5zM454.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38.5 -16.5t-38.5 16.5t-16 39t16 38.5t38.5 16zM754.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38 -16.5q-14 0 -29 10l-55 -145 q17 -23 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-61.5 25.5t-25.5 61.5q0 32 20.5 56.5t51.5 29.5l122 126l1 1q-9 14 -9 28q0 23 16 39t38.5 16zM345.5 709q22.5 0 38.5 -16t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16zM854.5 709q22.5 0 38.5 -16 t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16z" />
+<glyph unicode="&#xe142;" d="M546 173l469 470q91 91 99 192q7 98 -52 175.5t-154 94.5q-22 4 -47 4q-34 0 -66.5 -10t-56.5 -23t-55.5 -38t-48 -41.5t-48.5 -47.5q-376 -375 -391 -390q-30 -27 -45 -41.5t-37.5 -41t-32 -46.5t-16 -47.5t-1.5 -56.5q9 -62 53.5 -95t99.5 -33q74 0 125 51l548 548 q36 36 20 75q-7 16 -21.5 26t-32.5 10q-26 0 -50 -23q-13 -12 -39 -38l-341 -338q-15 -15 -35.5 -15.5t-34.5 13.5t-14 34.5t14 34.5q327 333 361 367q35 35 67.5 51.5t78.5 16.5q14 0 29 -1q44 -8 74.5 -35.5t43.5 -68.5q14 -47 2 -96.5t-47 -84.5q-12 -11 -32 -32 t-79.5 -81t-114.5 -115t-124.5 -123.5t-123 -119.5t-96.5 -89t-57 -45q-56 -27 -120 -27q-70 0 -129 32t-93 89q-48 78 -35 173t81 163l511 511q71 72 111 96q91 55 198 55q80 0 152 -33q78 -36 129.5 -103t66.5 -154q17 -93 -11 -183.5t-94 -156.5l-482 -476 q-15 -15 -36 -16t-37 14t-17.5 34t14.5 35z" />
+<glyph unicode="&#xe143;" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104zM896 972q-33 0 -64.5 -19t-56.5 -46t-47.5 -53.5t-43.5 -45.5t-37.5 -19t-36 19t-40 45.5t-43 53.5t-54 46t-65.5 19q-67 0 -122.5 -55.5t-55.5 -132.5q0 -23 13.5 -51t46 -65t57.5 -63t76 -75l22 -22q15 -14 44 -44t50.5 -51t46 -44t41 -35t23 -12 t23.5 12t42.5 36t46 44t52.5 52t44 43q4 4 12 13q43 41 63.5 62t52 55t46 55t26 46t11.5 44q0 79 -53 133.5t-120 54.5z" />
+<glyph unicode="&#xe144;" d="M776.5 1214q93.5 0 159.5 -66l141 -141q66 -66 66 -160q0 -42 -28 -95.5t-62 -87.5l-29 -29q-31 53 -77 99l-18 18l95 95l-247 248l-389 -389l212 -212l-105 -106l-19 18l-141 141q-66 66 -66 159t66 159l283 283q65 66 158.5 66zM600 706l105 105q10 -8 19 -17l141 -141 q66 -66 66 -159t-66 -159l-283 -283q-66 -66 -159 -66t-159 66l-141 141q-66 66 -66 159.5t66 159.5l55 55q29 -55 75 -102l18 -17l-95 -95l247 -248l389 389z" />
+<glyph unicode="&#xe145;" d="M603 1200q85 0 162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5v953q0 21 30 46.5t81 48t129 37.5t163 15zM300 1000v-700h600v700h-600zM600 254q-43 0 -73.5 -30.5t-30.5 -73.5t30.5 -73.5t73.5 -30.5t73.5 30.5 t30.5 73.5t-30.5 73.5t-73.5 30.5z" />
+<glyph unicode="&#xe146;" d="M902 1185l283 -282q15 -15 15 -36t-14.5 -35.5t-35.5 -14.5t-35 15l-36 35l-279 -267v-300l-212 210l-308 -307l-280 -203l203 280l307 308l-210 212h300l267 279l-35 36q-15 14 -15 35t14.5 35.5t35.5 14.5t35 -15z" />
+<glyph unicode="&#xe148;" d="M700 1248v-78q38 -5 72.5 -14.5t75.5 -31.5t71 -53.5t52 -84t24 -118.5h-159q-4 36 -10.5 59t-21 45t-40 35.5t-64.5 20.5v-307l64 -13q34 -7 64 -16.5t70 -32t67.5 -52.5t47.5 -80t20 -112q0 -139 -89 -224t-244 -97v-77h-100v79q-150 16 -237 103q-40 40 -52.5 93.5 t-15.5 139.5h139q5 -77 48.5 -126t117.5 -65v335l-27 8q-46 14 -79 26.5t-72 36t-63 52t-40 72.5t-16 98q0 70 25 126t67.5 92t94.5 57t110 27v77h100zM600 754v274q-29 -4 -50 -11t-42 -21.5t-31.5 -41.5t-10.5 -65q0 -29 7 -50.5t16.5 -34t28.5 -22.5t31.5 -14t37.5 -10 q9 -3 13 -4zM700 547v-310q22 2 42.5 6.5t45 15.5t41.5 27t29 42t12 59.5t-12.5 59.5t-38 44.5t-53 31t-66.5 24.5z" />
+<glyph unicode="&#xe149;" d="M561 1197q84 0 160.5 -40t123.5 -109.5t47 -147.5h-153q0 40 -19.5 71.5t-49.5 48.5t-59.5 26t-55.5 9q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -26 13.5 -63t26.5 -61t37 -66q6 -9 9 -14h241v-100h-197q8 -50 -2.5 -115t-31.5 -95q-45 -62 -99 -112 q34 10 83 17.5t71 7.5q32 1 102 -16t104 -17q83 0 136 30l50 -147q-31 -19 -58 -30.5t-55 -15.5t-42 -4.5t-46 -0.5q-23 0 -76 17t-111 32.5t-96 11.5q-39 -3 -82 -16t-67 -25l-23 -11l-55 145q4 3 16 11t15.5 10.5t13 9t15.5 12t14.5 14t17.5 18.5q48 55 54 126.5 t-30 142.5h-221v100h166q-23 47 -44 104q-7 20 -12 41.5t-6 55.5t6 66.5t29.5 70.5t58.5 71q97 88 263 88z" />
+<glyph unicode="&#xe150;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM935 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-900h-200v900h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
+<glyph unicode="&#xe151;" d="M1000 700h-100v100h-100v-100h-100v500h300v-500zM400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM801 1100v-200h100v200h-100zM1000 350l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150z " />
+<glyph unicode="&#xe152;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 1050l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150zM1000 0h-100v100h-100v-100h-100v500h300v-500zM801 400v-200h100v200h-100z " />
+<glyph unicode="&#xe153;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 700h-100v400h-100v100h200v-500zM1100 0h-100v100h-200v400h300v-500zM901 400v-200h100v200h-100z" />
+<glyph unicode="&#xe154;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1100 700h-100v100h-200v400h300v-500zM901 1100v-200h100v200h-100zM1000 0h-100v400h-100v100h200v-500z" />
+<glyph unicode="&#xe155;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM900 1000h-200v200h200v-200zM1000 700h-300v200h300v-200zM1100 400h-400v200h400v-200zM1200 100h-500v200h500v-200z" />
+<glyph unicode="&#xe156;" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1200 1000h-500v200h500v-200zM1100 700h-400v200h400v-200zM1000 400h-300v200h300v-200zM900 100h-200v200h200v-200z" />
+<glyph unicode="&#xe157;" d="M350 1100h400q162 0 256 -93.5t94 -256.5v-400q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5z" />
+<glyph unicode="&#xe158;" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-163 0 -256.5 92.5t-93.5 257.5v400q0 163 94 256.5t256 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM440 770l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
+<glyph unicode="&#xe159;" d="M350 1100h400q163 0 256.5 -94t93.5 -256v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 163 92.5 256.5t257.5 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM350 700h400q21 0 26.5 -12t-6.5 -28l-190 -253q-12 -17 -30 -17t-30 17l-190 253q-12 16 -6.5 28t26.5 12z" />
+<glyph unicode="&#xe160;" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -163 -92.5 -256.5t-257.5 -93.5h-400q-163 0 -256.5 94t-93.5 256v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM580 693l190 -253q12 -16 6.5 -28t-26.5 -12h-400q-21 0 -26.5 12t6.5 28l190 253q12 17 30 17t30 -17z" />
+<glyph unicode="&#xe161;" d="M550 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h450q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-450q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM338 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
+<glyph unicode="&#xe162;" d="M793 1182l9 -9q8 -10 5 -27q-3 -11 -79 -225.5t-78 -221.5l300 1q24 0 32.5 -17.5t-5.5 -35.5q-1 0 -133.5 -155t-267 -312.5t-138.5 -162.5q-12 -15 -26 -15h-9l-9 8q-9 11 -4 32q2 9 42 123.5t79 224.5l39 110h-302q-23 0 -31 19q-10 21 6 41q75 86 209.5 237.5 t228 257t98.5 111.5q9 16 25 16h9z" />
+<glyph unicode="&#xe163;" d="M350 1100h400q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-450q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h450q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400 q0 165 92.5 257.5t257.5 92.5zM938 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
+<glyph unicode="&#xe164;" d="M750 1200h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -10.5 -25t-24.5 10l-109 109l-312 -312q-15 -15 -35.5 -15t-35.5 15l-141 141q-15 15 -15 35.5t15 35.5l312 312l-109 109q-14 14 -10 24.5t25 10.5zM456 900h-156q-41 0 -70.5 -29.5t-29.5 -70.5v-500 q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v148l200 200v-298q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5h300z" />
+<glyph unicode="&#xe165;" d="M600 1186q119 0 227.5 -46.5t187 -125t125 -187t46.5 -227.5t-46.5 -227.5t-125 -187t-187 -125t-227.5 -46.5t-227.5 46.5t-187 125t-125 187t-46.5 227.5t46.5 227.5t125 187t187 125t227.5 46.5zM600 1022q-115 0 -212 -56.5t-153.5 -153.5t-56.5 -212t56.5 -212 t153.5 -153.5t212 -56.5t212 56.5t153.5 153.5t56.5 212t-56.5 212t-153.5 153.5t-212 56.5zM600 794q80 0 137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137t57 137t137 57z" />
+<glyph unicode="&#xe166;" d="M450 1200h200q21 0 35.5 -14.5t14.5 -35.5v-350h245q20 0 25 -11t-9 -26l-383 -426q-14 -15 -33.5 -15t-32.5 15l-379 426q-13 15 -8.5 26t25.5 11h250v350q0 21 14.5 35.5t35.5 14.5zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
+<glyph unicode="&#xe167;" d="M583 1182l378 -435q14 -15 9 -31t-26 -16h-244v-250q0 -20 -17 -35t-39 -15h-200q-20 0 -32 14.5t-12 35.5v250h-250q-20 0 -25.5 16.5t8.5 31.5l383 431q14 16 33.5 17t33.5 -14zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
+<glyph unicode="&#xe168;" d="M396 723l369 369q7 7 17.5 7t17.5 -7l139 -139q7 -8 7 -18.5t-7 -17.5l-525 -525q-7 -8 -17.5 -8t-17.5 8l-292 291q-7 8 -7 18t7 18l139 139q8 7 18.5 7t17.5 -7zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50 h-100z" />
+<glyph unicode="&#xe169;" d="M135 1023l142 142q14 14 35 14t35 -14l77 -77l-212 -212l-77 76q-14 15 -14 36t14 35zM655 855l210 210q14 14 24.5 10t10.5 -25l-2 -599q-1 -20 -15.5 -35t-35.5 -15l-597 -1q-21 0 -25 10.5t10 24.5l208 208l-154 155l212 212zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5 v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
+<glyph unicode="&#xe170;" d="M350 1200l599 -2q20 -1 35 -15.5t15 -35.5l1 -597q0 -21 -10.5 -25t-24.5 10l-208 208l-155 -154l-212 212l155 154l-210 210q-14 14 -10 24.5t25 10.5zM524 512l-76 -77q-15 -14 -36 -14t-35 14l-142 142q-14 14 -14 35t14 35l77 77zM50 300h1000q21 0 35.5 -14.5 t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
+<glyph unicode="&#xe171;" d="M1200 103l-483 276l-314 -399v423h-399l1196 796v-1096zM483 424v-230l683 953z" />
+<glyph unicode="&#xe172;" d="M1100 1000v-850q0 -21 -14.5 -35.5t-35.5 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200z" />
+<glyph unicode="&#xe173;" d="M1100 1000l-2 -149l-299 -299l-95 95q-9 9 -21.5 9t-21.5 -9l-149 -147h-312v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1132 638l106 -106q7 -7 7 -17.5t-7 -17.5l-420 -421q-8 -7 -18 -7 t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l297 297q7 7 17.5 7t17.5 -7z" />
+<glyph unicode="&#xe174;" d="M1100 1000v-269l-103 -103l-134 134q-15 15 -33.5 16.5t-34.5 -12.5l-266 -266h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1202 572l70 -70q15 -15 15 -35.5t-15 -35.5l-131 -131 l131 -131q15 -15 15 -35.5t-15 -35.5l-70 -70q-15 -15 -35.5 -15t-35.5 15l-131 131l-131 -131q-15 -15 -35.5 -15t-35.5 15l-70 70q-15 15 -15 35.5t15 35.5l131 131l-131 131q-15 15 -15 35.5t15 35.5l70 70q15 15 35.5 15t35.5 -15l131 -131l131 131q15 15 35.5 15 t35.5 -15z" />
+<glyph unicode="&#xe175;" d="M1100 1000v-300h-350q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM850 600h100q21 0 35.5 -14.5t14.5 -35.5v-250h150q21 0 25 -10.5t-10 -24.5 l-230 -230q-14 -14 -35 -14t-35 14l-230 230q-14 14 -10 24.5t25 10.5h150v250q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe176;" d="M1100 1000v-400l-165 165q-14 15 -35 15t-35 -15l-263 -265h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM935 565l230 -229q14 -15 10 -25.5t-25 -10.5h-150v-250q0 -20 -14.5 -35 t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35v250h-150q-21 0 -25 10.5t10 25.5l230 229q14 15 35 15t35 -15z" />
+<glyph unicode="&#xe177;" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-150h-1200v150q0 21 14.5 35.5t35.5 14.5zM1200 800v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v550h1200zM100 500v-200h400v200h-400z" />
+<glyph unicode="&#xe178;" d="M935 1165l248 -230q14 -14 14 -35t-14 -35l-248 -230q-14 -14 -24.5 -10t-10.5 25v150h-400v200h400v150q0 21 10.5 25t24.5 -10zM200 800h-50q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v-200zM400 800h-100v200h100v-200zM18 435l247 230 q14 14 24.5 10t10.5 -25v-150h400v-200h-400v-150q0 -21 -10.5 -25t-24.5 10l-247 230q-15 14 -15 35t15 35zM900 300h-100v200h100v-200zM1000 500h51q20 0 34.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-34.5 -14.5h-51v200z" />
+<glyph unicode="&#xe179;" d="M862 1073l276 116q25 18 43.5 8t18.5 -41v-1106q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v397q-4 1 -11 5t-24 17.5t-30 29t-24 42t-11 56.5v359q0 31 18.5 65t43.5 52zM550 1200q22 0 34.5 -12.5t14.5 -24.5l1 -13v-450q0 -28 -10.5 -59.5 t-25 -56t-29 -45t-25.5 -31.5l-10 -11v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447q-4 4 -11 11.5t-24 30.5t-30 46t-24 55t-11 60v450q0 2 0.5 5.5t4 12t8.5 15t14.5 12t22.5 5.5q20 0 32.5 -12.5t14.5 -24.5l3 -13v-350h100v350v5.5t2.5 12 t7 15t15 12t25.5 5.5q23 0 35.5 -12.5t13.5 -24.5l1 -13v-350h100v350q0 2 0.5 5.5t3 12t7 15t15 12t24.5 5.5z" />
+<glyph unicode="&#xe180;" d="M1200 1100v-56q-4 0 -11 -0.5t-24 -3t-30 -7.5t-24 -15t-11 -24v-888q0 -22 25 -34.5t50 -13.5l25 -2v-56h-400v56q75 0 87.5 6.5t12.5 43.5v394h-500v-394q0 -37 12.5 -43.5t87.5 -6.5v-56h-400v56q4 0 11 0.5t24 3t30 7.5t24 15t11 24v888q0 22 -25 34.5t-50 13.5 l-25 2v56h400v-56q-75 0 -87.5 -6.5t-12.5 -43.5v-394h500v394q0 37 -12.5 43.5t-87.5 6.5v56h400z" />
+<glyph unicode="&#xe181;" d="M675 1000h375q21 0 35.5 -14.5t14.5 -35.5v-150h-105l-295 -98v98l-200 200h-400l100 100h375zM100 900h300q41 0 70.5 -29.5t29.5 -70.5v-500q0 -41 -29.5 -70.5t-70.5 -29.5h-300q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5zM100 800v-200h300v200 h-300zM1100 535l-400 -133v163l400 133v-163zM100 500v-200h300v200h-300zM1100 398v-248q0 -21 -14.5 -35.5t-35.5 -14.5h-375l-100 -100h-375l-100 100h400l200 200h105z" />
+<glyph unicode="&#xe182;" d="M17 1007l162 162q17 17 40 14t37 -22l139 -194q14 -20 11 -44.5t-20 -41.5l-119 -118q102 -142 228 -268t267 -227l119 118q17 17 42.5 19t44.5 -12l192 -136q19 -14 22.5 -37.5t-13.5 -40.5l-163 -162q-3 -1 -9.5 -1t-29.5 2t-47.5 6t-62.5 14.5t-77.5 26.5t-90 42.5 t-101.5 60t-111 83t-119 108.5q-74 74 -133.5 150.5t-94.5 138.5t-60 119.5t-34.5 100t-15 74.5t-4.5 48z" />
+<glyph unicode="&#xe183;" d="M600 1100q92 0 175 -10.5t141.5 -27t108.5 -36.5t81.5 -40t53.5 -37t31 -27l9 -10v-200q0 -21 -14.5 -33t-34.5 -9l-202 34q-20 3 -34.5 20t-14.5 38v146q-141 24 -300 24t-300 -24v-146q0 -21 -14.5 -38t-34.5 -20l-202 -34q-20 -3 -34.5 9t-14.5 33v200q3 4 9.5 10.5 t31 26t54 37.5t80.5 39.5t109 37.5t141 26.5t175 10.5zM600 795q56 0 97 -9.5t60 -23.5t30 -28t12 -24l1 -10v-50l365 -303q14 -15 24.5 -40t10.5 -45v-212q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v212q0 20 10.5 45t24.5 40l365 303v50 q0 4 1 10.5t12 23t30 29t60 22.5t97 10z" />
+<glyph unicode="&#xe184;" d="M1100 700l-200 -200h-600l-200 200v500h200v-200h200v200h200v-200h200v200h200v-500zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5 t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe185;" d="M700 1100h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-1000h300v1000q0 41 -29.5 70.5t-70.5 29.5zM1100 800h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-700h300v700q0 41 -29.5 70.5t-70.5 29.5zM400 0h-300v400q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-400z " />
+<glyph unicode="&#xe186;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
+<glyph unicode="&#xe187;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 300h-100v200h-100v-200h-100v500h100v-200h100v200h100v-500zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
+<glyph unicode="&#xe188;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-300h200v-100h-300v500h300v-100zM900 700h-200v-300h200v-100h-300v500h300v-100z" />
+<glyph unicode="&#xe189;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 400l-300 150l300 150v-300zM900 550l-300 -150v300z" />
+<glyph unicode="&#xe190;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM900 300h-700v500h700v-500zM800 700h-130q-38 0 -66.5 -43t-28.5 -108t27 -107t68 -42h130v300zM300 700v-300 h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130z" />
+<glyph unicode="&#xe191;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 300h-100v400h-100v100h200v-500z M700 300h-100v100h100v-100z" />
+<glyph unicode="&#xe192;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM300 700h200v-400h-300v500h100v-100zM900 300h-100v400h-100v100h200v-500zM300 600v-200h100v200h-100z M700 300h-100v100h100v-100z" />
+<glyph unicode="&#xe193;" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 500l-199 -200h-100v50l199 200v150h-200v100h300v-300zM900 300h-100v400h-100v100h200v-500zM701 300h-100 v100h100v-100z" />
+<glyph unicode="&#xe194;" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700h-300v-200h300v-100h-300l-100 100v200l100 100h300v-100z" />
+<glyph unicode="&#xe195;" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700v-100l-50 -50l100 -100v-50h-100l-100 100h-150v-100h-100v400h300zM500 700v-100h200v100h-200z" />
+<glyph unicode="&#xe197;" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -207t-85 -207t-205 -86.5h-128v250q0 21 -14.5 35.5t-35.5 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-250h-222q-80 0 -136 57.5t-56 136.5q0 69 43 122.5t108 67.5q-2 19 -2 37q0 100 49 185 t134 134t185 49zM525 500h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -244q-13 -16 -32 -16t-32 16l-223 244q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="&#xe198;" d="M502 1089q110 0 201 -59.5t135 -156.5q43 15 89 15q121 0 206 -86.5t86 -206.5q0 -99 -60 -181t-150 -110l-378 360q-13 16 -31.5 16t-31.5 -16l-381 -365h-9q-79 0 -135.5 57.5t-56.5 136.5q0 69 43 122.5t108 67.5q-2 19 -2 38q0 100 49 184.5t133.5 134t184.5 49.5z M632 467l223 -228q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5q199 204 223 228q19 19 31.5 19t32.5 -19z" />
+<glyph unicode="&#xe199;" d="M700 100v100h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170l-270 -300h400v-100h-50q-21 0 -35.5 -14.5t-14.5 -35.5v-50h400v50q0 21 -14.5 35.5t-35.5 14.5h-50z" />
+<glyph unicode="&#xe200;" d="M600 1179q94 0 167.5 -56.5t99.5 -145.5q89 -6 150.5 -71.5t61.5 -155.5q0 -61 -29.5 -112.5t-79.5 -82.5q9 -29 9 -55q0 -74 -52.5 -126.5t-126.5 -52.5q-55 0 -100 30v-251q21 0 35.5 -14.5t14.5 -35.5v-50h-300v50q0 21 14.5 35.5t35.5 14.5v251q-45 -30 -100 -30 q-74 0 -126.5 52.5t-52.5 126.5q0 18 4 38q-47 21 -75.5 65t-28.5 97q0 74 52.5 126.5t126.5 52.5q5 0 23 -2q0 2 -1 10t-1 13q0 116 81.5 197.5t197.5 81.5z" />
+<glyph unicode="&#xe201;" d="M1010 1010q111 -111 150.5 -260.5t0 -299t-150.5 -260.5q-83 -83 -191.5 -126.5t-218.5 -43.5t-218.5 43.5t-191.5 126.5q-111 111 -150.5 260.5t0 299t150.5 260.5q83 83 191.5 126.5t218.5 43.5t218.5 -43.5t191.5 -126.5zM476 1065q-4 0 -8 -1q-121 -34 -209.5 -122.5 t-122.5 -209.5q-4 -12 2.5 -23t18.5 -14l36 -9q3 -1 7 -1q23 0 29 22q27 96 98 166q70 71 166 98q11 3 17.5 13.5t3.5 22.5l-9 35q-3 13 -14 19q-7 4 -15 4zM512 920q-4 0 -9 -2q-80 -24 -138.5 -82.5t-82.5 -138.5q-4 -13 2 -24t19 -14l34 -9q4 -1 8 -1q22 0 28 21 q18 58 58.5 98.5t97.5 58.5q12 3 18 13.5t3 21.5l-9 35q-3 12 -14 19q-7 4 -15 4zM719.5 719.5q-49.5 49.5 -119.5 49.5t-119.5 -49.5t-49.5 -119.5t49.5 -119.5t119.5 -49.5t119.5 49.5t49.5 119.5t-49.5 119.5zM855 551q-22 0 -28 -21q-18 -58 -58.5 -98.5t-98.5 -57.5 q-11 -4 -17 -14.5t-3 -21.5l9 -35q3 -12 14 -19q7 -4 15 -4q4 0 9 2q80 24 138.5 82.5t82.5 138.5q4 13 -2.5 24t-18.5 14l-34 9q-4 1 -8 1zM1000 515q-23 0 -29 -22q-27 -96 -98 -166q-70 -71 -166 -98q-11 -3 -17.5 -13.5t-3.5 -22.5l9 -35q3 -13 14 -19q7 -4 15 -4 q4 0 8 1q121 34 209.5 122.5t122.5 209.5q4 12 -2.5 23t-18.5 14l-36 9q-3 1 -7 1z" />
+<glyph unicode="&#xe202;" d="M700 800h300v-380h-180v200h-340v-200h-380v755q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM700 300h162l-212 -212l-212 212h162v200h100v-200zM520 0h-395q-10 0 -17.5 7.5t-7.5 17.5v395zM1000 220v-195q0 -10 -7.5 -17.5t-17.5 -7.5h-195z" />
+<glyph unicode="&#xe203;" d="M700 800h300v-520l-350 350l-550 -550v1095q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM862 200h-162v-200h-100v200h-162l212 212zM480 0h-355q-10 0 -17.5 7.5t-7.5 17.5v55h380v-80zM1000 80v-55q0 -10 -7.5 -17.5t-17.5 -7.5h-155v80h180z" />
+<glyph unicode="&#xe204;" d="M1162 800h-162v-200h100l100 -100h-300v300h-162l212 212zM200 800h200q27 0 40 -2t29.5 -10.5t23.5 -30t7 -57.5h300v-100h-600l-200 -350v450h100q0 36 7 57.5t23.5 30t29.5 10.5t40 2zM800 400h240l-240 -400h-800l300 500h500v-100z" />
+<glyph unicode="&#xe205;" d="M650 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM1000 850v150q41 0 70.5 -29.5t29.5 -70.5v-800 q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-1 0 -20 4l246 246l-326 326v324q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM412 250l-212 -212v162h-200v100h200v162z" />
+<glyph unicode="&#xe206;" d="M450 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM800 850v150q41 0 70.5 -29.5t29.5 -70.5v-500 h-200v-300h200q0 -36 -7 -57.5t-23.5 -30t-29.5 -10.5t-40 -2h-600q-41 0 -70.5 29.5t-29.5 70.5v800q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM1212 250l-212 -212v162h-200v100h200v162z" />
+<glyph unicode="&#xe209;" d="M658 1197l637 -1104q23 -38 7 -65.5t-60 -27.5h-1276q-44 0 -60 27.5t7 65.5l637 1104q22 39 54 39t54 -39zM704 800h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM500 300v-100h200 v100h-200z" />
+<glyph unicode="&#xe210;" d="M425 1100h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM825 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM25 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5zM425 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5 v150q0 10 7.5 17.5t17.5 7.5zM25 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="&#xe211;" d="M700 1200h100v-200h-100v-100h350q62 0 86.5 -39.5t-3.5 -94.5l-66 -132q-41 -83 -81 -134h-772q-40 51 -81 134l-66 132q-28 55 -3.5 94.5t86.5 39.5h350v100h-100v200h100v100h200v-100zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100 h-950l138 100h-13q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe212;" d="M600 1300q40 0 68.5 -29.5t28.5 -70.5h-194q0 41 28.5 70.5t68.5 29.5zM443 1100h314q18 -37 18 -75q0 -8 -3 -25h328q41 0 44.5 -16.5t-30.5 -38.5l-175 -145h-678l-178 145q-34 22 -29 38.5t46 16.5h328q-3 17 -3 25q0 38 18 75zM250 700h700q21 0 35.5 -14.5 t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-150v-200l275 -200h-950l275 200v200h-150q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe213;" d="M600 1181q75 0 128 -53t53 -128t-53 -128t-128 -53t-128 53t-53 128t53 128t128 53zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13 l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe214;" d="M600 1300q47 0 92.5 -53.5t71 -123t25.5 -123.5q0 -78 -55.5 -133.5t-133.5 -55.5t-133.5 55.5t-55.5 133.5q0 62 34 143l144 -143l111 111l-163 163q34 26 63 26zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45 zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe215;" d="M600 1200l300 -161v-139h-300q0 -57 18.5 -108t50 -91.5t63 -72t70 -67.5t57.5 -61h-530q-60 83 -90.5 177.5t-30.5 178.5t33 164.5t87.5 139.5t126 96.5t145.5 41.5v-98zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100 h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe216;" d="M600 1300q41 0 70.5 -29.5t29.5 -70.5v-78q46 -26 73 -72t27 -100v-50h-400v50q0 54 27 100t73 72v78q0 41 29.5 70.5t70.5 29.5zM400 800h400q54 0 100 -27t72 -73h-172v-100h200v-100h-200v-100h200v-100h-200v-100h200q0 -83 -58.5 -141.5t-141.5 -58.5h-400 q-83 0 -141.5 58.5t-58.5 141.5v400q0 83 58.5 141.5t141.5 58.5z" />
+<glyph unicode="&#xe218;" d="M150 1100h900q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM125 400h950q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-283l224 -224q13 -13 13 -31.5t-13 -32 t-31.5 -13.5t-31.5 13l-88 88h-524l-87 -88q-13 -13 -32 -13t-32 13.5t-13 32t13 31.5l224 224h-289q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM541 300l-100 -100h324l-100 100h-124z" />
+<glyph unicode="&#xe219;" d="M200 1100h800q83 0 141.5 -58.5t58.5 -141.5v-200h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100v200q0 83 58.5 141.5t141.5 58.5zM100 600h1000q41 0 70.5 -29.5 t29.5 -70.5v-300h-1200v300q0 41 29.5 70.5t70.5 29.5zM300 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200zM1100 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200z" />
+<glyph unicode="&#xe221;" d="M480 1165l682 -683q31 -31 31 -75.5t-31 -75.5l-131 -131h-481l-517 518q-32 31 -32 75.5t32 75.5l295 296q31 31 75.5 31t76.5 -31zM108 794l342 -342l303 304l-341 341zM250 100h800q21 0 35.5 -14.5t14.5 -35.5v-50h-900v50q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe223;" d="M1057 647l-189 506q-8 19 -27.5 33t-40.5 14h-400q-21 0 -40.5 -14t-27.5 -33l-189 -506q-8 -19 1.5 -33t30.5 -14h625v-150q0 -21 14.5 -35.5t35.5 -14.5t35.5 14.5t14.5 35.5v150h125q21 0 30.5 14t1.5 33zM897 0h-595v50q0 21 14.5 35.5t35.5 14.5h50v50 q0 21 14.5 35.5t35.5 14.5h48v300h200v-300h47q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-50z" />
+<glyph unicode="&#xe224;" d="M900 800h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-375v591l-300 300v84q0 10 7.5 17.5t17.5 7.5h375v-400zM1200 900h-200v200zM400 600h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-650q-10 0 -17.5 7.5t-7.5 17.5v950q0 10 7.5 17.5t17.5 7.5h375v-400zM700 700h-200v200z " />
+<glyph unicode="&#xe225;" d="M484 1095h195q75 0 146 -32.5t124 -86t89.5 -122.5t48.5 -142q18 -14 35 -20q31 -10 64.5 6.5t43.5 48.5q10 34 -15 71q-19 27 -9 43q5 8 12.5 11t19 -1t23.5 -16q41 -44 39 -105q-3 -63 -46 -106.5t-104 -43.5h-62q-7 -55 -35 -117t-56 -100l-39 -234q-3 -20 -20 -34.5 t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l12 70q-49 -14 -91 -14h-195q-24 0 -65 8l-11 -64q-3 -20 -20 -34.5t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l26 157q-84 74 -128 175l-159 53q-19 7 -33 26t-14 40v50q0 21 14.5 35.5t35.5 14.5h124q11 87 56 166l-111 95 q-16 14 -12.5 23.5t24.5 9.5h203q116 101 250 101zM675 1000h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h250q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5t-17.5 7.5z" />
+<glyph unicode="&#xe226;" d="M641 900l423 247q19 8 42 2.5t37 -21.5l32 -38q14 -15 12.5 -36t-17.5 -34l-139 -120h-390zM50 1100h106q67 0 103 -17t66 -71l102 -212h823q21 0 35.5 -14.5t14.5 -35.5v-50q0 -21 -14 -40t-33 -26l-737 -132q-23 -4 -40 6t-26 25q-42 67 -100 67h-300q-62 0 -106 44 t-44 106v200q0 62 44 106t106 44zM173 928h-80q-19 0 -28 -14t-9 -35v-56q0 -51 42 -51h134q16 0 21.5 8t5.5 24q0 11 -16 45t-27 51q-18 28 -43 28zM550 727q-32 0 -54.5 -22.5t-22.5 -54.5t22.5 -54.5t54.5 -22.5t54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5zM130 389 l152 130q18 19 34 24t31 -3.5t24.5 -17.5t25.5 -28q28 -35 50.5 -51t48.5 -13l63 5l48 -179q13 -61 -3.5 -97.5t-67.5 -79.5l-80 -69q-47 -40 -109 -35.5t-103 51.5l-130 151q-40 47 -35.5 109.5t51.5 102.5zM380 377l-102 -88q-31 -27 2 -65l37 -43q13 -15 27.5 -19.5 t31.5 6.5l61 53q19 16 14 49q-2 20 -12 56t-17 45q-11 12 -19 14t-23 -8z" />
+<glyph unicode="&#xe227;" d="M625 1200h150q10 0 17.5 -7.5t7.5 -17.5v-109q79 -33 131 -87.5t53 -128.5q1 -46 -15 -84.5t-39 -61t-46 -38t-39 -21.5l-17 -6q6 0 15 -1.5t35 -9t50 -17.5t53 -30t50 -45t35.5 -64t14.5 -84q0 -59 -11.5 -105.5t-28.5 -76.5t-44 -51t-49.5 -31.5t-54.5 -16t-49.5 -6.5 t-43.5 -1v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-100v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-175q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v600h-75q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5h175v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h100v75q0 10 7.5 17.5t17.5 7.5zM400 900v-200h263q28 0 48.5 10.5t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-263zM400 500v-200h363q28 0 48.5 10.5 t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-363z" />
+<glyph unicode="&#xe230;" d="M212 1198h780q86 0 147 -61t61 -147v-416q0 -51 -18 -142.5t-36 -157.5l-18 -66q-29 -87 -93.5 -146.5t-146.5 -59.5h-572q-82 0 -147 59t-93 147q-8 28 -20 73t-32 143.5t-20 149.5v416q0 86 61 147t147 61zM600 1045q-70 0 -132.5 -11.5t-105.5 -30.5t-78.5 -41.5 t-57 -45t-36 -41t-20.5 -30.5l-6 -12l156 -243h560l156 243q-2 5 -6 12.5t-20 29.5t-36.5 42t-57 44.5t-79 42t-105 29.5t-132.5 12zM762 703h-157l195 261z" />
+<glyph unicode="&#xe231;" d="M475 1300h150q103 0 189 -86t86 -189v-500q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
+<glyph unicode="&#xe232;" d="M475 1300h96q0 -150 89.5 -239.5t239.5 -89.5v-446q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
+<glyph unicode="&#xe233;" d="M1294 767l-638 -283l-378 170l-78 -60v-224l100 -150v-199l-150 148l-150 -149v200l100 150v250q0 4 -0.5 10.5t0 9.5t1 8t3 8t6.5 6l47 40l-147 65l642 283zM1000 380l-350 -166l-350 166v147l350 -165l350 165v-147z" />
+<glyph unicode="&#xe234;" d="M250 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM650 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM1050 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
+<glyph unicode="&#xe235;" d="M550 1100q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 700q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 300q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
+<glyph unicode="&#xe236;" d="M125 1100h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM125 700h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM125 300h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
+<glyph unicode="&#xe237;" d="M350 1200h500q162 0 256 -93.5t94 -256.5v-500q0 -165 -93.5 -257.5t-256.5 -92.5h-500q-165 0 -257.5 92.5t-92.5 257.5v500q0 165 92.5 257.5t257.5 92.5zM900 1000h-600q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h600q41 0 70.5 29.5 t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5zM350 900h500q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-500q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 14.5 35.5t35.5 14.5zM400 800v-200h400v200h-400z" />
+<glyph unicode="&#xe238;" d="M150 1100h1000q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe239;" d="M650 1187q87 -67 118.5 -156t0 -178t-118.5 -155q-87 66 -118.5 155t0 178t118.5 156zM300 800q124 0 212 -88t88 -212q-124 0 -212 88t-88 212zM1000 800q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM300 500q124 0 212 -88t88 -212q-124 0 -212 88t-88 212z M1000 500q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM700 199v-144q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v142q40 -4 43 -4q17 0 57 6z" />
+<glyph unicode="&#xe240;" d="M745 878l69 19q25 6 45 -12l298 -295q11 -11 15 -26.5t-2 -30.5q-5 -14 -18 -23.5t-28 -9.5h-8q1 0 1 -13q0 -29 -2 -56t-8.5 -62t-20 -63t-33 -53t-51 -39t-72.5 -14h-146q-184 0 -184 288q0 24 10 47q-20 4 -62 4t-63 -4q11 -24 11 -47q0 -288 -184 -288h-142 q-48 0 -84.5 21t-56 51t-32 71.5t-16 75t-3.5 68.5q0 13 2 13h-7q-15 0 -27.5 9.5t-18.5 23.5q-6 15 -2 30.5t15 25.5l298 296q20 18 46 11l76 -19q20 -5 30.5 -22.5t5.5 -37.5t-22.5 -31t-37.5 -5l-51 12l-182 -193h891l-182 193l-44 -12q-20 -5 -37.5 6t-22.5 31t6 37.5 t31 22.5z" />
+<glyph unicode="&#xe241;" d="M1200 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM500 450h-25q0 15 -4 24.5t-9 14.5t-17 7.5t-20 3t-25 0.5h-100v-425q0 -11 12.5 -17.5t25.5 -7.5h12v-50h-200v50q50 0 50 25v425h-100q-17 0 -25 -0.5t-20 -3t-17 -7.5t-9 -14.5t-4 -24.5h-25v150h500v-150z" />
+<glyph unicode="&#xe242;" d="M1000 300v50q-25 0 -55 32q-14 14 -25 31t-16 27l-4 11l-289 747h-69l-300 -754q-18 -35 -39 -56q-9 -9 -24.5 -18.5t-26.5 -14.5l-11 -5v-50h273v50q-49 0 -78.5 21.5t-11.5 67.5l69 176h293l61 -166q13 -34 -3.5 -66.5t-55.5 -32.5v-50h312zM412 691l134 342l121 -342 h-255zM1100 150v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5z" />
+<glyph unicode="&#xe243;" d="M50 1200h1100q21 0 35.5 -14.5t14.5 -35.5v-1100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5zM611 1118h-70q-13 0 -18 -12l-299 -753q-17 -32 -35 -51q-18 -18 -56 -34q-12 -5 -12 -18v-50q0 -8 5.5 -14t14.5 -6 h273q8 0 14 6t6 14v50q0 8 -6 14t-14 6q-55 0 -71 23q-10 14 0 39l63 163h266l57 -153q11 -31 -6 -55q-12 -17 -36 -17q-8 0 -14 -6t-6 -14v-50q0 -8 6 -14t14 -6h313q8 0 14 6t6 14v50q0 7 -5.5 13t-13.5 7q-17 0 -42 25q-25 27 -40 63h-1l-288 748q-5 12 -19 12zM639 611 h-197l103 264z" />
+<glyph unicode="&#xe244;" d="M1200 1100h-1200v100h1200v-100zM50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 1000h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM700 900v-300h300v300h-300z" />
+<glyph unicode="&#xe245;" d="M50 1200h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 700h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM700 600v-300h300v300h-300zM1200 0h-1200v100h1200v-100z" />
+<glyph unicode="&#xe246;" d="M50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-350h100v150q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-150h100v-100h-100v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v150h-100v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM700 700v-300h300v300h-300z" />
+<glyph unicode="&#xe247;" d="M100 0h-100v1200h100v-1200zM250 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM300 1000v-300h300v300h-300zM250 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe248;" d="M600 1100h150q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-100h450q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h350v100h-150q-21 0 -35.5 14.5 t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h150v100h100v-100zM400 1000v-300h300v300h-300z" />
+<glyph unicode="&#xe249;" d="M1200 0h-100v1200h100v-1200zM550 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM600 1000v-300h300v300h-300zM50 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
+<glyph unicode="&#xe250;" d="M865 565l-494 -494q-23 -23 -41 -23q-14 0 -22 13.5t-8 38.5v1000q0 25 8 38.5t22 13.5q18 0 41 -23l494 -494q14 -14 14 -35t-14 -35z" />
+<glyph unicode="&#xe251;" d="M335 635l494 494q29 29 50 20.5t21 -49.5v-1000q0 -41 -21 -49.5t-50 20.5l-494 494q-14 14 -14 35t14 35z" />
+<glyph unicode="&#xe252;" d="M100 900h1000q41 0 49.5 -21t-20.5 -50l-494 -494q-14 -14 -35 -14t-35 14l-494 494q-29 29 -20.5 50t49.5 21z" />
+<glyph unicode="&#xe253;" d="M635 865l494 -494q29 -29 20.5 -50t-49.5 -21h-1000q-41 0 -49.5 21t20.5 50l494 494q14 14 35 14t35 -14z" />
+<glyph unicode="&#xe254;" d="M700 741v-182l-692 -323v221l413 193l-413 193v221zM1200 0h-800v200h800v-200z" />
+<glyph unicode="&#xe255;" d="M1200 900h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300zM0 700h50q0 21 4 37t9.5 26.5t18 17.5t22 11t28.5 5.5t31 2t37 0.5h100v-550q0 -22 -25 -34.5t-50 -13.5l-25 -2v-100h400v100q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v550h100q25 0 37 -0.5t31 -2 t28.5 -5.5t22 -11t18 -17.5t9.5 -26.5t4 -37h50v300h-800v-300z" />
+<glyph unicode="&#xe256;" d="M800 700h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-100v-550q0 -22 25 -34.5t50 -14.5l25 -1v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v550h-100q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h800v-300zM1100 200h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300z" />
+<glyph unicode="&#xe257;" d="M701 1098h160q16 0 21 -11t-7 -23l-464 -464l464 -464q12 -12 7 -23t-21 -11h-160q-13 0 -23 9l-471 471q-7 8 -7 18t7 18l471 471q10 9 23 9z" />
+<glyph unicode="&#xe258;" d="M339 1098h160q13 0 23 -9l471 -471q7 -8 7 -18t-7 -18l-471 -471q-10 -9 -23 -9h-160q-16 0 -21 11t7 23l464 464l-464 464q-12 12 -7 23t21 11z" />
+<glyph unicode="&#xe259;" d="M1087 882q11 -5 11 -21v-160q0 -13 -9 -23l-471 -471q-8 -7 -18 -7t-18 7l-471 471q-9 10 -9 23v160q0 16 11 21t23 -7l464 -464l464 464q12 12 23 7z" />
+<glyph unicode="&#xe260;" d="M618 993l471 -471q9 -10 9 -23v-160q0 -16 -11 -21t-23 7l-464 464l-464 -464q-12 -12 -23 -7t-11 21v160q0 13 9 23l471 471q8 7 18 7t18 -7z" />
+<glyph unicode="&#xf8ff;" d="M1000 1200q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM450 1000h100q21 0 40 -14t26 -33l79 -194q5 1 16 3q34 6 54 9.5t60 7t65.5 1t61 -10t56.5 -23t42.5 -42t29 -64t5 -92t-19.5 -121.5q-1 -7 -3 -19.5t-11 -50t-20.5 -73t-32.5 -81.5t-46.5 -83t-64 -70 t-82.5 -50q-13 -5 -42 -5t-65.5 2.5t-47.5 2.5q-14 0 -49.5 -3.5t-63 -3.5t-43.5 7q-57 25 -104.5 78.5t-75 111.5t-46.5 112t-26 90l-7 35q-15 63 -18 115t4.5 88.5t26 64t39.5 43.5t52 25.5t58.5 13t62.5 2t59.5 -4.5t55.5 -8l-147 192q-12 18 -5.5 30t27.5 12z" />
+<glyph unicode="&#x1f511;" d="M250 1200h600q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-500l-255 -178q-19 -9 -32 -1t-13 29v650h-150q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM400 1100v-100h300v100h-300z" />
+<glyph unicode="&#x1f6aa;" d="M250 1200h750q39 0 69.5 -40.5t30.5 -84.5v-933l-700 -117v950l600 125h-700v-1000h-100v1025q0 23 15.5 49t34.5 26zM500 525v-100l100 20v100z" />
+</font>
+</defs></svg> 
\ No newline at end of file
diff --git a/core/Test/build/fonts/glyphicons-halflings-regular.ttf b/core/Test/build/fonts/glyphicons-halflings-regular.ttf
new file mode 100644
index 0000000000000000000000000000000000000000..1413fc609ab6f21774de0cb7e01360095584f65b
Binary files /dev/null and b/core/Test/build/fonts/glyphicons-halflings-regular.ttf differ
diff --git a/core/Test/build/fonts/glyphicons-halflings-regular.woff b/core/Test/build/fonts/glyphicons-halflings-regular.woff
new file mode 100644
index 0000000000000000000000000000000000000000..9e612858f802245ddcbf59788a0db942224bab35
Binary files /dev/null and b/core/Test/build/fonts/glyphicons-halflings-regular.woff differ
diff --git a/core/Test/build/fonts/glyphicons-halflings-regular.woff2 b/core/Test/build/fonts/glyphicons-halflings-regular.woff2
new file mode 100644
index 0000000000000000000000000000000000000000..64539b54c3751a6d9adb44c8e3a45ba5a73b77f0
Binary files /dev/null and b/core/Test/build/fonts/glyphicons-halflings-regular.woff2 differ
diff --git a/core/Test/build/index.html b/core/Test/build/index.html
new file mode 100644
index 0000000000000000000000000000000000000000..2b66c5ad53f199cea13c226af3a713fa0d0db3fe
--- /dev/null
+++ b/core/Test/build/index.html
@@ -0,0 +1,287 @@
+<!DOCTYPE html>
+<html lang="en">
+ <head>
+  <meta charset="UTF-8">
+  <title>Code Coverage for /var/www/html/MaarchCourrier/core/Test</title>
+  <meta name="viewport" content="width=device-width, initial-scale=1.0">
+  <link href="css/bootstrap.min.css" rel="stylesheet">
+  <link href="css/style.css" rel="stylesheet">
+  <!--[if lt IE 9]>
+  <script src="js/html5shiv.min.js"></script>
+  <script src="js/respond.min.js"></script>
+  <![endif]-->
+ </head>
+ <body>
+  <header>
+   <div class="container">
+    <div class="row">
+     <div class="col-md-12">
+      <ol class="breadcrumb">
+        <li class="active">/var/www/html/MaarchCourrier/core/Test</li>
+        <li>(<a href="dashboard.html">Dashboard</a>)</li>
+
+      </ol>
+     </div>
+    </div>
+   </div>
+  </header>
+  <div class="container">
+   <table class="table table-bordered">
+    <thead>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="9"><div align="center"><strong>Code Coverage</strong></div></td>
+     </tr>
+     <tr>
+      <td>&nbsp;</td>
+      <td colspan="3"><div align="center"><strong>Lines</strong></div></td>
+      <td colspan="3"><div align="center"><strong>Functions and Methods</strong></div></td>
+      <td colspan="3"><div align="center"><strong>Classes and Traits</strong></div></td>
+     </tr>
+    </thead>
+    <tbody>
+     <tr>
+      <td class="success">Total</td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="87.39" aria-valuemin="0" aria-valuemax="100" style="width: 87.39%">
+           <span class="sr-only">87.39% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">87.39%</div></td>
+      <td class="success small"><div align="right">395&nbsp;/&nbsp;452</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="80.00" aria-valuemin="0" aria-valuemax="100" style="width: 80.00%">
+           <span class="sr-only">80.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">80.00%</div></td>
+      <td class="success small"><div align="right">24&nbsp;/&nbsp;30</div></td>
+      <td class="warning big">       <div class="progress">
+         <div class="progress-bar progress-bar-warning" role="progressbar" aria-valuenow="50.00" aria-valuemin="0" aria-valuemax="100" style="width: 50.00%">
+           <span class="sr-only">50.00% covered (warning)</span>
+         </div>
+       </div>
+</td>
+      <td class="warning small"><div align="right">50.00%</div></td>
+      <td class="warning small"><div align="right">3&nbsp;/&nbsp;6</div></td>
+     </tr>
+
+     <tr>
+      <td class="success"><span class="glyphicon glyphicon-file"></span> <a href="DocserverControllerTest.php.html">DocserverControllerTest.php</a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">45&nbsp;/&nbsp;45</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">5&nbsp;/&nbsp;5</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+     </tr>
+
+     <tr>
+      <td class="success"><span class="glyphicon glyphicon-file"></span> <a href="DocserverToolsControllerTest.php.html">DocserverToolsControllerTest.php</a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="93.44" aria-valuemin="0" aria-valuemax="100" style="width: 93.44%">
+           <span class="sr-only">93.44% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">93.44%</div></td>
+      <td class="success small"><div align="right">57&nbsp;/&nbsp;61</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="33.33" aria-valuemin="0" aria-valuemax="100" style="width: 33.33%">
+           <span class="sr-only">33.33% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">33.33%</div></td>
+      <td class="danger small"><div align="right">2&nbsp;/&nbsp;6</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+     </tr>
+
+     <tr>
+      <td class="success"><span class="glyphicon glyphicon-file"></span> <a href="DocserverTypeControllerTest.php.html">DocserverTypeControllerTest.php</a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">18&nbsp;/&nbsp;18</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">2&nbsp;/&nbsp;2</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+     </tr>
+
+     <tr>
+      <td class="success"><span class="glyphicon glyphicon-file"></span> <a href="ResControllerTest.php.html">ResControllerTest.php</a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="98.88" aria-valuemin="0" aria-valuemax="100" style="width: 98.88%">
+           <span class="sr-only">98.88% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">98.88%</div></td>
+      <td class="success small"><div align="right">88&nbsp;/&nbsp;89</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="80.00" aria-valuemin="0" aria-valuemax="100" style="width: 80.00%">
+           <span class="sr-only">80.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">80.00%</div></td>
+      <td class="success small"><div align="right">4&nbsp;/&nbsp;5</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+     </tr>
+
+     <tr>
+      <td class="success"><span class="glyphicon glyphicon-file"></span> <a href="ResExtControllerTest.php.html">ResExtControllerTest.php</a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="99.26" aria-valuemin="0" aria-valuemax="100" style="width: 99.26%">
+           <span class="sr-only">99.26% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">99.26%</div></td>
+      <td class="success small"><div align="right">134&nbsp;/&nbsp;135</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="85.71" aria-valuemin="0" aria-valuemax="100" style="width: 85.71%">
+           <span class="sr-only">85.71% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">85.71%</div></td>
+      <td class="success small"><div align="right">6&nbsp;/&nbsp;7</div></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;1</div></td>
+     </tr>
+
+     <tr>
+      <td class="success"><span class="glyphicon glyphicon-file"></span> <a href="StatusControllerTest.php.html">StatusControllerTest.php</a></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">53&nbsp;/&nbsp;53</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">5&nbsp;/&nbsp;5</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">1&nbsp;/&nbsp;1</div></td>
+     </tr>
+
+     <tr>
+      <td class="danger"><span class="glyphicon glyphicon-file"></span> <a href="define.php.html">define.php</a></td>
+      <td class="danger big">       <div class="progress">
+         <div class="progress-bar progress-bar-danger" role="progressbar" aria-valuenow="0.00" aria-valuemin="0" aria-valuemax="100" style="width: 0.00%">
+           <span class="sr-only">0.00% covered (danger)</span>
+         </div>
+       </div>
+</td>
+      <td class="danger small"><div align="right">0.00%</div></td>
+      <td class="danger small"><div align="right">0&nbsp;/&nbsp;51</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right">100.00%</div></td>
+      <td class="success small"><div align="right">0&nbsp;/&nbsp;0</div></td>
+      <td class="success big">       <div class="progress">
+         <div class="progress-bar progress-bar-success" role="progressbar" aria-valuenow="100.00" aria-valuemin="0" aria-valuemax="100" style="width: 100.00%">
+           <span class="sr-only">100.00% covered (success)</span>
+         </div>
+       </div>
+</td>
+      <td class="success small"><div align="right"></div></td>
+      <td class="success small"><div align="right">0&nbsp;/&nbsp;0</div></td>
+     </tr>
+
+
+    </tbody>
+   </table>
+   <footer>
+    <hr/>
+    <h4>Legend</h4>
+    <p>
+     <span class="danger"><strong>Low</strong>: 0% to 35%</span>
+     <span class="warning"><strong>Medium</strong>: 35% to 70%</span>
+     <span class="success"><strong>High</strong>: 70% to 100%</span>
+    </p>
+    <p>
+     <small>Generated by <a href="http://github.com/sebastianbergmann/php-code-coverage" target="_top">PHP_CodeCoverage 3.2.1</a> using <a href="http://php.net/" target="_top">PHP 7.0.16-4+deb.sury.org~xenial+1</a> and <a href="https://phpunit.de/">PHPUnit 5.1.3</a> at Tue Mar 14 18:24:26 CET 2017.</small>
+    </p>
+   </footer>
+  </div>
+  <script src="js/jquery.min.js" type="text/javascript"></script>
+  <script src="js/bootstrap.min.js" type="text/javascript"></script>
+  <script src="js/holder.min.js" type="text/javascript"></script>
+ </body>
+</html>
diff --git a/core/Test/build/js/bootstrap.min.js b/core/Test/build/js/bootstrap.min.js
new file mode 100644
index 0000000000000000000000000000000000000000..cb77e6a3bb4d7dd2b99ededc8ee3a20b3b255afd
--- /dev/null
+++ b/core/Test/build/js/bootstrap.min.js
@@ -0,0 +1,2 @@
+if(typeof jQuery==="undefined"){throw new Error("Bootstrap's JavaScript requires jQuery")}+function($){"use strict";var version=$.fn.jquery.split(" ")[0].split(".");if(version[0]<2&&version[1]<9||version[0]==1&&version[1]==9&&version[2]<1){throw new Error("Bootstrap's JavaScript requires jQuery version 1.9.1 or higher")}}(jQuery);+function($){"use strict";function transitionEnd(){var el=document.createElement("bootstrap");var transEndEventNames={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var name in transEndEventNames){if(el.style[name]!==undefined){return{end:transEndEventNames[name]}}}return false}$.fn.emulateTransitionEnd=function(duration){var called=false;var $el=this;$(this).one("bsTransitionEnd",function(){called=true});var callback=function(){if(!called)$($el).trigger($.support.transition.end)};setTimeout(callback,duration);return this};$(function(){$.support.transition=transitionEnd();if(!$.support.transition)return;$.event.special.bsTransitionEnd={bindType:$.support.transition.end,delegateType:$.support.transition.end,handle:function(e){if($(e.target).is(this))return e.handleObj.handler.apply(this,arguments)}}})}(jQuery);+function($){"use strict";var dismiss='[data-dismiss="alert"]';var Alert=function(el){$(el).on("click",dismiss,this.close)};Alert.VERSION="3.3.6";Alert.TRANSITION_DURATION=150;Alert.prototype.close=function(e){var $this=$(this);var selector=$this.attr("data-target");if(!selector){selector=$this.attr("href");selector=selector&&selector.replace(/.*(?=#[^\s]*$)/,"")}var $parent=$(selector);if(e)e.preventDefault();if(!$parent.length){$parent=$this.closest(".alert")}$parent.trigger(e=$.Event("close.bs.alert"));if(e.isDefaultPrevented())return;$parent.removeClass("in");function removeElement(){$parent.detach().trigger("closed.bs.alert").remove()}$.support.transition&&$parent.hasClass("fade")?$parent.one("bsTransitionEnd",removeElement).emulateTransitionEnd(Alert.TRANSITION_DURATION):removeElement()};function Plugin(option){return this.each(function(){var $this=$(this);var data=$this.data("bs.alert");if(!data)$this.data("bs.alert",data=new Alert(this));if(typeof option=="string")data[option].call($this)})}var old=$.fn.alert;$.fn.alert=Plugin;$.fn.alert.Constructor=Alert;$.fn.alert.noConflict=function(){$.fn.alert=old;return this};$(document).on("click.bs.alert.data-api",dismiss,Alert.prototype.close)}(jQuery);+function($){"use strict";var Button=function(element,options){this.$element=$(element);this.options=$.extend({},Button.DEFAULTS,options);this.isLoading=false};Button.VERSION="3.3.6";Button.DEFAULTS={loadingText:"loading..."};Button.prototype.setState=function(state){var d="disabled";var $el=this.$element;var val=$el.is("input")?"val":"html";var data=$el.data();state+="Text";if(data.resetText==null)$el.data("resetText",$el[val]());setTimeout($.proxy(function(){$el[val](data[state]==null?this.options[state]:data[state]);if(state=="loadingText"){this.isLoading=true;$el.addClass(d).attr(d,d)}else if(this.isLoading){this.isLoading=false;$el.removeClass(d).removeAttr(d)}},this),0)};Button.prototype.toggle=function(){var changed=true;var $parent=this.$element.closest('[data-toggle="buttons"]');if($parent.length){var $input=this.$element.find("input");if($input.prop("type")=="radio"){if($input.prop("checked"))changed=false;$parent.find(".active").removeClass("active");this.$element.addClass("active")}else if($input.prop("type")=="checkbox"){if($input.prop("checked")!==this.$element.hasClass("active"))changed=false;this.$element.toggleClass("active")}$input.prop("checked",this.$element.hasClass("active"));if(changed)$input.trigger("change")}else{this.$element.attr("aria-pressed",!this.$element.hasClass("active"));this.$element.toggleClass("active")}};function Plugin(option){return this.each(function(){var $this=$(this);var data=$this.data("bs.button");var options=typeof option=="object"&&option;if(!data)$this.data("bs.button",data=new Button(this,options));if(option=="toggle")data.toggle();else if(option)data.setState(option)})}var old=$.fn.button;$.fn.button=Plugin;$.fn.button.Constructor=Button;$.fn.button.noConflict=function(){$.fn.button=old;return this};$(document).on("click.bs.button.data-api",'[data-toggle^="button"]',function(e){var $btn=$(e.target);if(!$btn.hasClass("btn"))$btn=$btn.closest(".btn");Plugin.call($btn,"toggle");if(!($(e.target).is('input[type="radio"]')||$(e.target).is('input[type="checkbox"]')))e.preventDefault()}).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',function(e){$(e.target).closest(".btn").toggleClass("focus",/^focus(in)?$/.test(e.type))})}(jQuery);+function($){"use strict";var Carousel=function(element,options){this.$element=$(element);this.$indicators=this.$element.find(".carousel-indicators");this.options=options;this.paused=null;this.sliding=null;this.interval=null;this.$active=null;this.$items=null;this.options.keyboard&&this.$element.on("keydown.bs.carousel",$.proxy(this.keydown,this));this.options.pause=="hover"&&!("ontouchstart"in document.documentElement)&&this.$element.on("mouseenter.bs.carousel",$.proxy(this.pause,this)).on("mouseleave.bs.carousel",$.proxy(this.cycle,this))};Carousel.VERSION="3.3.6";Carousel.TRANSITION_DURATION=600;Carousel.DEFAULTS={interval:5e3,pause:"hover",wrap:true,keyboard:true};Carousel.prototype.keydown=function(e){if(/input|textarea/i.test(e.target.tagName))return;switch(e.which){case 37:this.prev();break;case 39:this.next();break;default:return}e.preventDefault()};Carousel.prototype.cycle=function(e){e||(this.paused=false);this.interval&&clearInterval(this.interval);this.options.interval&&!this.paused&&(this.interval=setInterval($.proxy(this.next,this),this.options.interval));return this};Carousel.prototype.getItemIndex=function(item){this.$items=item.parent().children(".item");return this.$items.index(item||this.$active)};Carousel.prototype.getItemForDirection=function(direction,active){var activeIndex=this.getItemIndex(active);var willWrap=direction=="prev"&&activeIndex===0||direction=="next"&&activeIndex==this.$items.length-1;if(willWrap&&!this.options.wrap)return active;var delta=direction=="prev"?-1:1;var itemIndex=(activeIndex+delta)%this.$items.length;return this.$items.eq(itemIndex)};Carousel.prototype.to=function(pos){var that=this;var activeIndex=this.getItemIndex(this.$active=this.$element.find(".item.active"));if(pos>this.$items.length-1||pos<0)return;if(this.sliding)return this.$element.one("slid.bs.carousel",function(){that.to(pos)});if(activeIndex==pos)return this.pause().cycle();return this.slide(pos>activeIndex?"next":"prev",this.$items.eq(pos))};Carousel.prototype.pause=function(e){e||(this.paused=true);if(this.$element.find(".next, .prev").length&&$.support.transition){this.$element.trigger($.support.transition.end);this.cycle(true)}this.interval=clearInterval(this.interval);return this};Carousel.prototype.next=function(){if(this.sliding)return;return this.slide("next")};Carousel.prototype.prev=function(){if(this.sliding)return;return this.slide("prev")};Carousel.prototype.slide=function(type,next){var $active=this.$element.find(".item.active");var $next=next||this.getItemForDirection(type,$active);var isCycling=this.interval;var direction=type=="next"?"left":"right";var that=this;if($next.hasClass("active"))return this.sliding=false;var relatedTarget=$next[0];var slideEvent=$.Event("slide.bs.carousel",{relatedTarget:relatedTarget,direction:direction});this.$element.trigger(slideEvent);if(slideEvent.isDefaultPrevented())return;this.sliding=true;isCycling&&this.pause();if(this.$indicators.length){this.$indicators.find(".active").removeClass("active");var $nextIndicator=$(this.$indicators.children()[this.getItemIndex($next)]);$nextIndicator&&$nextIndicator.addClass("active")}var slidEvent=$.Event("slid.bs.carousel",{relatedTarget:relatedTarget,direction:direction});if($.support.transition&&this.$element.hasClass("slide")){$next.addClass(type);$next[0].offsetWidth;$active.addClass(direction);$next.addClass(direction);$active.one("bsTransitionEnd",function(){$next.removeClass([type,direction].join(" ")).addClass("active");$active.removeClass(["active",direction].join(" "));that.sliding=false;setTimeout(function(){that.$element.trigger(slidEvent)},0)}).emulateTransitionEnd(Carousel.TRANSITION_DURATION)}else{$active.removeClass("active");$next.addClass("active");this.sliding=false;this.$element.trigger(slidEvent)}isCycling&&this.cycle();return this};function Plugin(option){return this.each(function(){var $this=$(this);var data=$this.data("bs.carousel");var options=$.extend({},Carousel.DEFAULTS,$this.data(),typeof option=="object"&&option);var action=typeof option=="string"?option:options.slide;if(!data)$this.data("bs.carousel",data=new Carousel(this,options));if(typeof option=="number")data.to(option);else if(action)data[action]();else if(options.interval)data.pause().cycle()})}var old=$.fn.carousel;$.fn.carousel=Plugin;$.fn.carousel.Constructor=Carousel;$.fn.carousel.noConflict=function(){$.fn.carousel=old;return this};var clickHandler=function(e){var href;var $this=$(this);var $target=$($this.attr("data-target")||(href=$this.attr("href"))&&href.replace(/.*(?=#[^\s]+$)/,""));if(!$target.hasClass("carousel"))return;var options=$.extend({},$target.data(),$this.data());var slideIndex=$this.attr("data-slide-to");if(slideIndex)options.interval=false;Plugin.call($target,options);if(slideIndex){$target.data("bs.carousel").to(slideIndex)}e.preventDefault()};$(document).on("click.bs.carousel.data-api","[data-slide]",clickHandler).on("click.bs.carousel.data-api","[data-slide-to]",clickHandler);$(window).on("load",function(){$('[data-ride="carousel"]').each(function(){var $carousel=$(this);Plugin.call($carousel,$carousel.data())})})}(jQuery);+function($){"use strict";var Collapse=function(element,options){this.$element=$(element);this.options=$.extend({},Collapse.DEFAULTS,options);this.$trigger=$('[data-toggle="collapse"][href="#'+element.id+'"],'+'[data-toggle="collapse"][data-target="#'+element.id+'"]');this.transitioning=null;if(this.options.parent){this.$parent=this.getParent()}else{this.addAriaAndCollapsedClass(this.$element,this.$trigger)}if(this.options.toggle)this.toggle()};Collapse.VERSION="3.3.6";Collapse.TRANSITION_DURATION=350;Collapse.DEFAULTS={toggle:true};Collapse.prototype.dimension=function(){var hasWidth=this.$element.hasClass("width");return hasWidth?"width":"height"};Collapse.prototype.show=function(){if(this.transitioning||this.$element.hasClass("in"))return;var activesData;var actives=this.$parent&&this.$parent.children(".panel").children(".in, .collapsing");if(actives&&actives.length){activesData=actives.data("bs.collapse");if(activesData&&activesData.transitioning)return}var startEvent=$.Event("show.bs.collapse");this.$element.trigger(startEvent);if(startEvent.isDefaultPrevented())return;if(actives&&actives.length){Plugin.call(actives,"hide");activesData||actives.data("bs.collapse",null)}var dimension=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[dimension](0).attr("aria-expanded",true);this.$trigger.removeClass("collapsed").attr("aria-expanded",true);this.transitioning=1;var complete=function(){this.$element.removeClass("collapsing").addClass("collapse in")[dimension]("");this.transitioning=0;this.$element.trigger("shown.bs.collapse")};if(!$.support.transition)return complete.call(this);var scrollSize=$.camelCase(["scroll",dimension].join("-"));this.$element.one("bsTransitionEnd",$.proxy(complete,this)).emulateTransitionEnd(Collapse.TRANSITION_DURATION)[dimension](this.$element[0][scrollSize])};Collapse.prototype.hide=function(){if(this.transitioning||!this.$element.hasClass("in"))return;var startEvent=$.Event("hide.bs.collapse");this.$element.trigger(startEvent);if(startEvent.isDefaultPrevented())return;var dimension=this.dimension();this.$element[dimension](this.$element[dimension]())[0].offsetHeight;this.$element.addClass("collapsing").removeClass("collapse in").attr("aria-expanded",false);this.$trigger.addClass("collapsed").attr("aria-expanded",false);this.transitioning=1;var complete=function(){this.transitioning=0;this.$element.removeClass("collapsing").addClass("collapse").trigger("hidden.bs.collapse")};if(!$.support.transition)return complete.call(this);this.$element[dimension](0).one("bsTransitionEnd",$.proxy(complete,this)).emulateTransitionEnd(Collapse.TRANSITION_DURATION)};Collapse.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};Collapse.prototype.getParent=function(){return $(this.options.parent).find('[data-toggle="collapse"][data-parent="'+this.options.parent+'"]').each($.proxy(function(i,element){var $element=$(element);this.addAriaAndCollapsedClass(getTargetFromTrigger($element),$element)},this)).end()};Collapse.prototype.addAriaAndCollapsedClass=function($element,$trigger){var isOpen=$element.hasClass("in");$element.attr("aria-expanded",isOpen);$trigger.toggleClass("collapsed",!isOpen).attr("aria-expanded",isOpen)};function getTargetFromTrigger($trigger){var href;var target=$trigger.attr("data-target")||(href=$trigger.attr("href"))&&href.replace(/.*(?=#[^\s]+$)/,"");return $(target)}function Plugin(option){return this.each(function(){var $this=$(this);var data=$this.data("bs.collapse");var options=$.extend({},Collapse.DEFAULTS,$this.data(),typeof option=="object"&&option);if(!data&&options.toggle&&/show|hide/.test(option))options.toggle=false;if(!data)$this.data("bs.collapse",data=new Collapse(this,options));if(typeof option=="string")data[option]()})}var old=$.fn.collapse;$.fn.collapse=Plugin;$.fn.collapse.Constructor=Collapse;$.fn.collapse.noConflict=function(){$.fn.collapse=old;return this};$(document).on("click.bs.collapse.data-api",'[data-toggle="collapse"]',function(e){var $this=$(this);if(!$this.attr("data-target"))e.preventDefault();var $target=getTargetFromTrigger($this);var data=$target.data("bs.collapse");var option=data?"toggle":$this.data();Plugin.call($target,option)})}(jQuery);+function($){"use strict";var backdrop=".dropdown-backdrop";var toggle='[data-toggle="dropdown"]';var Dropdown=function(element){$(element).on("click.bs.dropdown",this.toggle)};Dropdown.VERSION="3.3.6";function getParent($this){var selector=$this.attr("data-target");if(!selector){selector=$this.attr("href");selector=selector&&/#[A-Za-z]/.test(selector)&&selector.replace(/.*(?=#[^\s]*$)/,"")}var $parent=selector&&$(selector);return $parent&&$parent.length?$parent:$this.parent()}function clearMenus(e){if(e&&e.which===3)return;$(backdrop).remove();$(toggle).each(function(){var $this=$(this);var $parent=getParent($this);var relatedTarget={relatedTarget:this};if(!$parent.hasClass("open"))return;if(e&&e.type=="click"&&/input|textarea/i.test(e.target.tagName)&&$.contains($parent[0],e.target))return;$parent.trigger(e=$.Event("hide.bs.dropdown",relatedTarget));if(e.isDefaultPrevented())return;$this.attr("aria-expanded","false");$parent.removeClass("open").trigger($.Event("hidden.bs.dropdown",relatedTarget))})}Dropdown.prototype.toggle=function(e){var $this=$(this);if($this.is(".disabled, :disabled"))return;var $parent=getParent($this);var isActive=$parent.hasClass("open");clearMenus();if(!isActive){if("ontouchstart"in document.documentElement&&!$parent.closest(".navbar-nav").length){$(document.createElement("div")).addClass("dropdown-backdrop").insertAfter($(this)).on("click",clearMenus)}var relatedTarget={relatedTarget:this};$parent.trigger(e=$.Event("show.bs.dropdown",relatedTarget));if(e.isDefaultPrevented())return;$this.trigger("focus").attr("aria-expanded","true");$parent.toggleClass("open").trigger($.Event("shown.bs.dropdown",relatedTarget))}return false};Dropdown.prototype.keydown=function(e){if(!/(38|40|27|32)/.test(e.which)||/input|textarea/i.test(e.target.tagName))return;var $this=$(this);e.preventDefault();e.stopPropagation();if($this.is(".disabled, :disabled"))return;var $parent=getParent($this);var isActive=$parent.hasClass("open");if(!isActive&&e.which!=27||isActive&&e.which==27){if(e.which==27)$parent.find(toggle).trigger("focus");return $this.trigger("click")}var desc=" li:not(.disabled):visible a";var $items=$parent.find(".dropdown-menu"+desc);if(!$items.length)return;var index=$items.index(e.target);if(e.which==38&&index>0)index--;if(e.which==40&&index<$items.length-1)index++;if(!~index)index=0;$items.eq(index).trigger("focus")};function Plugin(option){return this.each(function(){var $this=$(this);var data=$this.data("bs.dropdown");if(!data)$this.data("bs.dropdown",data=new Dropdown(this));if(typeof option=="string")data[option].call($this)})}var old=$.fn.dropdown;$.fn.dropdown=Plugin;$.fn.dropdown.Constructor=Dropdown;$.fn.dropdown.noConflict=function(){$.fn.dropdown=old;return this};$(document).on("click.bs.dropdown.data-api",clearMenus).on("click.bs.dropdown.data-api",".dropdown form",function(e){e.stopPropagation()}).on("click.bs.dropdown.data-api",toggle,Dropdown.prototype.toggle).on("keydown.bs.dropdown.data-api",toggle,Dropdown.prototype.keydown).on("keydown.bs.dropdown.data-api",".dropdown-menu",Dropdown.prototype.keydown)}(jQuery);+function($){"use strict";var Modal=function(element,options){this.options=options;this.$body=$(document.body);this.$element=$(element);this.$dialog=this.$element.find(".modal-dialog");this.$backdrop=null;this.isShown=null;this.originalBodyPad=null;this.scrollbarWidth=0;this.ignoreBackdropClick=false;if(this.options.remote){this.$element.find(".modal-content").load(this.options.remote,$.proxy(function(){this.$element.trigger("loaded.bs.modal")},this))}};Modal.VERSION="3.3.6";Modal.TRANSITION_DURATION=300;Modal.BACKDROP_TRANSITION_DURATION=150;Modal.DEFAULTS={backdrop:true,keyboard:true,show:true};Modal.prototype.toggle=function(_relatedTarget){return this.isShown?this.hide():this.show(_relatedTarget)};Modal.prototype.show=function(_relatedTarget){var that=this;var e=$.Event("show.bs.modal",{relatedTarget:_relatedTarget});this.$element.trigger(e);if(this.isShown||e.isDefaultPrevented())return;this.isShown=true;this.checkScrollbar();this.setScrollbar();this.$body.addClass("modal-open");this.escape();this.resize();this.$element.on("click.dismiss.bs.modal",'[data-dismiss="modal"]',$.proxy(this.hide,this));this.$dialog.on("mousedown.dismiss.bs.modal",function(){that.$element.one("mouseup.dismiss.bs.modal",function(e){if($(e.target).is(that.$element))that.ignoreBackdropClick=true})});this.backdrop(function(){var transition=$.support.transition&&that.$element.hasClass("fade");if(!that.$element.parent().length){that.$element.appendTo(that.$body)}that.$element.show().scrollTop(0);that.adjustDialog();if(transition){that.$element[0].offsetWidth}that.$element.addClass("in");that.enforceFocus();var e=$.Event("shown.bs.modal",{relatedTarget:_relatedTarget});transition?that.$dialog.one("bsTransitionEnd",function(){that.$element.trigger("focus").trigger(e)}).emulateTransitionEnd(Modal.TRANSITION_DURATION):that.$element.trigger("focus").trigger(e)})};Modal.prototype.hide=function(e){if(e)e.preventDefault();e=$.Event("hide.bs.modal");this.$element.trigger(e);if(!this.isShown||e.isDefaultPrevented())return;this.isShown=false;this.escape();this.resize();$(document).off("focusin.bs.modal");this.$element.removeClass("in").off("click.dismiss.bs.modal").off("mouseup.dismiss.bs.modal");this.$dialog.off("mousedown.dismiss.bs.modal");$.support.transition&&this.$element.hasClass("fade")?this.$element.one("bsTransitionEnd",$.proxy(this.hideModal,this)).emulateTransitionEnd(Modal.TRANSITION_DURATION):this.hideModal()};Modal.prototype.enforceFocus=function(){$(document).off("focusin.bs.modal").on("focusin.bs.modal",$.proxy(function(e){if(this.$element[0]!==e.target&&!this.$element.has(e.target).length){this.$element.trigger("focus")}},this))};Modal.prototype.escape=function(){if(this.isShown&&this.options.keyboard){this.$element.on("keydown.dismiss.bs.modal",$.proxy(function(e){e.which==27&&this.hide()},this))}else if(!this.isShown){this.$element.off("keydown.dismiss.bs.modal")}};Modal.prototype.resize=function(){if(this.isShown){$(window).on("resize.bs.modal",$.proxy(this.handleUpdate,this))}else{$(window).off("resize.bs.modal")}};Modal.prototype.hideModal=function(){var that=this;this.$element.hide();this.backdrop(function(){that.$body.removeClass("modal-open");that.resetAdjustments();that.resetScrollbar();that.$element.trigger("hidden.bs.modal")})};Modal.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove();this.$backdrop=null};Modal.prototype.backdrop=function(callback){var that=this;var animate=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var doAnimate=$.support.transition&&animate;this.$backdrop=$(document.createElement("div")).addClass("modal-backdrop "+animate).appendTo(this.$body);this.$element.on("click.dismiss.bs.modal",$.proxy(function(e){if(this.ignoreBackdropClick){this.ignoreBackdropClick=false;return}if(e.target!==e.currentTarget)return;this.options.backdrop=="static"?this.$element[0].focus():this.hide()},this));if(doAnimate)this.$backdrop[0].offsetWidth;this.$backdrop.addClass("in");if(!callback)return;doAnimate?this.$backdrop.one("bsTransitionEnd",callback).emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION):callback()}else if(!this.isShown&&this.$backdrop){this.$backdrop.removeClass("in");var callbackRemove=function(){that.removeBackdrop();callback&&callback()};$.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one("bsTransitionEnd",callbackRemove).emulateTransitionEnd(Modal.BACKDROP_TRANSITION_DURATION):callbackRemove()}else if(callback){callback()}};Modal.prototype.handleUpdate=function(){this.adjustDialog()};Modal.prototype.adjustDialog=function(){var modalIsOverflowing=this.$element[0].scrollHeight>document.documentElement.clientHeight;this.$element.css({paddingLeft:!this.bodyIsOverflowing&&modalIsOverflowing?this.scrollbarWidth:"",paddingRight:this.bodyIsOverflowing&&!modalIsOverflowing?this.scrollbarWidth:""})};Modal.prototype.resetAdjustments=function(){this.$element.css({paddingLeft:"",paddingRight:""})};Modal.prototype.checkScrollbar=function(){var fullWindowWidth=window.innerWidth;if(!fullWindowWidth){var documentElementRect=document.documentElement.getBoundingClientRect();fullWindowWidth=documentElementRect.right-Math.abs(documentElementRect.left)}this.bodyIsOverflowing=document.body.clientWidth<fullWindowWidth;this.scrollbarWidth=this.measureScrollbar()};Modal.prototype.setScrollbar=function(){var bodyPad=parseInt(this.$body.css("padding-right")||0,10);this.originalBodyPad=document.body.style.paddingRight||"";if(this.bodyIsOverflowing)this.$body.css("padding-right",bodyPad+this.scrollbarWidth)};Modal.prototype.resetScrollbar=function(){this.$body.css("padding-right",this.originalBodyPad)};Modal.prototype.measureScrollbar=function(){var scrollDiv=document.createElement("div");scrollDiv.className="modal-scrollbar-measure";this.$body.append(scrollDiv);var scrollbarWidth=scrollDiv.offsetWidth-scrollDiv.clientWidth;this.$body[0].removeChild(scrollDiv);return scrollbarWidth};function Plugin(option,_relatedTarget){return this.each(function(){var $this=$(this);var data=$this.data("bs.modal");var options=$.extend({},Modal.DEFAULTS,$this.data(),typeof option=="object"&&option);if(!data)$this.data("bs.modal",data=new Modal(this,options));if(typeof option=="string")data[option](_relatedTarget);else if(options.show)data.show(_relatedTarget)})}var old=$.fn.modal;$.fn.modal=Plugin;$.fn.modal.Constructor=Modal;$.fn.modal.noConflict=function(){$.fn.modal=old;return this};$(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(e){var $this=$(this);var href=$this.attr("href");var $target=$($this.attr("data-target")||href&&href.replace(/.*(?=#[^\s]+$)/,""));var option=$target.data("bs.modal")?"toggle":$.extend({remote:!/#/.test(href)&&href},$target.data(),$this.data());if($this.is("a"))e.preventDefault();$target.one("show.bs.modal",function(showEvent){if(showEvent.isDefaultPrevented())return;$target.one("hidden.bs.modal",function(){$this.is(":visible")&&$this.trigger("focus")})});Plugin.call($target,option,this)})}(jQuery);+function($){"use strict";var Tooltip=function(element,options){this.type=null;this.options=null;this.enabled=null;this.timeout=null;this.hoverState=null;this.$element=null;this.inState=null;this.init("tooltip",element,options)};Tooltip.VERSION="3.3.6";Tooltip.TRANSITION_DURATION=150;Tooltip.DEFAULTS={animation:true,placement:"top",selector:false,template:'<div class="tooltip" role="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:false,container:false,viewport:{selector:"body",padding:0}};Tooltip.prototype.init=function(type,element,options){this.enabled=true;this.type=type;this.$element=$(element);this.options=this.getOptions(options);this.$viewport=this.options.viewport&&$($.isFunction(this.options.viewport)?this.options.viewport.call(this,this.$element):this.options.viewport.selector||this.options.viewport);this.inState={click:false,hover:false,focus:false};if(this.$element[0]instanceof document.constructor&&!this.options.selector){throw new Error("`selector` option must be specified when initializing "+this.type+" on the window.document object!")}var triggers=this.options.trigger.split(" ");for(var i=triggers.length;i--;){var trigger=triggers[i];if(trigger=="click"){this.$element.on("click."+this.type,this.options.selector,$.proxy(this.toggle,this))}else if(trigger!="manual"){var eventIn=trigger=="hover"?"mouseenter":"focusin";var eventOut=trigger=="hover"?"mouseleave":"focusout";this.$element.on(eventIn+"."+this.type,this.options.selector,$.proxy(this.enter,this));this.$element.on(eventOut+"."+this.type,this.options.selector,$.proxy(this.leave,this))}}this.options.selector?this._options=$.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()};Tooltip.prototype.getDefaults=function(){return Tooltip.DEFAULTS};Tooltip.prototype.getOptions=function(options){options=$.extend({},this.getDefaults(),this.$element.data(),options);if(options.delay&&typeof options.delay=="number"){options.delay={show:options.delay,hide:options.delay}}return options};Tooltip.prototype.getDelegateOptions=function(){var options={};var defaults=this.getDefaults();this._options&&$.each(this._options,function(key,value){if(defaults[key]!=value)options[key]=value});return options};Tooltip.prototype.enter=function(obj){var self=obj instanceof this.constructor?obj:$(obj.currentTarget).data("bs."+this.type);if(!self){self=new this.constructor(obj.currentTarget,this.getDelegateOptions());$(obj.currentTarget).data("bs."+this.type,self)}if(obj instanceof $.Event){self.inState[obj.type=="focusin"?"focus":"hover"]=true}if(self.tip().hasClass("in")||self.hoverState=="in"){self.hoverState="in";return}clearTimeout(self.timeout);self.hoverState="in";if(!self.options.delay||!self.options.delay.show)return self.show();self.timeout=setTimeout(function(){if(self.hoverState=="in")self.show()},self.options.delay.show)};Tooltip.prototype.isInStateTrue=function(){for(var key in this.inState){if(this.inState[key])return true}return false};Tooltip.prototype.leave=function(obj){var self=obj instanceof this.constructor?obj:$(obj.currentTarget).data("bs."+this.type);if(!self){self=new this.constructor(obj.currentTarget,this.getDelegateOptions());$(obj.currentTarget).data("bs."+this.type,self)}if(obj instanceof $.Event){self.inState[obj.type=="focusout"?"focus":"hover"]=false}if(self.isInStateTrue())return;clearTimeout(self.timeout);self.hoverState="out";if(!self.options.delay||!self.options.delay.hide)return self.hide();self.timeout=setTimeout(function(){if(self.hoverState=="out")self.hide()},self.options.delay.hide)};Tooltip.prototype.show=function(){var e=$.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){this.$element.trigger(e);var inDom=$.contains(this.$element[0].ownerDocument.documentElement,this.$element[0]);if(e.isDefaultPrevented()||!inDom)return;var that=this;var $tip=this.tip();var tipId=this.getUID(this.type);this.setContent();$tip.attr("id",tipId);this.$element.attr("aria-describedby",tipId);if(this.options.animation)$tip.addClass("fade");var placement=typeof this.options.placement=="function"?this.options.placement.call(this,$tip[0],this.$element[0]):this.options.placement;var autoToken=/\s?auto?\s?/i;var autoPlace=autoToken.test(placement);if(autoPlace)placement=placement.replace(autoToken,"")||"top";$tip.detach().css({top:0,left:0,display:"block"}).addClass(placement).data("bs."+this.type,this);this.options.container?$tip.appendTo(this.options.container):$tip.insertAfter(this.$element);this.$element.trigger("inserted.bs."+this.type);var pos=this.getPosition();var actualWidth=$tip[0].offsetWidth;var actualHeight=$tip[0].offsetHeight;if(autoPlace){var orgPlacement=placement;var viewportDim=this.getPosition(this.$viewport);placement=placement=="bottom"&&pos.bottom+actualHeight>viewportDim.bottom?"top":placement=="top"&&pos.top-actualHeight<viewportDim.top?"bottom":placement=="right"&&pos.right+actualWidth>viewportDim.width?"left":placement=="left"&&pos.left-actualWidth<viewportDim.left?"right":placement;$tip.removeClass(orgPlacement).addClass(placement)}var calculatedOffset=this.getCalculatedOffset(placement,pos,actualWidth,actualHeight);this.applyPlacement(calculatedOffset,placement);var complete=function(){var prevHoverState=that.hoverState;that.$element.trigger("shown.bs."+that.type);that.hoverState=null;if(prevHoverState=="out")that.leave(that)};$.support.transition&&this.$tip.hasClass("fade")?$tip.one("bsTransitionEnd",complete).emulateTransitionEnd(Tooltip.TRANSITION_DURATION):complete()}};Tooltip.prototype.applyPlacement=function(offset,placement){var $tip=this.tip();var width=$tip[0].offsetWidth;var height=$tip[0].offsetHeight;var marginTop=parseInt($tip.css("margin-top"),10);var marginLeft=parseInt($tip.css("margin-left"),10);if(isNaN(marginTop))marginTop=0;if(isNaN(marginLeft))marginLeft=0;offset.top+=marginTop;offset.left+=marginLeft;$.offset.setOffset($tip[0],$.extend({using:function(props){$tip.css({top:Math.round(props.top),left:Math.round(props.left)})}},offset),0);$tip.addClass("in");var actualWidth=$tip[0].offsetWidth;var actualHeight=$tip[0].offsetHeight;if(placement=="top"&&actualHeight!=height){offset.top=offset.top+height-actualHeight}var delta=this.getViewportAdjustedDelta(placement,offset,actualWidth,actualHeight);if(delta.left)offset.left+=delta.left;else offset.top+=delta.top;var isVertical=/top|bottom/.test(placement);var arrowDelta=isVertical?delta.left*2-width+actualWidth:delta.top*2-height+actualHeight;var arrowOffsetPosition=isVertical?"offsetWidth":"offsetHeight";$tip.offset(offset);this.replaceArrow(arrowDelta,$tip[0][arrowOffsetPosition],isVertical)};Tooltip.prototype.replaceArrow=function(delta,dimension,isVertical){this.arrow().css(isVertical?"left":"top",50*(1-delta/dimension)+"%").css(isVertical?"top":"left","")};Tooltip.prototype.setContent=function(){var $tip=this.tip();var title=this.getTitle();$tip.find(".tooltip-inner")[this.options.html?"html":"text"](title);$tip.removeClass("fade in top bottom left right")};Tooltip.prototype.hide=function(callback){var that=this;var $tip=$(this.$tip);var e=$.Event("hide.bs."+this.type);function complete(){if(that.hoverState!="in")$tip.detach();that.$element.removeAttr("aria-describedby").trigger("hidden.bs."+that.type);callback&&callback()}this.$element.trigger(e);if(e.isDefaultPrevented())return;$tip.removeClass("in");$.support.transition&&$tip.hasClass("fade")?$tip.one("bsTransitionEnd",complete).emulateTransitionEnd(Tooltip.TRANSITION_DURATION):complete();this.hoverState=null;return this};Tooltip.prototype.fixTitle=function(){var $e=this.$element;if($e.attr("title")||typeof $e.attr("data-original-title")!="string"){$e.attr("data-original-title",$e.attr("title")||"").attr("title","")
+}};Tooltip.prototype.hasContent=function(){return this.getTitle()};Tooltip.prototype.getPosition=function($element){$element=$element||this.$element;var el=$element[0];var isBody=el.tagName=="BODY";var elRect=el.getBoundingClientRect();if(elRect.width==null){elRect=$.extend({},elRect,{width:elRect.right-elRect.left,height:elRect.bottom-elRect.top})}var elOffset=isBody?{top:0,left:0}:$element.offset();var scroll={scroll:isBody?document.documentElement.scrollTop||document.body.scrollTop:$element.scrollTop()};var outerDims=isBody?{width:$(window).width(),height:$(window).height()}:null;return $.extend({},elRect,scroll,outerDims,elOffset)};Tooltip.prototype.getCalculatedOffset=function(placement,pos,actualWidth,actualHeight){return placement=="bottom"?{top:pos.top+pos.height,left:pos.left+pos.width/2-actualWidth/2}:placement=="top"?{top:pos.top-actualHeight,left:pos.left+pos.width/2-actualWidth/2}:placement=="left"?{top:pos.top+pos.height/2-actualHeight/2,left:pos.left-actualWidth}:{top:pos.top+pos.height/2-actualHeight/2,left:pos.left+pos.width}};Tooltip.prototype.getViewportAdjustedDelta=function(placement,pos,actualWidth,actualHeight){var delta={top:0,left:0};if(!this.$viewport)return delta;var viewportPadding=this.options.viewport&&this.options.viewport.padding||0;var viewportDimensions=this.getPosition(this.$viewport);if(/right|left/.test(placement)){var topEdgeOffset=pos.top-viewportPadding-viewportDimensions.scroll;var bottomEdgeOffset=pos.top+viewportPadding-viewportDimensions.scroll+actualHeight;if(topEdgeOffset<viewportDimensions.top){delta.top=viewportDimensions.top-topEdgeOffset}else if(bottomEdgeOffset>viewportDimensions.top+viewportDimensions.height){delta.top=viewportDimensions.top+viewportDimensions.height-bottomEdgeOffset}}else{var leftEdgeOffset=pos.left-viewportPadding;var rightEdgeOffset=pos.left+viewportPadding+actualWidth;if(leftEdgeOffset<viewportDimensions.left){delta.left=viewportDimensions.left-leftEdgeOffset}else if(rightEdgeOffset>viewportDimensions.right){delta.left=viewportDimensions.left+viewportDimensions.width-rightEdgeOffset}}return delta};Tooltip.prototype.getTitle=function(){var title;var $e=this.$element;var o=this.options;title=$e.attr("data-original-title")||(typeof o.title=="function"?o.title.call($e[0]):o.title);return title};Tooltip.prototype.getUID=function(prefix){do prefix+=~~(Math.random()*1e6);while(document.getElementById(prefix));return prefix};Tooltip.prototype.tip=function(){if(!this.$tip){this.$tip=$(this.options.template);if(this.$tip.length!=1){throw new Error(this.type+" `template` option must consist of exactly 1 top-level element!")}}return this.$tip};Tooltip.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")};Tooltip.prototype.enable=function(){this.enabled=true};Tooltip.prototype.disable=function(){this.enabled=false};Tooltip.prototype.toggleEnabled=function(){this.enabled=!this.enabled};Tooltip.prototype.toggle=function(e){var self=this;if(e){self=$(e.currentTarget).data("bs."+this.type);if(!self){self=new this.constructor(e.currentTarget,this.getDelegateOptions());$(e.currentTarget).data("bs."+this.type,self)}}if(e){self.inState.click=!self.inState.click;if(self.isInStateTrue())self.enter(self);else self.leave(self)}else{self.tip().hasClass("in")?self.leave(self):self.enter(self)}};Tooltip.prototype.destroy=function(){var that=this;clearTimeout(this.timeout);this.hide(function(){that.$element.off("."+that.type).removeData("bs."+that.type);if(that.$tip){that.$tip.detach()}that.$tip=null;that.$arrow=null;that.$viewport=null})};function Plugin(option){return this.each(function(){var $this=$(this);var data=$this.data("bs.tooltip");var options=typeof option=="object"&&option;if(!data&&/destroy|hide/.test(option))return;if(!data)$this.data("bs.tooltip",data=new Tooltip(this,options));if(typeof option=="string")data[option]()})}var old=$.fn.tooltip;$.fn.tooltip=Plugin;$.fn.tooltip.Constructor=Tooltip;$.fn.tooltip.noConflict=function(){$.fn.tooltip=old;return this}}(jQuery);+function($){"use strict";var Popover=function(element,options){this.init("popover",element,options)};if(!$.fn.tooltip)throw new Error("Popover requires tooltip.js");Popover.VERSION="3.3.6";Popover.DEFAULTS=$.extend({},$.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'});Popover.prototype=$.extend({},$.fn.tooltip.Constructor.prototype);Popover.prototype.constructor=Popover;Popover.prototype.getDefaults=function(){return Popover.DEFAULTS};Popover.prototype.setContent=function(){var $tip=this.tip();var title=this.getTitle();var content=this.getContent();$tip.find(".popover-title")[this.options.html?"html":"text"](title);$tip.find(".popover-content").children().detach().end()[this.options.html?typeof content=="string"?"html":"append":"text"](content);$tip.removeClass("fade top bottom left right in");if(!$tip.find(".popover-title").html())$tip.find(".popover-title").hide()};Popover.prototype.hasContent=function(){return this.getTitle()||this.getContent()};Popover.prototype.getContent=function(){var $e=this.$element;var o=this.options;return $e.attr("data-content")||(typeof o.content=="function"?o.content.call($e[0]):o.content)};Popover.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")};function Plugin(option){return this.each(function(){var $this=$(this);var data=$this.data("bs.popover");var options=typeof option=="object"&&option;if(!data&&/destroy|hide/.test(option))return;if(!data)$this.data("bs.popover",data=new Popover(this,options));if(typeof option=="string")data[option]()})}var old=$.fn.popover;$.fn.popover=Plugin;$.fn.popover.Constructor=Popover;$.fn.popover.noConflict=function(){$.fn.popover=old;return this}}(jQuery);+function($){"use strict";function ScrollSpy(element,options){this.$body=$(document.body);this.$scrollElement=$(element).is(document.body)?$(window):$(element);this.options=$.extend({},ScrollSpy.DEFAULTS,options);this.selector=(this.options.target||"")+" .nav li > a";this.offsets=[];this.targets=[];this.activeTarget=null;this.scrollHeight=0;this.$scrollElement.on("scroll.bs.scrollspy",$.proxy(this.process,this));this.refresh();this.process()}ScrollSpy.VERSION="3.3.6";ScrollSpy.DEFAULTS={offset:10};ScrollSpy.prototype.getScrollHeight=function(){return this.$scrollElement[0].scrollHeight||Math.max(this.$body[0].scrollHeight,document.documentElement.scrollHeight)};ScrollSpy.prototype.refresh=function(){var that=this;var offsetMethod="offset";var offsetBase=0;this.offsets=[];this.targets=[];this.scrollHeight=this.getScrollHeight();if(!$.isWindow(this.$scrollElement[0])){offsetMethod="position";offsetBase=this.$scrollElement.scrollTop()}this.$body.find(this.selector).map(function(){var $el=$(this);var href=$el.data("target")||$el.attr("href");var $href=/^#./.test(href)&&$(href);return $href&&$href.length&&$href.is(":visible")&&[[$href[offsetMethod]().top+offsetBase,href]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){that.offsets.push(this[0]);that.targets.push(this[1])})};ScrollSpy.prototype.process=function(){var scrollTop=this.$scrollElement.scrollTop()+this.options.offset;var scrollHeight=this.getScrollHeight();var maxScroll=this.options.offset+scrollHeight-this.$scrollElement.height();var offsets=this.offsets;var targets=this.targets;var activeTarget=this.activeTarget;var i;if(this.scrollHeight!=scrollHeight){this.refresh()}if(scrollTop>=maxScroll){return activeTarget!=(i=targets[targets.length-1])&&this.activate(i)}if(activeTarget&&scrollTop<offsets[0]){this.activeTarget=null;return this.clear()}for(i=offsets.length;i--;){activeTarget!=targets[i]&&scrollTop>=offsets[i]&&(offsets[i+1]===undefined||scrollTop<offsets[i+1])&&this.activate(targets[i])}};ScrollSpy.prototype.activate=function(target){this.activeTarget=target;this.clear();var selector=this.selector+'[data-target="'+target+'"],'+this.selector+'[href="'+target+'"]';var active=$(selector).parents("li").addClass("active");if(active.parent(".dropdown-menu").length){active=active.closest("li.dropdown").addClass("active")}active.trigger("activate.bs.scrollspy")};ScrollSpy.prototype.clear=function(){$(this.selector).parentsUntil(this.options.target,".active").removeClass("active")};function Plugin(option){return this.each(function(){var $this=$(this);var data=$this.data("bs.scrollspy");var options=typeof option=="object"&&option;if(!data)$this.data("bs.scrollspy",data=new ScrollSpy(this,options));if(typeof option=="string")data[option]()})}var old=$.fn.scrollspy;$.fn.scrollspy=Plugin;$.fn.scrollspy.Constructor=ScrollSpy;$.fn.scrollspy.noConflict=function(){$.fn.scrollspy=old;return this};$(window).on("load.bs.scrollspy.data-api",function(){$('[data-spy="scroll"]').each(function(){var $spy=$(this);Plugin.call($spy,$spy.data())})})}(jQuery);+function($){"use strict";var Tab=function(element){this.element=$(element)};Tab.VERSION="3.3.6";Tab.TRANSITION_DURATION=150;Tab.prototype.show=function(){var $this=this.element;var $ul=$this.closest("ul:not(.dropdown-menu)");var selector=$this.data("target");if(!selector){selector=$this.attr("href");selector=selector&&selector.replace(/.*(?=#[^\s]*$)/,"")}if($this.parent("li").hasClass("active"))return;var $previous=$ul.find(".active:last a");var hideEvent=$.Event("hide.bs.tab",{relatedTarget:$this[0]});var showEvent=$.Event("show.bs.tab",{relatedTarget:$previous[0]});$previous.trigger(hideEvent);$this.trigger(showEvent);if(showEvent.isDefaultPrevented()||hideEvent.isDefaultPrevented())return;var $target=$(selector);this.activate($this.closest("li"),$ul);this.activate($target,$target.parent(),function(){$previous.trigger({type:"hidden.bs.tab",relatedTarget:$this[0]});$this.trigger({type:"shown.bs.tab",relatedTarget:$previous[0]})})};Tab.prototype.activate=function(element,container,callback){var $active=container.find("> .active");var transition=callback&&$.support.transition&&($active.length&&$active.hasClass("fade")||!!container.find("> .fade").length);function next(){$active.removeClass("active").find("> .dropdown-menu > .active").removeClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",false);element.addClass("active").find('[data-toggle="tab"]').attr("aria-expanded",true);if(transition){element[0].offsetWidth;element.addClass("in")}else{element.removeClass("fade")}if(element.parent(".dropdown-menu").length){element.closest("li.dropdown").addClass("active").end().find('[data-toggle="tab"]').attr("aria-expanded",true)}callback&&callback()}$active.length&&transition?$active.one("bsTransitionEnd",next).emulateTransitionEnd(Tab.TRANSITION_DURATION):next();$active.removeClass("in")};function Plugin(option){return this.each(function(){var $this=$(this);var data=$this.data("bs.tab");if(!data)$this.data("bs.tab",data=new Tab(this));if(typeof option=="string")data[option]()})}var old=$.fn.tab;$.fn.tab=Plugin;$.fn.tab.Constructor=Tab;$.fn.tab.noConflict=function(){$.fn.tab=old;return this};var clickHandler=function(e){e.preventDefault();Plugin.call($(this),"show")};$(document).on("click.bs.tab.data-api",'[data-toggle="tab"]',clickHandler).on("click.bs.tab.data-api",'[data-toggle="pill"]',clickHandler)}(jQuery);+function($){"use strict";var Affix=function(element,options){this.options=$.extend({},Affix.DEFAULTS,options);this.$target=$(this.options.target).on("scroll.bs.affix.data-api",$.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",$.proxy(this.checkPositionWithEventLoop,this));this.$element=$(element);this.affixed=null;this.unpin=null;this.pinnedOffset=null;this.checkPosition()};Affix.VERSION="3.3.6";Affix.RESET="affix affix-top affix-bottom";Affix.DEFAULTS={offset:0,target:window};Affix.prototype.getState=function(scrollHeight,height,offsetTop,offsetBottom){var scrollTop=this.$target.scrollTop();var position=this.$element.offset();var targetHeight=this.$target.height();if(offsetTop!=null&&this.affixed=="top")return scrollTop<offsetTop?"top":false;if(this.affixed=="bottom"){if(offsetTop!=null)return scrollTop+this.unpin<=position.top?false:"bottom";return scrollTop+targetHeight<=scrollHeight-offsetBottom?false:"bottom"}var initializing=this.affixed==null;var colliderTop=initializing?scrollTop:position.top;var colliderHeight=initializing?targetHeight:height;if(offsetTop!=null&&scrollTop<=offsetTop)return"top";if(offsetBottom!=null&&colliderTop+colliderHeight>=scrollHeight-offsetBottom)return"bottom";return false};Affix.prototype.getPinnedOffset=function(){if(this.pinnedOffset)return this.pinnedOffset;this.$element.removeClass(Affix.RESET).addClass("affix");var scrollTop=this.$target.scrollTop();var position=this.$element.offset();return this.pinnedOffset=position.top-scrollTop};Affix.prototype.checkPositionWithEventLoop=function(){setTimeout($.proxy(this.checkPosition,this),1)};Affix.prototype.checkPosition=function(){if(!this.$element.is(":visible"))return;var height=this.$element.height();var offset=this.options.offset;var offsetTop=offset.top;var offsetBottom=offset.bottom;var scrollHeight=Math.max($(document).height(),$(document.body).height());if(typeof offset!="object")offsetBottom=offsetTop=offset;if(typeof offsetTop=="function")offsetTop=offset.top(this.$element);if(typeof offsetBottom=="function")offsetBottom=offset.bottom(this.$element);var affix=this.getState(scrollHeight,height,offsetTop,offsetBottom);if(this.affixed!=affix){if(this.unpin!=null)this.$element.css("top","");var affixType="affix"+(affix?"-"+affix:"");var e=$.Event(affixType+".bs.affix");this.$element.trigger(e);if(e.isDefaultPrevented())return;this.affixed=affix;this.unpin=affix=="bottom"?this.getPinnedOffset():null;this.$element.removeClass(Affix.RESET).addClass(affixType).trigger(affixType.replace("affix","affixed")+".bs.affix")}if(affix=="bottom"){this.$element.offset({top:scrollHeight-height-offsetBottom})}};function Plugin(option){return this.each(function(){var $this=$(this);var data=$this.data("bs.affix");var options=typeof option=="object"&&option;if(!data)$this.data("bs.affix",data=new Affix(this,options));if(typeof option=="string")data[option]()})}var old=$.fn.affix;$.fn.affix=Plugin;$.fn.affix.Constructor=Affix;$.fn.affix.noConflict=function(){$.fn.affix=old;return this};$(window).on("load",function(){$('[data-spy="affix"]').each(function(){var $spy=$(this);var data=$spy.data();data.offset=data.offset||{};if(data.offsetBottom!=null)data.offset.bottom=data.offsetBottom;if(data.offsetTop!=null)data.offset.top=data.offsetTop;Plugin.call($spy,data)})})}(jQuery);
\ No newline at end of file
diff --git a/core/Test/build/js/d3.min.js b/core/Test/build/js/d3.min.js
new file mode 100644
index 0000000000000000000000000000000000000000..534372d56427997c3a1f8c4aca635f42f98e6ee8
--- /dev/null
+++ b/core/Test/build/js/d3.min.js
@@ -0,0 +1,8 @@
+!function(){var d3={version:"3.5.5"};var d3_arraySlice=[].slice,d3_array=function(list){return d3_arraySlice.call(list)};var d3_document=this.document;function d3_documentElement(node){return node&&(node.ownerDocument||node.document||node).documentElement}function d3_window(node){return node&&(node.ownerDocument&&node.ownerDocument.defaultView||node.document&&node||node.defaultView)}if(d3_document){try{d3_array(d3_document.documentElement.childNodes)[0].nodeType}catch(e){d3_array=function(list){var i=list.length,array=new Array(i);while(i--)array[i]=list[i];return array}}}if(!Date.now)Date.now=function(){return+new Date};if(d3_document){try{d3_document.createElement("DIV").style.setProperty("opacity",0,"")}catch(error){var d3_element_prototype=this.Element.prototype,d3_element_setAttribute=d3_element_prototype.setAttribute,d3_element_setAttributeNS=d3_element_prototype.setAttributeNS,d3_style_prototype=this.CSSStyleDeclaration.prototype,d3_style_setProperty=d3_style_prototype.setProperty;d3_element_prototype.setAttribute=function(name,value){d3_element_setAttribute.call(this,name,value+"")};d3_element_prototype.setAttributeNS=function(space,local,value){d3_element_setAttributeNS.call(this,space,local,value+"")};d3_style_prototype.setProperty=function(name,value,priority){d3_style_setProperty.call(this,name,value+"",priority)}}}d3.ascending=d3_ascending;function d3_ascending(a,b){return a<b?-1:a>b?1:a>=b?0:NaN}d3.descending=function(a,b){return b<a?-1:b>a?1:b>=a?0:NaN};d3.min=function(array,f){var i=-1,n=array.length,a,b;if(arguments.length===1){while(++i<n)if((b=array[i])!=null&&b>=b){a=b;break}while(++i<n)if((b=array[i])!=null&&a>b)a=b}else{while(++i<n)if((b=f.call(array,array[i],i))!=null&&b>=b){a=b;break}while(++i<n)if((b=f.call(array,array[i],i))!=null&&a>b)a=b}return a};d3.max=function(array,f){var i=-1,n=array.length,a,b;if(arguments.length===1){while(++i<n)if((b=array[i])!=null&&b>=b){a=b;break}while(++i<n)if((b=array[i])!=null&&b>a)a=b}else{while(++i<n)if((b=f.call(array,array[i],i))!=null&&b>=b){a=b;break}while(++i<n)if((b=f.call(array,array[i],i))!=null&&b>a)a=b}return a};d3.extent=function(array,f){var i=-1,n=array.length,a,b,c;if(arguments.length===1){while(++i<n)if((b=array[i])!=null&&b>=b){a=c=b;break}while(++i<n)if((b=array[i])!=null){if(a>b)a=b;if(c<b)c=b}}else{while(++i<n)if((b=f.call(array,array[i],i))!=null&&b>=b){a=c=b;break}while(++i<n)if((b=f.call(array,array[i],i))!=null){if(a>b)a=b;if(c<b)c=b}}return[a,c]};function d3_number(x){return x===null?NaN:+x}function d3_numeric(x){return!isNaN(x)}d3.sum=function(array,f){var s=0,n=array.length,a,i=-1;if(arguments.length===1){while(++i<n)if(d3_numeric(a=+array[i]))s+=a}else{while(++i<n)if(d3_numeric(a=+f.call(array,array[i],i)))s+=a}return s};d3.mean=function(array,f){var s=0,n=array.length,a,i=-1,j=n;if(arguments.length===1){while(++i<n)if(d3_numeric(a=d3_number(array[i])))s+=a;else--j}else{while(++i<n)if(d3_numeric(a=d3_number(f.call(array,array[i],i))))s+=a;else--j}if(j)return s/j};d3.quantile=function(values,p){var H=(values.length-1)*p+1,h=Math.floor(H),v=+values[h-1],e=H-h;return e?v+e*(values[h]-v):v};d3.median=function(array,f){var numbers=[],n=array.length,a,i=-1;if(arguments.length===1){while(++i<n)if(d3_numeric(a=d3_number(array[i])))numbers.push(a)}else{while(++i<n)if(d3_numeric(a=d3_number(f.call(array,array[i],i))))numbers.push(a)}if(numbers.length)return d3.quantile(numbers.sort(d3_ascending),.5)};d3.variance=function(array,f){var n=array.length,m=0,a,d,s=0,i=-1,j=0;if(arguments.length===1){while(++i<n){if(d3_numeric(a=d3_number(array[i]))){d=a-m;m+=d/++j;s+=d*(a-m)}}}else{while(++i<n){if(d3_numeric(a=d3_number(f.call(array,array[i],i)))){d=a-m;m+=d/++j;s+=d*(a-m)}}}if(j>1)return s/(j-1)};d3.deviation=function(){var v=d3.variance.apply(this,arguments);return v?Math.sqrt(v):v};function d3_bisector(compare){return{left:function(a,x,lo,hi){if(arguments.length<3)lo=0;if(arguments.length<4)hi=a.length;while(lo<hi){var mid=lo+hi>>>1;if(compare(a[mid],x)<0)lo=mid+1;else hi=mid}return lo},right:function(a,x,lo,hi){if(arguments.length<3)lo=0;if(arguments.length<4)hi=a.length;while(lo<hi){var mid=lo+hi>>>1;if(compare(a[mid],x)>0)hi=mid;else lo=mid+1}return lo}}}var d3_bisect=d3_bisector(d3_ascending);d3.bisectLeft=d3_bisect.left;d3.bisect=d3.bisectRight=d3_bisect.right;d3.bisector=function(f){return d3_bisector(f.length===1?function(d,x){return d3_ascending(f(d),x)}:f)};d3.shuffle=function(array,i0,i1){if((m=arguments.length)<3){i1=array.length;if(m<2)i0=0}var m=i1-i0,t,i;while(m){i=Math.random()*m--|0;t=array[m+i0],array[m+i0]=array[i+i0],array[i+i0]=t}return array};d3.permute=function(array,indexes){var i=indexes.length,permutes=new Array(i);while(i--)permutes[i]=array[indexes[i]];return permutes};d3.pairs=function(array){var i=0,n=array.length-1,p0,p1=array[0],pairs=new Array(n<0?0:n);while(i<n)pairs[i]=[p0=p1,p1=array[++i]];return pairs};d3.zip=function(){if(!(n=arguments.length))return[];for(var i=-1,m=d3.min(arguments,d3_zipLength),zips=new Array(m);++i<m;){for(var j=-1,n,zip=zips[i]=new Array(n);++j<n;){zip[j]=arguments[j][i]}}return zips};function d3_zipLength(d){return d.length}d3.transpose=function(matrix){return d3.zip.apply(d3,matrix)};d3.keys=function(map){var keys=[];for(var key in map)keys.push(key);return keys};d3.values=function(map){var values=[];for(var key in map)values.push(map[key]);return values};d3.entries=function(map){var entries=[];for(var key in map)entries.push({key:key,value:map[key]});return entries};d3.merge=function(arrays){var n=arrays.length,m,i=-1,j=0,merged,array;while(++i<n)j+=arrays[i].length;merged=new Array(j);while(--n>=0){array=arrays[n];m=array.length;while(--m>=0){merged[--j]=array[m]}}return merged};var abs=Math.abs;d3.range=function(start,stop,step){if(arguments.length<3){step=1;if(arguments.length<2){stop=start;start=0}}if((stop-start)/step===Infinity)throw new Error("infinite range");var range=[],k=d3_range_integerScale(abs(step)),i=-1,j;start*=k,stop*=k,step*=k;if(step<0)while((j=start+step*++i)>stop)range.push(j/k);else while((j=start+step*++i)<stop)range.push(j/k);return range};function d3_range_integerScale(x){var k=1;while(x*k%1)k*=10;return k}function d3_class(ctor,properties){for(var key in properties){Object.defineProperty(ctor.prototype,key,{value:properties[key],enumerable:false})}}d3.map=function(object,f){var map=new d3_Map;if(object instanceof d3_Map){object.forEach(function(key,value){map.set(key,value)})}else if(Array.isArray(object)){var i=-1,n=object.length,o;if(arguments.length===1)while(++i<n)map.set(i,object[i]);else while(++i<n)map.set(f.call(object,o=object[i],i),o)}else{for(var key in object)map.set(key,object[key])}return map};function d3_Map(){this._=Object.create(null)}var d3_map_proto="__proto__",d3_map_zero="\x00";d3_class(d3_Map,{has:d3_map_has,get:function(key){return this._[d3_map_escape(key)]},set:function(key,value){return this._[d3_map_escape(key)]=value},remove:d3_map_remove,keys:d3_map_keys,values:function(){var values=[];for(var key in this._)values.push(this._[key]);return values},entries:function(){var entries=[];for(var key in this._)entries.push({key:d3_map_unescape(key),value:this._[key]});return entries},size:d3_map_size,empty:d3_map_empty,forEach:function(f){for(var key in this._)f.call(this,d3_map_unescape(key),this._[key])}});function d3_map_escape(key){return(key+="")===d3_map_proto||key[0]===d3_map_zero?d3_map_zero+key:key}function d3_map_unescape(key){return(key+="")[0]===d3_map_zero?key.slice(1):key}function d3_map_has(key){return d3_map_escape(key)in this._}function d3_map_remove(key){return(key=d3_map_escape(key))in this._&&delete this._[key]}function d3_map_keys(){var keys=[];for(var key in this._)keys.push(d3_map_unescape(key));return keys}function d3_map_size(){var size=0;for(var key in this._)++size;return size}function d3_map_empty(){for(var key in this._)return false;return true}d3.nest=function(){var nest={},keys=[],sortKeys=[],sortValues,rollup;function map(mapType,array,depth){if(depth>=keys.length)return rollup?rollup.call(nest,array):sortValues?array.sort(sortValues):array;var i=-1,n=array.length,key=keys[depth++],keyValue,object,setter,valuesByKey=new d3_Map,values;while(++i<n){if(values=valuesByKey.get(keyValue=key(object=array[i]))){values.push(object)}else{valuesByKey.set(keyValue,[object])}}if(mapType){object=mapType();setter=function(keyValue,values){object.set(keyValue,map(mapType,values,depth))}}else{object={};setter=function(keyValue,values){object[keyValue]=map(mapType,values,depth)}}valuesByKey.forEach(setter);return object}function entries(map,depth){if(depth>=keys.length)return map;var array=[],sortKey=sortKeys[depth++];map.forEach(function(key,keyMap){array.push({key:key,values:entries(keyMap,depth)})});return sortKey?array.sort(function(a,b){return sortKey(a.key,b.key)}):array}nest.map=function(array,mapType){return map(mapType,array,0)};nest.entries=function(array){return entries(map(d3.map,array,0),0)};nest.key=function(d){keys.push(d);return nest};nest.sortKeys=function(order){sortKeys[keys.length-1]=order;return nest};nest.sortValues=function(order){sortValues=order;return nest};nest.rollup=function(f){rollup=f;return nest};return nest};d3.set=function(array){var set=new d3_Set;if(array)for(var i=0,n=array.length;i<n;++i)set.add(array[i]);return set};function d3_Set(){this._=Object.create(null)}d3_class(d3_Set,{has:d3_map_has,add:function(key){this._[d3_map_escape(key+="")]=true;return key},remove:d3_map_remove,values:d3_map_keys,size:d3_map_size,empty:d3_map_empty,forEach:function(f){for(var key in this._)f.call(this,d3_map_unescape(key))}});d3.behavior={};function d3_identity(d){return d}d3.rebind=function(target,source){var i=1,n=arguments.length,method;while(++i<n)target[method=arguments[i]]=d3_rebind(target,source,source[method]);return target};function d3_rebind(target,source,method){return function(){var value=method.apply(source,arguments);return value===source?target:value}}function d3_vendorSymbol(object,name){if(name in object)return name;name=name.charAt(0).toUpperCase()+name.slice(1);for(var i=0,n=d3_vendorPrefixes.length;i<n;++i){var prefixName=d3_vendorPrefixes[i]+name;if(prefixName in object)return prefixName}}var d3_vendorPrefixes=["webkit","ms","moz","Moz","o","O"];function d3_noop(){}d3.dispatch=function(){var dispatch=new d3_dispatch,i=-1,n=arguments.length;while(++i<n)dispatch[arguments[i]]=d3_dispatch_event(dispatch);return dispatch};function d3_dispatch(){}d3_dispatch.prototype.on=function(type,listener){var i=type.indexOf("."),name="";if(i>=0){name=type.slice(i+1);type=type.slice(0,i)}if(type)return arguments.length<2?this[type].on(name):this[type].on(name,listener);if(arguments.length===2){if(listener==null)for(type in this){if(this.hasOwnProperty(type))this[type].on(name,null)}return this}};function d3_dispatch_event(dispatch){var listeners=[],listenerByName=new d3_Map;function event(){var z=listeners,i=-1,n=z.length,l;while(++i<n)if(l=z[i].on)l.apply(this,arguments);return dispatch}event.on=function(name,listener){var l=listenerByName.get(name),i;if(arguments.length<2)return l&&l.on;if(l){l.on=null;listeners=listeners.slice(0,i=listeners.indexOf(l)).concat(listeners.slice(i+1));listenerByName.remove(name)}if(listener)listeners.push(listenerByName.set(name,{on:listener}));return dispatch};return event}d3.event=null;function d3_eventPreventDefault(){d3.event.preventDefault()}function d3_eventSource(){var e=d3.event,s;while(s=e.sourceEvent)e=s;return e}function d3_eventDispatch(target){var dispatch=new d3_dispatch,i=0,n=arguments.length;while(++i<n)dispatch[arguments[i]]=d3_dispatch_event(dispatch);dispatch.of=function(thiz,argumentz){return function(e1){try{var e0=e1.sourceEvent=d3.event;e1.target=target;d3.event=e1;dispatch[e1.type].apply(thiz,argumentz)}finally{d3.event=e0}}};return dispatch}d3.requote=function(s){return s.replace(d3_requote_re,"\\$&")};var d3_requote_re=/[\\\^\$\*\+\?\|\[\]\(\)\.\{\}]/g;var d3_subclass={}.__proto__?function(object,prototype){object.__proto__=prototype}:function(object,prototype){for(var property in prototype)object[property]=prototype[property]};function d3_selection(groups){d3_subclass(groups,d3_selectionPrototype);return groups}var d3_select=function(s,n){return n.querySelector(s)},d3_selectAll=function(s,n){return n.querySelectorAll(s)},d3_selectMatches=function(n,s){var d3_selectMatcher=n.matches||n[d3_vendorSymbol(n,"matchesSelector")];d3_selectMatches=function(n,s){return d3_selectMatcher.call(n,s)};return d3_selectMatches(n,s)};if(typeof Sizzle==="function"){d3_select=function(s,n){return Sizzle(s,n)[0]||null};d3_selectAll=Sizzle;d3_selectMatches=Sizzle.matchesSelector}d3.selection=function(){return d3.select(d3_document.documentElement)};var d3_selectionPrototype=d3.selection.prototype=[];d3_selectionPrototype.select=function(selector){var subgroups=[],subgroup,subnode,group,node;selector=d3_selection_selector(selector);for(var j=-1,m=this.length;++j<m;){subgroups.push(subgroup=[]);subgroup.parentNode=(group=this[j]).parentNode;for(var i=-1,n=group.length;++i<n;){if(node=group[i]){subgroup.push(subnode=selector.call(node,node.__data__,i,j));if(subnode&&"__data__"in node)subnode.__data__=node.__data__}else{subgroup.push(null)}}}return d3_selection(subgroups)};function d3_selection_selector(selector){return typeof selector==="function"?selector:function(){return d3_select(selector,this)}}d3_selectionPrototype.selectAll=function(selector){var subgroups=[],subgroup,node;selector=d3_selection_selectorAll(selector);for(var j=-1,m=this.length;++j<m;){for(var group=this[j],i=-1,n=group.length;++i<n;){if(node=group[i]){subgroups.push(subgroup=d3_array(selector.call(node,node.__data__,i,j)));subgroup.parentNode=node}}}return d3_selection(subgroups)};function d3_selection_selectorAll(selector){return typeof selector==="function"?selector:function(){return d3_selectAll(selector,this)}}var d3_nsPrefix={svg:"http://www.w3.org/2000/svg",xhtml:"http://www.w3.org/1999/xhtml",xlink:"http://www.w3.org/1999/xlink",xml:"http://www.w3.org/XML/1998/namespace",xmlns:"http://www.w3.org/2000/xmlns/"};d3.ns={prefix:d3_nsPrefix,qualify:function(name){var i=name.indexOf(":"),prefix=name;if(i>=0){prefix=name.slice(0,i);name=name.slice(i+1)}return d3_nsPrefix.hasOwnProperty(prefix)?{space:d3_nsPrefix[prefix],local:name}:name}};d3_selectionPrototype.attr=function(name,value){if(arguments.length<2){if(typeof name==="string"){var node=this.node();name=d3.ns.qualify(name);return name.local?node.getAttributeNS(name.space,name.local):node.getAttribute(name)}for(value in name)this.each(d3_selection_attr(value,name[value]));return this}return this.each(d3_selection_attr(name,value))};function d3_selection_attr(name,value){name=d3.ns.qualify(name);function attrNull(){this.removeAttribute(name)}function attrNullNS(){this.removeAttributeNS(name.space,name.local)}function attrConstant(){this.setAttribute(name,value)}function attrConstantNS(){this.setAttributeNS(name.space,name.local,value)}function attrFunction(){var x=value.apply(this,arguments);if(x==null)this.removeAttribute(name);else this.setAttribute(name,x)}function attrFunctionNS(){var x=value.apply(this,arguments);if(x==null)this.removeAttributeNS(name.space,name.local);else this.setAttributeNS(name.space,name.local,x)}return value==null?name.local?attrNullNS:attrNull:typeof value==="function"?name.local?attrFunctionNS:attrFunction:name.local?attrConstantNS:attrConstant}function d3_collapse(s){return s.trim().replace(/\s+/g," ")}d3_selectionPrototype.classed=function(name,value){if(arguments.length<2){if(typeof name==="string"){var node=this.node(),n=(name=d3_selection_classes(name)).length,i=-1;if(value=node.classList){while(++i<n)if(!value.contains(name[i]))return false}else{value=node.getAttribute("class");while(++i<n)if(!d3_selection_classedRe(name[i]).test(value))return false}return true}for(value in name)this.each(d3_selection_classed(value,name[value]));return this}return this.each(d3_selection_classed(name,value))};function d3_selection_classedRe(name){return new RegExp("(?:^|\\s+)"+d3.requote(name)+"(?:\\s+|$)","g")}function d3_selection_classes(name){return(name+"").trim().split(/^|\s+/)}function d3_selection_classed(name,value){name=d3_selection_classes(name).map(d3_selection_classedName);var n=name.length;function classedConstant(){var i=-1;while(++i<n)name[i](this,value)}function classedFunction(){var i=-1,x=value.apply(this,arguments);while(++i<n)name[i](this,x)}return typeof value==="function"?classedFunction:classedConstant}function d3_selection_classedName(name){var re=d3_selection_classedRe(name);return function(node,value){if(c=node.classList)return value?c.add(name):c.remove(name);var c=node.getAttribute("class")||"";if(value){re.lastIndex=0;if(!re.test(c))node.setAttribute("class",d3_collapse(c+" "+name))}else{node.setAttribute("class",d3_collapse(c.replace(re," ")))}}}d3_selectionPrototype.style=function(name,value,priority){var n=arguments.length;if(n<3){if(typeof name!=="string"){if(n<2)value="";for(priority in name)this.each(d3_selection_style(priority,name[priority],value));return this}if(n<2){var node=this.node();return d3_window(node).getComputedStyle(node,null).getPropertyValue(name)}priority=""}return this.each(d3_selection_style(name,value,priority))};function d3_selection_style(name,value,priority){function styleNull(){this.style.removeProperty(name)}function styleConstant(){this.style.setProperty(name,value,priority)}function styleFunction(){var x=value.apply(this,arguments);if(x==null)this.style.removeProperty(name);else this.style.setProperty(name,x,priority)}return value==null?styleNull:typeof value==="function"?styleFunction:styleConstant}d3_selectionPrototype.property=function(name,value){if(arguments.length<2){if(typeof name==="string")return this.node()[name];for(value in name)this.each(d3_selection_property(value,name[value]));return this}return this.each(d3_selection_property(name,value))};function d3_selection_property(name,value){function propertyNull(){delete this[name]}function propertyConstant(){this[name]=value}function propertyFunction(){var x=value.apply(this,arguments);if(x==null)delete this[name];else this[name]=x}return value==null?propertyNull:typeof value==="function"?propertyFunction:propertyConstant}d3_selectionPrototype.text=function(value){return arguments.length?this.each(typeof value==="function"?function(){var v=value.apply(this,arguments);this.textContent=v==null?"":v}:value==null?function(){this.textContent=""}:function(){this.textContent=value}):this.node().textContent};d3_selectionPrototype.html=function(value){return arguments.length?this.each(typeof value==="function"?function(){var v=value.apply(this,arguments);this.innerHTML=v==null?"":v}:value==null?function(){this.innerHTML=""}:function(){this.innerHTML=value}):this.node().innerHTML};d3_selectionPrototype.append=function(name){name=d3_selection_creator(name);return this.select(function(){return this.appendChild(name.apply(this,arguments))})};function d3_selection_creator(name){function create(){var document=this.ownerDocument,namespace=this.namespaceURI;return namespace?document.createElementNS(namespace,name):document.createElement(name)}function createNS(){return this.ownerDocument.createElementNS(name.space,name.local)}return typeof name==="function"?name:(name=d3.ns.qualify(name)).local?createNS:create}d3_selectionPrototype.insert=function(name,before){name=d3_selection_creator(name);before=d3_selection_selector(before);return this.select(function(){return this.insertBefore(name.apply(this,arguments),before.apply(this,arguments)||null)})};d3_selectionPrototype.remove=function(){return this.each(d3_selectionRemove)};function d3_selectionRemove(){var parent=this.parentNode;if(parent)parent.removeChild(this)}d3_selectionPrototype.data=function(value,key){var i=-1,n=this.length,group,node;if(!arguments.length){value=new Array(n=(group=this[0]).length);while(++i<n){if(node=group[i]){value[i]=node.__data__}}return value}function bind(group,groupData){var i,n=group.length,m=groupData.length,n0=Math.min(n,m),updateNodes=new Array(m),enterNodes=new Array(m),exitNodes=new Array(n),node,nodeData;if(key){var nodeByKeyValue=new d3_Map,keyValues=new Array(n),keyValue;for(i=-1;++i<n;){if(nodeByKeyValue.has(keyValue=key.call(node=group[i],node.__data__,i))){exitNodes[i]=node}else{nodeByKeyValue.set(keyValue,node)}keyValues[i]=keyValue}for(i=-1;++i<m;){if(!(node=nodeByKeyValue.get(keyValue=key.call(groupData,nodeData=groupData[i],i)))){enterNodes[i]=d3_selection_dataNode(nodeData)}else if(node!==true){updateNodes[i]=node;node.__data__=nodeData}nodeByKeyValue.set(keyValue,true)}for(i=-1;++i<n;){if(nodeByKeyValue.get(keyValues[i])!==true){exitNodes[i]=group[i]}}}else{for(i=-1;++i<n0;){node=group[i];nodeData=groupData[i];if(node){node.__data__=nodeData;updateNodes[i]=node}else{enterNodes[i]=d3_selection_dataNode(nodeData)}}for(;i<m;++i){enterNodes[i]=d3_selection_dataNode(groupData[i])}for(;i<n;++i){exitNodes[i]=group[i]}}enterNodes.update=updateNodes;enterNodes.parentNode=updateNodes.parentNode=exitNodes.parentNode=group.parentNode;enter.push(enterNodes);update.push(updateNodes);exit.push(exitNodes)}var enter=d3_selection_enter([]),update=d3_selection([]),exit=d3_selection([]);if(typeof value==="function"){while(++i<n){bind(group=this[i],value.call(group,group.parentNode.__data__,i))}}else{while(++i<n){bind(group=this[i],value)}}update.enter=function(){return enter};update.exit=function(){return exit};return update};function d3_selection_dataNode(data){return{__data__:data}}d3_selectionPrototype.datum=function(value){return arguments.length?this.property("__data__",value):this.property("__data__")};d3_selectionPrototype.filter=function(filter){var subgroups=[],subgroup,group,node;if(typeof filter!=="function")filter=d3_selection_filter(filter);for(var j=0,m=this.length;j<m;j++){subgroups.push(subgroup=[]);subgroup.parentNode=(group=this[j]).parentNode;for(var i=0,n=group.length;i<n;i++){if((node=group[i])&&filter.call(node,node.__data__,i,j)){subgroup.push(node)}}}return d3_selection(subgroups)};function d3_selection_filter(selector){return function(){return d3_selectMatches(this,selector)}}d3_selectionPrototype.order=function(){for(var j=-1,m=this.length;++j<m;){for(var group=this[j],i=group.length-1,next=group[i],node;--i>=0;){if(node=group[i]){if(next&&next!==node.nextSibling)next.parentNode.insertBefore(node,next);next=node}}}return this};d3_selectionPrototype.sort=function(comparator){comparator=d3_selection_sortComparator.apply(this,arguments);for(var j=-1,m=this.length;++j<m;)this[j].sort(comparator);return this.order()};function d3_selection_sortComparator(comparator){if(!arguments.length)comparator=d3_ascending;return function(a,b){return a&&b?comparator(a.__data__,b.__data__):!a-!b}}d3_selectionPrototype.each=function(callback){return d3_selection_each(this,function(node,i,j){callback.call(node,node.__data__,i,j)})};function d3_selection_each(groups,callback){for(var j=0,m=groups.length;j<m;j++){for(var group=groups[j],i=0,n=group.length,node;i<n;i++){if(node=group[i])callback(node,i,j)}}return groups}d3_selectionPrototype.call=function(callback){var args=d3_array(arguments);callback.apply(args[0]=this,args);return this};d3_selectionPrototype.empty=function(){return!this.node()};d3_selectionPrototype.node=function(){for(var j=0,m=this.length;j<m;j++){for(var group=this[j],i=0,n=group.length;i<n;i++){var node=group[i];if(node)return node}}return null};d3_selectionPrototype.size=function(){var n=0;d3_selection_each(this,function(){++n});return n};function d3_selection_enter(selection){d3_subclass(selection,d3_selection_enterPrototype);return selection}var d3_selection_enterPrototype=[];d3.selection.enter=d3_selection_enter;d3.selection.enter.prototype=d3_selection_enterPrototype;d3_selection_enterPrototype.append=d3_selectionPrototype.append;d3_selection_enterPrototype.empty=d3_selectionPrototype.empty;d3_selection_enterPrototype.node=d3_selectionPrototype.node;d3_selection_enterPrototype.call=d3_selectionPrototype.call;d3_selection_enterPrototype.size=d3_selectionPrototype.size;d3_selection_enterPrototype.select=function(selector){var subgroups=[],subgroup,subnode,upgroup,group,node;for(var j=-1,m=this.length;++j<m;){upgroup=(group=this[j]).update;subgroups.push(subgroup=[]);subgroup.parentNode=group.parentNode;for(var i=-1,n=group.length;++i<n;){if(node=group[i]){subgroup.push(upgroup[i]=subnode=selector.call(group.parentNode,node.__data__,i,j));subnode.__data__=node.__data__}else{subgroup.push(null)}}}return d3_selection(subgroups)};d3_selection_enterPrototype.insert=function(name,before){if(arguments.length<2)before=d3_selection_enterInsertBefore(this);return d3_selectionPrototype.insert.call(this,name,before)};function d3_selection_enterInsertBefore(enter){var i0,j0;return function(d,i,j){var group=enter[j].update,n=group.length,node;if(j!=j0)j0=j,i0=0;if(i>=i0)i0=i+1;while(!(node=group[i0])&&++i0<n);return node}}d3.select=function(node){var group;if(typeof node==="string"){group=[d3_select(node,d3_document)];group.parentNode=d3_document.documentElement}else{group=[node];group.parentNode=d3_documentElement(node)}return d3_selection([group])};d3.selectAll=function(nodes){var group;if(typeof nodes==="string"){group=d3_array(d3_selectAll(nodes,d3_document));group.parentNode=d3_document.documentElement}else{group=nodes;group.parentNode=null}return d3_selection([group])};d3_selectionPrototype.on=function(type,listener,capture){var n=arguments.length;if(n<3){if(typeof type!=="string"){if(n<2)listener=false;for(capture in type)this.each(d3_selection_on(capture,type[capture],listener));return this}if(n<2)return(n=this.node()["__on"+type])&&n._;capture=false}return this.each(d3_selection_on(type,listener,capture))};function d3_selection_on(type,listener,capture){var name="__on"+type,i=type.indexOf("."),wrap=d3_selection_onListener;if(i>0)type=type.slice(0,i);var filter=d3_selection_onFilters.get(type);if(filter)type=filter,wrap=d3_selection_onFilter;function onRemove(){var l=this[name];if(l){this.removeEventListener(type,l,l.$);delete this[name]}}function onAdd(){var l=wrap(listener,d3_array(arguments));onRemove.call(this);this.addEventListener(type,this[name]=l,l.$=capture);l._=listener}function removeAll(){var re=new RegExp("^__on([^.]+)"+d3.requote(type)+"$"),match;for(var name in this){if(match=name.match(re)){var l=this[name];this.removeEventListener(match[1],l,l.$);delete this[name]}}}return i?listener?onAdd:onRemove:listener?d3_noop:removeAll}var d3_selection_onFilters=d3.map({mouseenter:"mouseover",mouseleave:"mouseout"});if(d3_document){d3_selection_onFilters.forEach(function(k){if("on"+k in d3_document)d3_selection_onFilters.remove(k)})}function d3_selection_onListener(listener,argumentz){return function(e){var o=d3.event;d3.event=e;argumentz[0]=this.__data__;try{listener.apply(this,argumentz)}finally{d3.event=o}}}function d3_selection_onFilter(listener,argumentz){var l=d3_selection_onListener(listener,argumentz);return function(e){var target=this,related=e.relatedTarget;if(!related||related!==target&&!(related.compareDocumentPosition(target)&8)){l.call(target,e)}}}var d3_event_dragSelect,d3_event_dragId=0;function d3_event_dragSuppress(node){var name=".dragsuppress-"+ ++d3_event_dragId,click="click"+name,w=d3.select(d3_window(node)).on("touchmove"+name,d3_eventPreventDefault).on("dragstart"+name,d3_eventPreventDefault).on("selectstart"+name,d3_eventPreventDefault);if(d3_event_dragSelect==null){d3_event_dragSelect="onselectstart"in node?false:d3_vendorSymbol(node.style,"userSelect")}if(d3_event_dragSelect){var style=d3_documentElement(node).style,select=style[d3_event_dragSelect];style[d3_event_dragSelect]="none"}return function(suppressClick){w.on(name,null);if(d3_event_dragSelect)style[d3_event_dragSelect]=select;if(suppressClick){var off=function(){w.on(click,null)};w.on(click,function(){d3_eventPreventDefault();off()},true);setTimeout(off,0)}}}d3.mouse=function(container){return d3_mousePoint(container,d3_eventSource())};var d3_mouse_bug44083=this.navigator&&/WebKit/.test(this.navigator.userAgent)?-1:0;function d3_mousePoint(container,e){if(e.changedTouches)e=e.changedTouches[0];var svg=container.ownerSVGElement||container;if(svg.createSVGPoint){var point=svg.createSVGPoint();if(d3_mouse_bug44083<0){var window=d3_window(container);if(window.scrollX||window.scrollY){svg=d3.select("body").append("svg").style({position:"absolute",top:0,left:0,margin:0,padding:0,border:"none"},"important");var ctm=svg[0][0].getScreenCTM();d3_mouse_bug44083=!(ctm.f||ctm.e);svg.remove()}}if(d3_mouse_bug44083)point.x=e.pageX,point.y=e.pageY;else point.x=e.clientX,point.y=e.clientY;point=point.matrixTransform(container.getScreenCTM().inverse());return[point.x,point.y]}var rect=container.getBoundingClientRect();return[e.clientX-rect.left-container.clientLeft,e.clientY-rect.top-container.clientTop]}d3.touch=function(container,touches,identifier){if(arguments.length<3)identifier=touches,touches=d3_eventSource().changedTouches;if(touches)for(var i=0,n=touches.length,touch;i<n;++i){if((touch=touches[i]).identifier===identifier){return d3_mousePoint(container,touch)}}};d3.behavior.drag=function(){var event=d3_eventDispatch(drag,"drag","dragstart","dragend"),origin=null,mousedown=dragstart(d3_noop,d3.mouse,d3_window,"mousemove","mouseup"),touchstart=dragstart(d3_behavior_dragTouchId,d3.touch,d3_identity,"touchmove","touchend");function drag(){this.on("mousedown.drag",mousedown).on("touchstart.drag",touchstart)}function dragstart(id,position,subject,move,end){return function(){var that=this,target=d3.event.target,parent=that.parentNode,dispatch=event.of(that,arguments),dragged=0,dragId=id(),dragName=".drag"+(dragId==null?"":"-"+dragId),dragOffset,dragSubject=d3.select(subject(target)).on(move+dragName,moved).on(end+dragName,ended),dragRestore=d3_event_dragSuppress(target),position0=position(parent,dragId);if(origin){dragOffset=origin.apply(that,arguments);dragOffset=[dragOffset.x-position0[0],dragOffset.y-position0[1]]}else{dragOffset=[0,0]}dispatch({type:"dragstart"});function moved(){var position1=position(parent,dragId),dx,dy;if(!position1)return;dx=position1[0]-position0[0];dy=position1[1]-position0[1];dragged|=dx|dy;position0=position1;dispatch({type:"drag",x:position1[0]+dragOffset[0],y:position1[1]+dragOffset[1],dx:dx,dy:dy})}function ended(){if(!position(parent,dragId))return;dragSubject.on(move+dragName,null).on(end+dragName,null);dragRestore(dragged&&d3.event.target===target);dispatch({type:"dragend"})}}}drag.origin=function(x){if(!arguments.length)return origin;origin=x;return drag};return d3.rebind(drag,event,"on")};function d3_behavior_dragTouchId(){return d3.event.changedTouches[0].identifier}d3.touches=function(container,touches){if(arguments.length<2)touches=d3_eventSource().touches;return touches?d3_array(touches).map(function(touch){var point=d3_mousePoint(container,touch);point.identifier=touch.identifier;return point}):[]};var ε=1e-6,ε2=ε*ε,π=Math.PI,τ=2*π,τε=τ-ε,halfπ=π/2,d3_radians=π/180,d3_degrees=180/π;function d3_sgn(x){return x>0?1:x<0?-1:0}function d3_cross2d(a,b,c){return(b[0]-a[0])*(c[1]-a[1])-(b[1]-a[1])*(c[0]-a[0])}function d3_acos(x){return x>1?0:x<-1?π:Math.acos(x)}function d3_asin(x){return x>1?halfπ:x<-1?-halfπ:Math.asin(x)}function d3_sinh(x){return((x=Math.exp(x))-1/x)/2}function d3_cosh(x){return((x=Math.exp(x))+1/x)/2}function d3_tanh(x){return((x=Math.exp(2*x))-1)/(x+1)}function d3_haversin(x){return(x=Math.sin(x/2))*x}var ρ=Math.SQRT2,ρ2=2,ρ4=4;d3.interpolateZoom=function(p0,p1){var ux0=p0[0],uy0=p0[1],w0=p0[2],ux1=p1[0],uy1=p1[1],w1=p1[2];var dx=ux1-ux0,dy=uy1-uy0,d2=dx*dx+dy*dy,d1=Math.sqrt(d2),b0=(w1*w1-w0*w0+ρ4*d2)/(2*w0*ρ2*d1),b1=(w1*w1-w0*w0-ρ4*d2)/(2*w1*ρ2*d1),r0=Math.log(Math.sqrt(b0*b0+1)-b0),r1=Math.log(Math.sqrt(b1*b1+1)-b1),dr=r1-r0,S=(dr||Math.log(w1/w0))/ρ;function interpolate(t){var s=t*S;if(dr){var coshr0=d3_cosh(r0),u=w0/(ρ2*d1)*(coshr0*d3_tanh(ρ*s+r0)-d3_sinh(r0));
+return[ux0+u*dx,uy0+u*dy,w0*coshr0/d3_cosh(ρ*s+r0)]}return[ux0+t*dx,uy0+t*dy,w0*Math.exp(ρ*s)]}interpolate.duration=S*1e3;return interpolate};d3.behavior.zoom=function(){var view={x:0,y:0,k:1},translate0,center0,center,size=[960,500],scaleExtent=d3_behavior_zoomInfinity,duration=250,zooming=0,mousedown="mousedown.zoom",mousemove="mousemove.zoom",mouseup="mouseup.zoom",mousewheelTimer,touchstart="touchstart.zoom",touchtime,event=d3_eventDispatch(zoom,"zoomstart","zoom","zoomend"),x0,x1,y0,y1;if(!d3_behavior_zoomWheel){d3_behavior_zoomWheel="onwheel"in d3_document?(d3_behavior_zoomDelta=function(){return-d3.event.deltaY*(d3.event.deltaMode?120:1)},"wheel"):"onmousewheel"in d3_document?(d3_behavior_zoomDelta=function(){return d3.event.wheelDelta},"mousewheel"):(d3_behavior_zoomDelta=function(){return-d3.event.detail},"MozMousePixelScroll")}function zoom(g){g.on(mousedown,mousedowned).on(d3_behavior_zoomWheel+".zoom",mousewheeled).on("dblclick.zoom",dblclicked).on(touchstart,touchstarted)}zoom.event=function(g){g.each(function(){var dispatch=event.of(this,arguments),view1=view;if(d3_transitionInheritId){d3.select(this).transition().each("start.zoom",function(){view=this.__chart__||{x:0,y:0,k:1};zoomstarted(dispatch)}).tween("zoom:zoom",function(){var dx=size[0],dy=size[1],cx=center0?center0[0]:dx/2,cy=center0?center0[1]:dy/2,i=d3.interpolateZoom([(cx-view.x)/view.k,(cy-view.y)/view.k,dx/view.k],[(cx-view1.x)/view1.k,(cy-view1.y)/view1.k,dx/view1.k]);return function(t){var l=i(t),k=dx/l[2];this.__chart__=view={x:cx-l[0]*k,y:cy-l[1]*k,k:k};zoomed(dispatch)}}).each("interrupt.zoom",function(){zoomended(dispatch)}).each("end.zoom",function(){zoomended(dispatch)})}else{this.__chart__=view;zoomstarted(dispatch);zoomed(dispatch);zoomended(dispatch)}})};zoom.translate=function(_){if(!arguments.length)return[view.x,view.y];view={x:+_[0],y:+_[1],k:view.k};rescale();return zoom};zoom.scale=function(_){if(!arguments.length)return view.k;view={x:view.x,y:view.y,k:+_};rescale();return zoom};zoom.scaleExtent=function(_){if(!arguments.length)return scaleExtent;scaleExtent=_==null?d3_behavior_zoomInfinity:[+_[0],+_[1]];return zoom};zoom.center=function(_){if(!arguments.length)return center;center=_&&[+_[0],+_[1]];return zoom};zoom.size=function(_){if(!arguments.length)return size;size=_&&[+_[0],+_[1]];return zoom};zoom.duration=function(_){if(!arguments.length)return duration;duration=+_;return zoom};zoom.x=function(z){if(!arguments.length)return x1;x1=z;x0=z.copy();view={x:0,y:0,k:1};return zoom};zoom.y=function(z){if(!arguments.length)return y1;y1=z;y0=z.copy();view={x:0,y:0,k:1};return zoom};function location(p){return[(p[0]-view.x)/view.k,(p[1]-view.y)/view.k]}function point(l){return[l[0]*view.k+view.x,l[1]*view.k+view.y]}function scaleTo(s){view.k=Math.max(scaleExtent[0],Math.min(scaleExtent[1],s))}function translateTo(p,l){l=point(l);view.x+=p[0]-l[0];view.y+=p[1]-l[1]}function zoomTo(that,p,l,k){that.__chart__={x:view.x,y:view.y,k:view.k};scaleTo(Math.pow(2,k));translateTo(center0=p,l);that=d3.select(that);if(duration>0)that=that.transition().duration(duration);that.call(zoom.event)}function rescale(){if(x1)x1.domain(x0.range().map(function(x){return(x-view.x)/view.k}).map(x0.invert));if(y1)y1.domain(y0.range().map(function(y){return(y-view.y)/view.k}).map(y0.invert))}function zoomstarted(dispatch){if(!zooming++)dispatch({type:"zoomstart"})}function zoomed(dispatch){rescale();dispatch({type:"zoom",scale:view.k,translate:[view.x,view.y]})}function zoomended(dispatch){if(!--zooming)dispatch({type:"zoomend"});center0=null}function mousedowned(){var that=this,target=d3.event.target,dispatch=event.of(that,arguments),dragged=0,subject=d3.select(d3_window(that)).on(mousemove,moved).on(mouseup,ended),location0=location(d3.mouse(that)),dragRestore=d3_event_dragSuppress(that);d3_selection_interrupt.call(that);zoomstarted(dispatch);function moved(){dragged=1;translateTo(d3.mouse(that),location0);zoomed(dispatch)}function ended(){subject.on(mousemove,null).on(mouseup,null);dragRestore(dragged&&d3.event.target===target);zoomended(dispatch)}}function touchstarted(){var that=this,dispatch=event.of(that,arguments),locations0={},distance0=0,scale0,zoomName=".zoom-"+d3.event.changedTouches[0].identifier,touchmove="touchmove"+zoomName,touchend="touchend"+zoomName,targets=[],subject=d3.select(that),dragRestore=d3_event_dragSuppress(that);started();zoomstarted(dispatch);subject.on(mousedown,null).on(touchstart,started);function relocate(){var touches=d3.touches(that);scale0=view.k;touches.forEach(function(t){if(t.identifier in locations0)locations0[t.identifier]=location(t)});return touches}function started(){var target=d3.event.target;d3.select(target).on(touchmove,moved).on(touchend,ended);targets.push(target);var changed=d3.event.changedTouches;for(var i=0,n=changed.length;i<n;++i){locations0[changed[i].identifier]=null}var touches=relocate(),now=Date.now();if(touches.length===1){if(now-touchtime<500){var p=touches[0];zoomTo(that,p,locations0[p.identifier],Math.floor(Math.log(view.k)/Math.LN2)+1);d3_eventPreventDefault()}touchtime=now}else if(touches.length>1){var p=touches[0],q=touches[1],dx=p[0]-q[0],dy=p[1]-q[1];distance0=dx*dx+dy*dy}}function moved(){var touches=d3.touches(that),p0,l0,p1,l1;d3_selection_interrupt.call(that);for(var i=0,n=touches.length;i<n;++i,l1=null){p1=touches[i];if(l1=locations0[p1.identifier]){if(l0)break;p0=p1,l0=l1}}if(l1){var distance1=(distance1=p1[0]-p0[0])*distance1+(distance1=p1[1]-p0[1])*distance1,scale1=distance0&&Math.sqrt(distance1/distance0);p0=[(p0[0]+p1[0])/2,(p0[1]+p1[1])/2];l0=[(l0[0]+l1[0])/2,(l0[1]+l1[1])/2];scaleTo(scale1*scale0)}touchtime=null;translateTo(p0,l0);zoomed(dispatch)}function ended(){if(d3.event.touches.length){var changed=d3.event.changedTouches;for(var i=0,n=changed.length;i<n;++i){delete locations0[changed[i].identifier]}for(var identifier in locations0){return void relocate()}}d3.selectAll(targets).on(zoomName,null);subject.on(mousedown,mousedowned).on(touchstart,touchstarted);dragRestore();zoomended(dispatch)}}function mousewheeled(){var dispatch=event.of(this,arguments);if(mousewheelTimer)clearTimeout(mousewheelTimer);else translate0=location(center0=center||d3.mouse(this)),d3_selection_interrupt.call(this),zoomstarted(dispatch);mousewheelTimer=setTimeout(function(){mousewheelTimer=null;zoomended(dispatch)},50);d3_eventPreventDefault();scaleTo(Math.pow(2,d3_behavior_zoomDelta()*.002)*view.k);translateTo(center0,translate0);zoomed(dispatch)}function dblclicked(){var p=d3.mouse(this),k=Math.log(view.k)/Math.LN2;zoomTo(this,p,location(p),d3.event.shiftKey?Math.ceil(k)-1:Math.floor(k)+1)}return d3.rebind(zoom,event,"on")};var d3_behavior_zoomInfinity=[0,Infinity],d3_behavior_zoomDelta,d3_behavior_zoomWheel;d3.color=d3_color;function d3_color(){}d3_color.prototype.toString=function(){return this.rgb()+""};d3.hsl=d3_hsl;function d3_hsl(h,s,l){return this instanceof d3_hsl?void(this.h=+h,this.s=+s,this.l=+l):arguments.length<2?h instanceof d3_hsl?new d3_hsl(h.h,h.s,h.l):d3_rgb_parse(""+h,d3_rgb_hsl,d3_hsl):new d3_hsl(h,s,l)}var d3_hslPrototype=d3_hsl.prototype=new d3_color;d3_hslPrototype.brighter=function(k){k=Math.pow(.7,arguments.length?k:1);return new d3_hsl(this.h,this.s,this.l/k)};d3_hslPrototype.darker=function(k){k=Math.pow(.7,arguments.length?k:1);return new d3_hsl(this.h,this.s,k*this.l)};d3_hslPrototype.rgb=function(){return d3_hsl_rgb(this.h,this.s,this.l)};function d3_hsl_rgb(h,s,l){var m1,m2;h=isNaN(h)?0:(h%=360)<0?h+360:h;s=isNaN(s)?0:s<0?0:s>1?1:s;l=l<0?0:l>1?1:l;m2=l<=.5?l*(1+s):l+s-l*s;m1=2*l-m2;function v(h){if(h>360)h-=360;else if(h<0)h+=360;if(h<60)return m1+(m2-m1)*h/60;if(h<180)return m2;if(h<240)return m1+(m2-m1)*(240-h)/60;return m1}function vv(h){return Math.round(v(h)*255)}return new d3_rgb(vv(h+120),vv(h),vv(h-120))}d3.hcl=d3_hcl;function d3_hcl(h,c,l){return this instanceof d3_hcl?void(this.h=+h,this.c=+c,this.l=+l):arguments.length<2?h instanceof d3_hcl?new d3_hcl(h.h,h.c,h.l):h instanceof d3_lab?d3_lab_hcl(h.l,h.a,h.b):d3_lab_hcl((h=d3_rgb_lab((h=d3.rgb(h)).r,h.g,h.b)).l,h.a,h.b):new d3_hcl(h,c,l)}var d3_hclPrototype=d3_hcl.prototype=new d3_color;d3_hclPrototype.brighter=function(k){return new d3_hcl(this.h,this.c,Math.min(100,this.l+d3_lab_K*(arguments.length?k:1)))};d3_hclPrototype.darker=function(k){return new d3_hcl(this.h,this.c,Math.max(0,this.l-d3_lab_K*(arguments.length?k:1)))};d3_hclPrototype.rgb=function(){return d3_hcl_lab(this.h,this.c,this.l).rgb()};function d3_hcl_lab(h,c,l){if(isNaN(h))h=0;if(isNaN(c))c=0;return new d3_lab(l,Math.cos(h*=d3_radians)*c,Math.sin(h)*c)}d3.lab=d3_lab;function d3_lab(l,a,b){return this instanceof d3_lab?void(this.l=+l,this.a=+a,this.b=+b):arguments.length<2?l instanceof d3_lab?new d3_lab(l.l,l.a,l.b):l instanceof d3_hcl?d3_hcl_lab(l.h,l.c,l.l):d3_rgb_lab((l=d3_rgb(l)).r,l.g,l.b):new d3_lab(l,a,b)}var d3_lab_K=18;var d3_lab_X=.95047,d3_lab_Y=1,d3_lab_Z=1.08883;var d3_labPrototype=d3_lab.prototype=new d3_color;d3_labPrototype.brighter=function(k){return new d3_lab(Math.min(100,this.l+d3_lab_K*(arguments.length?k:1)),this.a,this.b)};d3_labPrototype.darker=function(k){return new d3_lab(Math.max(0,this.l-d3_lab_K*(arguments.length?k:1)),this.a,this.b)};d3_labPrototype.rgb=function(){return d3_lab_rgb(this.l,this.a,this.b)};function d3_lab_rgb(l,a,b){var y=(l+16)/116,x=y+a/500,z=y-b/200;x=d3_lab_xyz(x)*d3_lab_X;y=d3_lab_xyz(y)*d3_lab_Y;z=d3_lab_xyz(z)*d3_lab_Z;return new d3_rgb(d3_xyz_rgb(3.2404542*x-1.5371385*y-.4985314*z),d3_xyz_rgb(-.969266*x+1.8760108*y+.041556*z),d3_xyz_rgb(.0556434*x-.2040259*y+1.0572252*z))}function d3_lab_hcl(l,a,b){return l>0?new d3_hcl(Math.atan2(b,a)*d3_degrees,Math.sqrt(a*a+b*b),l):new d3_hcl(NaN,NaN,l)}function d3_lab_xyz(x){return x>.206893034?x*x*x:(x-4/29)/7.787037}function d3_xyz_lab(x){return x>.008856?Math.pow(x,1/3):7.787037*x+4/29}function d3_xyz_rgb(r){return Math.round(255*(r<=.00304?12.92*r:1.055*Math.pow(r,1/2.4)-.055))}d3.rgb=d3_rgb;function d3_rgb(r,g,b){return this instanceof d3_rgb?void(this.r=~~r,this.g=~~g,this.b=~~b):arguments.length<2?r instanceof d3_rgb?new d3_rgb(r.r,r.g,r.b):d3_rgb_parse(""+r,d3_rgb,d3_hsl_rgb):new d3_rgb(r,g,b)}function d3_rgbNumber(value){return new d3_rgb(value>>16,value>>8&255,value&255)}function d3_rgbString(value){return d3_rgbNumber(value)+""}var d3_rgbPrototype=d3_rgb.prototype=new d3_color;d3_rgbPrototype.brighter=function(k){k=Math.pow(.7,arguments.length?k:1);var r=this.r,g=this.g,b=this.b,i=30;if(!r&&!g&&!b)return new d3_rgb(i,i,i);if(r&&r<i)r=i;if(g&&g<i)g=i;if(b&&b<i)b=i;return new d3_rgb(Math.min(255,r/k),Math.min(255,g/k),Math.min(255,b/k))};d3_rgbPrototype.darker=function(k){k=Math.pow(.7,arguments.length?k:1);return new d3_rgb(k*this.r,k*this.g,k*this.b)};d3_rgbPrototype.hsl=function(){return d3_rgb_hsl(this.r,this.g,this.b)};d3_rgbPrototype.toString=function(){return"#"+d3_rgb_hex(this.r)+d3_rgb_hex(this.g)+d3_rgb_hex(this.b)};function d3_rgb_hex(v){return v<16?"0"+Math.max(0,v).toString(16):Math.min(255,v).toString(16)}function d3_rgb_parse(format,rgb,hsl){var r=0,g=0,b=0,m1,m2,color;m1=/([a-z]+)\((.*)\)/i.exec(format);if(m1){m2=m1[2].split(",");switch(m1[1]){case"hsl":{return hsl(parseFloat(m2[0]),parseFloat(m2[1])/100,parseFloat(m2[2])/100)}case"rgb":{return rgb(d3_rgb_parseNumber(m2[0]),d3_rgb_parseNumber(m2[1]),d3_rgb_parseNumber(m2[2]))}}}if(color=d3_rgb_names.get(format.toLowerCase())){return rgb(color.r,color.g,color.b)}if(format!=null&&format.charAt(0)==="#"&&!isNaN(color=parseInt(format.slice(1),16))){if(format.length===4){r=(color&3840)>>4;r=r>>4|r;g=color&240;g=g>>4|g;b=color&15;b=b<<4|b}else if(format.length===7){r=(color&16711680)>>16;g=(color&65280)>>8;b=color&255}}return rgb(r,g,b)}function d3_rgb_hsl(r,g,b){var min=Math.min(r/=255,g/=255,b/=255),max=Math.max(r,g,b),d=max-min,h,s,l=(max+min)/2;if(d){s=l<.5?d/(max+min):d/(2-max-min);if(r==max)h=(g-b)/d+(g<b?6:0);else if(g==max)h=(b-r)/d+2;else h=(r-g)/d+4;h*=60}else{h=NaN;s=l>0&&l<1?0:h}return new d3_hsl(h,s,l)}function d3_rgb_lab(r,g,b){r=d3_rgb_xyz(r);g=d3_rgb_xyz(g);b=d3_rgb_xyz(b);var x=d3_xyz_lab((.4124564*r+.3575761*g+.1804375*b)/d3_lab_X),y=d3_xyz_lab((.2126729*r+.7151522*g+.072175*b)/d3_lab_Y),z=d3_xyz_lab((.0193339*r+.119192*g+.9503041*b)/d3_lab_Z);return d3_lab(116*y-16,500*(x-y),200*(y-z))}function d3_rgb_xyz(r){return(r/=255)<=.04045?r/12.92:Math.pow((r+.055)/1.055,2.4)}function d3_rgb_parseNumber(c){var f=parseFloat(c);return c.charAt(c.length-1)==="%"?Math.round(f*2.55):f}var d3_rgb_names=d3.map({aliceblue:15792383,antiquewhite:16444375,aqua:65535,aquamarine:8388564,azure:15794175,beige:16119260,bisque:16770244,black:0,blanchedalmond:16772045,blue:255,blueviolet:9055202,brown:10824234,burlywood:14596231,cadetblue:6266528,chartreuse:8388352,chocolate:13789470,coral:16744272,cornflowerblue:6591981,cornsilk:16775388,crimson:14423100,cyan:65535,darkblue:139,darkcyan:35723,darkgoldenrod:12092939,darkgray:11119017,darkgreen:25600,darkgrey:11119017,darkkhaki:12433259,darkmagenta:9109643,darkolivegreen:5597999,darkorange:16747520,darkorchid:10040012,darkred:9109504,darksalmon:15308410,darkseagreen:9419919,darkslateblue:4734347,darkslategray:3100495,darkslategrey:3100495,darkturquoise:52945,darkviolet:9699539,deeppink:16716947,deepskyblue:49151,dimgray:6908265,dimgrey:6908265,dodgerblue:2003199,firebrick:11674146,floralwhite:16775920,forestgreen:2263842,fuchsia:16711935,gainsboro:14474460,ghostwhite:16316671,gold:16766720,goldenrod:14329120,gray:8421504,green:32768,greenyellow:11403055,grey:8421504,honeydew:15794160,hotpink:16738740,indianred:13458524,indigo:4915330,ivory:16777200,khaki:15787660,lavender:15132410,lavenderblush:16773365,lawngreen:8190976,lemonchiffon:16775885,lightblue:11393254,lightcoral:15761536,lightcyan:14745599,lightgoldenrodyellow:16448210,lightgray:13882323,lightgreen:9498256,lightgrey:13882323,lightpink:16758465,lightsalmon:16752762,lightseagreen:2142890,lightskyblue:8900346,lightslategray:7833753,lightslategrey:7833753,lightsteelblue:11584734,lightyellow:16777184,lime:65280,limegreen:3329330,linen:16445670,magenta:16711935,maroon:8388608,mediumaquamarine:6737322,mediumblue:205,mediumorchid:12211667,mediumpurple:9662683,mediumseagreen:3978097,mediumslateblue:8087790,mediumspringgreen:64154,mediumturquoise:4772300,mediumvioletred:13047173,midnightblue:1644912,mintcream:16121850,mistyrose:16770273,moccasin:16770229,navajowhite:16768685,navy:128,oldlace:16643558,olive:8421376,olivedrab:7048739,orange:16753920,orangered:16729344,orchid:14315734,palegoldenrod:15657130,palegreen:10025880,paleturquoise:11529966,palevioletred:14381203,papayawhip:16773077,peachpuff:16767673,peru:13468991,pink:16761035,plum:14524637,powderblue:11591910,purple:8388736,rebeccapurple:6697881,red:16711680,rosybrown:12357519,royalblue:4286945,saddlebrown:9127187,salmon:16416882,sandybrown:16032864,seagreen:3050327,seashell:16774638,sienna:10506797,silver:12632256,skyblue:8900331,slateblue:6970061,slategray:7372944,slategrey:7372944,snow:16775930,springgreen:65407,steelblue:4620980,tan:13808780,teal:32896,thistle:14204888,tomato:16737095,turquoise:4251856,violet:15631086,wheat:16113331,white:16777215,whitesmoke:16119285,yellow:16776960,yellowgreen:10145074});d3_rgb_names.forEach(function(key,value){d3_rgb_names.set(key,d3_rgbNumber(value))});function d3_functor(v){return typeof v==="function"?v:function(){return v}}d3.functor=d3_functor;d3.xhr=d3_xhrType(d3_identity);function d3_xhrType(response){return function(url,mimeType,callback){if(arguments.length===2&&typeof mimeType==="function")callback=mimeType,mimeType=null;return d3_xhr(url,mimeType,response,callback)}}function d3_xhr(url,mimeType,response,callback){var xhr={},dispatch=d3.dispatch("beforesend","progress","load","error"),headers={},request=new XMLHttpRequest,responseType=null;if(this.XDomainRequest&&!("withCredentials"in request)&&/^(http(s)?:)?\/\//.test(url))request=new XDomainRequest;"onload"in request?request.onload=request.onerror=respond:request.onreadystatechange=function(){request.readyState>3&&respond()};function respond(){var status=request.status,result;if(!status&&d3_xhrHasResponse(request)||status>=200&&status<300||status===304){try{result=response.call(xhr,request)}catch(e){dispatch.error.call(xhr,e);return}dispatch.load.call(xhr,result)}else{dispatch.error.call(xhr,request)}}request.onprogress=function(event){var o=d3.event;d3.event=event;try{dispatch.progress.call(xhr,request)}finally{d3.event=o}};xhr.header=function(name,value){name=(name+"").toLowerCase();if(arguments.length<2)return headers[name];if(value==null)delete headers[name];else headers[name]=value+"";return xhr};xhr.mimeType=function(value){if(!arguments.length)return mimeType;mimeType=value==null?null:value+"";return xhr};xhr.responseType=function(value){if(!arguments.length)return responseType;responseType=value;return xhr};xhr.response=function(value){response=value;return xhr};["get","post"].forEach(function(method){xhr[method]=function(){return xhr.send.apply(xhr,[method].concat(d3_array(arguments)))}});xhr.send=function(method,data,callback){if(arguments.length===2&&typeof data==="function")callback=data,data=null;request.open(method,url,true);if(mimeType!=null&&!("accept"in headers))headers["accept"]=mimeType+",*/*";if(request.setRequestHeader)for(var name in headers)request.setRequestHeader(name,headers[name]);if(mimeType!=null&&request.overrideMimeType)request.overrideMimeType(mimeType);if(responseType!=null)request.responseType=responseType;if(callback!=null)xhr.on("error",callback).on("load",function(request){callback(null,request)});dispatch.beforesend.call(xhr,request);request.send(data==null?null:data);return xhr};xhr.abort=function(){request.abort();return xhr};d3.rebind(xhr,dispatch,"on");return callback==null?xhr:xhr.get(d3_xhr_fixCallback(callback))}function d3_xhr_fixCallback(callback){return callback.length===1?function(error,request){callback(error==null?request:null)}:callback}function d3_xhrHasResponse(request){var type=request.responseType;return type&&type!=="text"?request.response:request.responseText}d3.dsv=function(delimiter,mimeType){var reFormat=new RegExp('["'+delimiter+"\n]"),delimiterCode=delimiter.charCodeAt(0);function dsv(url,row,callback){if(arguments.length<3)callback=row,row=null;var xhr=d3_xhr(url,mimeType,row==null?response:typedResponse(row),callback);xhr.row=function(_){return arguments.length?xhr.response((row=_)==null?response:typedResponse(_)):row};return xhr}function response(request){return dsv.parse(request.responseText)}function typedResponse(f){return function(request){return dsv.parse(request.responseText,f)}}dsv.parse=function(text,f){var o;return dsv.parseRows(text,function(row,i){if(o)return o(row,i-1);var a=new Function("d","return {"+row.map(function(name,i){return JSON.stringify(name)+": d["+i+"]"}).join(",")+"}");o=f?function(row,i){return f(a(row),i)}:a})};dsv.parseRows=function(text,f){var EOL={},EOF={},rows=[],N=text.length,I=0,n=0,t,eol;function token(){if(I>=N)return EOF;if(eol)return eol=false,EOL;var j=I;if(text.charCodeAt(j)===34){var i=j;while(i++<N){if(text.charCodeAt(i)===34){if(text.charCodeAt(i+1)!==34)break;++i}}I=i+2;var c=text.charCodeAt(i+1);if(c===13){eol=true;if(text.charCodeAt(i+2)===10)++I}else if(c===10){eol=true}return text.slice(j+1,i).replace(/""/g,'"')}while(I<N){var c=text.charCodeAt(I++),k=1;if(c===10)eol=true;else if(c===13){eol=true;if(text.charCodeAt(I)===10)++I,++k}else if(c!==delimiterCode)continue;return text.slice(j,I-k)}return text.slice(j)}while((t=token())!==EOF){var a=[];while(t!==EOL&&t!==EOF){a.push(t);t=token()}if(f&&(a=f(a,n++))==null)continue;rows.push(a)}return rows};dsv.format=function(rows){if(Array.isArray(rows[0]))return dsv.formatRows(rows);var fieldSet=new d3_Set,fields=[];rows.forEach(function(row){for(var field in row){if(!fieldSet.has(field)){fields.push(fieldSet.add(field))}}});return[fields.map(formatValue).join(delimiter)].concat(rows.map(function(row){return fields.map(function(field){return formatValue(row[field])}).join(delimiter)})).join("\n")};dsv.formatRows=function(rows){return rows.map(formatRow).join("\n")};function formatRow(row){return row.map(formatValue).join(delimiter)}function formatValue(text){return reFormat.test(text)?'"'+text.replace(/\"/g,'""')+'"':text}return dsv};d3.csv=d3.dsv(",","text/csv");d3.tsv=d3.dsv("	","text/tab-separated-values");var d3_timer_queueHead,d3_timer_queueTail,d3_timer_interval,d3_timer_timeout,d3_timer_active,d3_timer_frame=this[d3_vendorSymbol(this,"requestAnimationFrame")]||function(callback){setTimeout(callback,17)};d3.timer=function(callback,delay,then){var n=arguments.length;if(n<2)delay=0;if(n<3)then=Date.now();var time=then+delay,timer={c:callback,t:time,f:false,n:null};if(d3_timer_queueTail)d3_timer_queueTail.n=timer;else d3_timer_queueHead=timer;d3_timer_queueTail=timer;if(!d3_timer_interval){d3_timer_timeout=clearTimeout(d3_timer_timeout);d3_timer_interval=1;d3_timer_frame(d3_timer_step)}};function d3_timer_step(){var now=d3_timer_mark(),delay=d3_timer_sweep()-now;if(delay>24){if(isFinite(delay)){clearTimeout(d3_timer_timeout);d3_timer_timeout=setTimeout(d3_timer_step,delay)}d3_timer_interval=0}else{d3_timer_interval=1;d3_timer_frame(d3_timer_step)}}d3.timer.flush=function(){d3_timer_mark();d3_timer_sweep()};function d3_timer_mark(){var now=Date.now();d3_timer_active=d3_timer_queueHead;while(d3_timer_active){if(now>=d3_timer_active.t)d3_timer_active.f=d3_timer_active.c(now-d3_timer_active.t);d3_timer_active=d3_timer_active.n}return now}function d3_timer_sweep(){var t0,t1=d3_timer_queueHead,time=Infinity;while(t1){if(t1.f){t1=t0?t0.n=t1.n:d3_timer_queueHead=t1.n}else{if(t1.t<time)time=t1.t;t1=(t0=t1).n}}d3_timer_queueTail=t0;return time}function d3_format_precision(x,p){return p-(x?Math.ceil(Math.log(x)/Math.LN10):1)}d3.round=function(x,n){return n?Math.round(x*(n=Math.pow(10,n)))/n:Math.round(x)};var d3_formatPrefixes=["y","z","a","f","p","n","µ","m","","k","M","G","T","P","E","Z","Y"].map(d3_formatPrefix);d3.formatPrefix=function(value,precision){var i=0;if(value){if(value<0)value*=-1;if(precision)value=d3.round(value,d3_format_precision(value,precision));i=1+Math.floor(1e-12+Math.log(value)/Math.LN10);i=Math.max(-24,Math.min(24,Math.floor((i-1)/3)*3))}return d3_formatPrefixes[8+i/3]};function d3_formatPrefix(d,i){var k=Math.pow(10,abs(8-i)*3);return{scale:i>8?function(d){return d/k}:function(d){return d*k},symbol:d}}function d3_locale_numberFormat(locale){var locale_decimal=locale.decimal,locale_thousands=locale.thousands,locale_grouping=locale.grouping,locale_currency=locale.currency,formatGroup=locale_grouping&&locale_thousands?function(value,width){var i=value.length,t=[],j=0,g=locale_grouping[0],length=0;while(i>0&&g>0){if(length+g+1>width)g=Math.max(1,width-length);t.push(value.substring(i-=g,i+g));if((length+=g+1)>width)break;g=locale_grouping[j=(j+1)%locale_grouping.length]}return t.reverse().join(locale_thousands)}:d3_identity;return function(specifier){var match=d3_format_re.exec(specifier),fill=match[1]||" ",align=match[2]||">",sign=match[3]||"-",symbol=match[4]||"",zfill=match[5],width=+match[6],comma=match[7],precision=match[8],type=match[9],scale=1,prefix="",suffix="",integer=false,exponent=true;if(precision)precision=+precision.substring(1);if(zfill||fill==="0"&&align==="="){zfill=fill="0";align="="}switch(type){case"n":comma=true;type="g";break;case"%":scale=100;suffix="%";type="f";break;case"p":scale=100;suffix="%";type="r";break;case"b":case"o":case"x":case"X":if(symbol==="#")prefix="0"+type.toLowerCase();case"c":exponent=false;case"d":integer=true;precision=0;break;case"s":scale=-1;type="r";break}if(symbol==="$")prefix=locale_currency[0],suffix=locale_currency[1];if(type=="r"&&!precision)type="g";if(precision!=null){if(type=="g")precision=Math.max(1,Math.min(21,precision));else if(type=="e"||type=="f")precision=Math.max(0,Math.min(20,precision))}type=d3_format_types.get(type)||d3_format_typeDefault;var zcomma=zfill&&comma;return function(value){var fullSuffix=suffix;if(integer&&value%1)return"";var negative=value<0||value===0&&1/value<0?(value=-value,"-"):sign==="-"?"":sign;if(scale<0){var unit=d3.formatPrefix(value,precision);value=unit.scale(value);fullSuffix=unit.symbol+suffix}else{value*=scale}value=type(value,precision);var i=value.lastIndexOf("."),before,after;if(i<0){var j=exponent?value.lastIndexOf("e"):-1;if(j<0)before=value,after="";else before=value.substring(0,j),after=value.substring(j)}else{before=value.substring(0,i);after=locale_decimal+value.substring(i+1)}if(!zfill&&comma)before=formatGroup(before,Infinity);var length=prefix.length+before.length+after.length+(zcomma?0:negative.length),padding=length<width?new Array(length=width-length+1).join(fill):"";if(zcomma)before=formatGroup(padding+before,padding.length?width-after.length:Infinity);negative+=prefix;value=before+after;return(align==="<"?negative+value+padding:align===">"?padding+negative+value:align==="^"?padding.substring(0,length>>=1)+negative+value+padding.substring(length):negative+(zcomma?value:padding+value))+fullSuffix}}}var d3_format_re=/(?:([^{])?([<>=^]))?([+\- ])?([$#])?(0)?(\d+)?(,)?(\.-?\d+)?([a-z%])?/i;var d3_format_types=d3.map({b:function(x){return x.toString(2)},c:function(x){return String.fromCharCode(x)},o:function(x){return x.toString(8)},x:function(x){return x.toString(16)},X:function(x){return x.toString(16).toUpperCase()},g:function(x,p){return x.toPrecision(p)},e:function(x,p){return x.toExponential(p)},f:function(x,p){return x.toFixed(p)},r:function(x,p){return(x=d3.round(x,d3_format_precision(x,p))).toFixed(Math.max(0,Math.min(20,d3_format_precision(x*(1+1e-15),p))))}});function d3_format_typeDefault(x){return x+""}var d3_time=d3.time={},d3_date=Date;function d3_date_utc(){this._=new Date(arguments.length>1?Date.UTC.apply(this,arguments):arguments[0])}d3_date_utc.prototype={getDate:function(){return this._.getUTCDate()},getDay:function(){return this._.getUTCDay()},getFullYear:function(){return this._.getUTCFullYear()},getHours:function(){return this._.getUTCHours()},getMilliseconds:function(){return this._.getUTCMilliseconds()},getMinutes:function(){return this._.getUTCMinutes()},getMonth:function(){return this._.getUTCMonth()},getSeconds:function(){return this._.getUTCSeconds()},getTime:function(){return this._.getTime()},getTimezoneOffset:function(){return 0},valueOf:function(){return this._.valueOf()},setDate:function(){d3_time_prototype.setUTCDate.apply(this._,arguments)},setDay:function(){d3_time_prototype.setUTCDay.apply(this._,arguments)},setFullYear:function(){d3_time_prototype.setUTCFullYear.apply(this._,arguments)},setHours:function(){d3_time_prototype.setUTCHours.apply(this._,arguments)},setMilliseconds:function(){d3_time_prototype.setUTCMilliseconds.apply(this._,arguments)},setMinutes:function(){d3_time_prototype.setUTCMinutes.apply(this._,arguments)},setMonth:function(){d3_time_prototype.setUTCMonth.apply(this._,arguments)},setSeconds:function(){d3_time_prototype.setUTCSeconds.apply(this._,arguments)},setTime:function(){d3_time_prototype.setTime.apply(this._,arguments)}};var d3_time_prototype=Date.prototype;function d3_time_interval(local,step,number){function round(date){var d0=local(date),d1=offset(d0,1);return date-d0<d1-date?d0:d1}function ceil(date){step(date=local(new d3_date(date-1)),1);return date}function offset(date,k){step(date=new d3_date(+date),k);return date}function range(t0,t1,dt){var time=ceil(t0),times=[];if(dt>1){while(time<t1){if(!(number(time)%dt))times.push(new Date(+time));step(time,1)}}else{while(time<t1)times.push(new Date(+time)),step(time,1)}return times}function range_utc(t0,t1,dt){try{d3_date=d3_date_utc;var utc=new d3_date_utc;utc._=t0;return range(utc,t1,dt)}finally{d3_date=Date}}local.floor=local;local.round=round;local.ceil=ceil;local.offset=offset;local.range=range;var utc=local.utc=d3_time_interval_utc(local);utc.floor=utc;utc.round=d3_time_interval_utc(round);utc.ceil=d3_time_interval_utc(ceil);utc.offset=d3_time_interval_utc(offset);utc.range=range_utc;return local}function d3_time_interval_utc(method){return function(date,k){try{d3_date=d3_date_utc;var utc=new d3_date_utc;utc._=date;return method(utc,k)._}finally{d3_date=Date}}}d3_time.year=d3_time_interval(function(date){date=d3_time.day(date);date.setMonth(0,1);return date},function(date,offset){date.setFullYear(date.getFullYear()+offset)},function(date){return date.getFullYear()});d3_time.years=d3_time.year.range;d3_time.years.utc=d3_time.year.utc.range;d3_time.day=d3_time_interval(function(date){var day=new d3_date(2e3,0);day.setFullYear(date.getFullYear(),date.getMonth(),date.getDate());return day},function(date,offset){date.setDate(date.getDate()+offset)},function(date){return date.getDate()-1});d3_time.days=d3_time.day.range;d3_time.days.utc=d3_time.day.utc.range;d3_time.dayOfYear=function(date){var year=d3_time.year(date);return Math.floor((date-year-(date.getTimezoneOffset()-year.getTimezoneOffset())*6e4)/864e5)};["sunday","monday","tuesday","wednesday","thursday","friday","saturday"].forEach(function(day,i){i=7-i;var interval=d3_time[day]=d3_time_interval(function(date){(date=d3_time.day(date)).setDate(date.getDate()-(date.getDay()+i)%7);return date},function(date,offset){date.setDate(date.getDate()+Math.floor(offset)*7)},function(date){var day=d3_time.year(date).getDay();return Math.floor((d3_time.dayOfYear(date)+(day+i)%7)/7)-(day!==i)});d3_time[day+"s"]=interval.range;d3_time[day+"s"].utc=interval.utc.range;d3_time[day+"OfYear"]=function(date){var day=d3_time.year(date).getDay();return Math.floor((d3_time.dayOfYear(date)+(day+i)%7)/7)}});d3_time.week=d3_time.sunday;d3_time.weeks=d3_time.sunday.range;d3_time.weeks.utc=d3_time.sunday.utc.range;d3_time.weekOfYear=d3_time.sundayOfYear;function d3_locale_timeFormat(locale){var locale_dateTime=locale.dateTime,locale_date=locale.date,locale_time=locale.time,locale_periods=locale.periods,locale_days=locale.days,locale_shortDays=locale.shortDays,locale_months=locale.months,locale_shortMonths=locale.shortMonths;function d3_time_format(template){var n=template.length;function format(date){var string=[],i=-1,j=0,c,p,f;while(++i<n){if(template.charCodeAt(i)===37){string.push(template.slice(j,i));if((p=d3_time_formatPads[c=template.charAt(++i)])!=null)c=template.charAt(++i);if(f=d3_time_formats[c])c=f(date,p==null?c==="e"?" ":"0":p);string.push(c);j=i+1}}string.push(template.slice(j,i));return string.join("")}format.parse=function(string){var d={y:1900,m:0,d:1,H:0,M:0,S:0,L:0,Z:null},i=d3_time_parse(d,template,string,0);if(i!=string.length)return null;if("p"in d)d.H=d.H%12+d.p*12;var localZ=d.Z!=null&&d3_date!==d3_date_utc,date=new(localZ?d3_date_utc:d3_date);if("j"in d)date.setFullYear(d.y,0,d.j);else if("w"in d&&("W"in d||"U"in d)){date.setFullYear(d.y,0,1);date.setFullYear(d.y,0,"W"in d?(d.w+6)%7+d.W*7-(date.getDay()+5)%7:d.w+d.U*7-(date.getDay()+6)%7)}else date.setFullYear(d.y,d.m,d.d);date.setHours(d.H+(d.Z/100|0),d.M+d.Z%100,d.S,d.L);return localZ?date._:date};format.toString=function(){return template};return format}function d3_time_parse(date,template,string,j){var c,p,t,i=0,n=template.length,m=string.length;while(i<n){if(j>=m)return-1;c=template.charCodeAt(i++);if(c===37){t=template.charAt(i++);p=d3_time_parsers[t in d3_time_formatPads?template.charAt(i++):t];if(!p||(j=p(date,string,j))<0)return-1}else if(c!=string.charCodeAt(j++)){return-1}}return j}d3_time_format.utc=function(template){var local=d3_time_format(template);function format(date){try{d3_date=d3_date_utc;var utc=new d3_date;utc._=date;return local(utc)}finally{d3_date=Date}}format.parse=function(string){try{d3_date=d3_date_utc;var date=local.parse(string);return date&&date._}finally{d3_date=Date}};format.toString=local.toString;return format};d3_time_format.multi=d3_time_format.utc.multi=d3_time_formatMulti;var d3_time_periodLookup=d3.map(),d3_time_dayRe=d3_time_formatRe(locale_days),d3_time_dayLookup=d3_time_formatLookup(locale_days),d3_time_dayAbbrevRe=d3_time_formatRe(locale_shortDays),d3_time_dayAbbrevLookup=d3_time_formatLookup(locale_shortDays),d3_time_monthRe=d3_time_formatRe(locale_months),d3_time_monthLookup=d3_time_formatLookup(locale_months),d3_time_monthAbbrevRe=d3_time_formatRe(locale_shortMonths),d3_time_monthAbbrevLookup=d3_time_formatLookup(locale_shortMonths);
+locale_periods.forEach(function(p,i){d3_time_periodLookup.set(p.toLowerCase(),i)});var d3_time_formats={a:function(d){return locale_shortDays[d.getDay()]},A:function(d){return locale_days[d.getDay()]},b:function(d){return locale_shortMonths[d.getMonth()]},B:function(d){return locale_months[d.getMonth()]},c:d3_time_format(locale_dateTime),d:function(d,p){return d3_time_formatPad(d.getDate(),p,2)},e:function(d,p){return d3_time_formatPad(d.getDate(),p,2)},H:function(d,p){return d3_time_formatPad(d.getHours(),p,2)},I:function(d,p){return d3_time_formatPad(d.getHours()%12||12,p,2)},j:function(d,p){return d3_time_formatPad(1+d3_time.dayOfYear(d),p,3)},L:function(d,p){return d3_time_formatPad(d.getMilliseconds(),p,3)},m:function(d,p){return d3_time_formatPad(d.getMonth()+1,p,2)},M:function(d,p){return d3_time_formatPad(d.getMinutes(),p,2)},p:function(d){return locale_periods[+(d.getHours()>=12)]},S:function(d,p){return d3_time_formatPad(d.getSeconds(),p,2)},U:function(d,p){return d3_time_formatPad(d3_time.sundayOfYear(d),p,2)},w:function(d){return d.getDay()},W:function(d,p){return d3_time_formatPad(d3_time.mondayOfYear(d),p,2)},x:d3_time_format(locale_date),X:d3_time_format(locale_time),y:function(d,p){return d3_time_formatPad(d.getFullYear()%100,p,2)},Y:function(d,p){return d3_time_formatPad(d.getFullYear()%1e4,p,4)},Z:d3_time_zone,"%":function(){return"%"}};var d3_time_parsers={a:d3_time_parseWeekdayAbbrev,A:d3_time_parseWeekday,b:d3_time_parseMonthAbbrev,B:d3_time_parseMonth,c:d3_time_parseLocaleFull,d:d3_time_parseDay,e:d3_time_parseDay,H:d3_time_parseHour24,I:d3_time_parseHour24,j:d3_time_parseDayOfYear,L:d3_time_parseMilliseconds,m:d3_time_parseMonthNumber,M:d3_time_parseMinutes,p:d3_time_parseAmPm,S:d3_time_parseSeconds,U:d3_time_parseWeekNumberSunday,w:d3_time_parseWeekdayNumber,W:d3_time_parseWeekNumberMonday,x:d3_time_parseLocaleDate,X:d3_time_parseLocaleTime,y:d3_time_parseYear,Y:d3_time_parseFullYear,Z:d3_time_parseZone,"%":d3_time_parseLiteralPercent};function d3_time_parseWeekdayAbbrev(date,string,i){d3_time_dayAbbrevRe.lastIndex=0;var n=d3_time_dayAbbrevRe.exec(string.slice(i));return n?(date.w=d3_time_dayAbbrevLookup.get(n[0].toLowerCase()),i+n[0].length):-1}function d3_time_parseWeekday(date,string,i){d3_time_dayRe.lastIndex=0;var n=d3_time_dayRe.exec(string.slice(i));return n?(date.w=d3_time_dayLookup.get(n[0].toLowerCase()),i+n[0].length):-1}function d3_time_parseMonthAbbrev(date,string,i){d3_time_monthAbbrevRe.lastIndex=0;var n=d3_time_monthAbbrevRe.exec(string.slice(i));return n?(date.m=d3_time_monthAbbrevLookup.get(n[0].toLowerCase()),i+n[0].length):-1}function d3_time_parseMonth(date,string,i){d3_time_monthRe.lastIndex=0;var n=d3_time_monthRe.exec(string.slice(i));return n?(date.m=d3_time_monthLookup.get(n[0].toLowerCase()),i+n[0].length):-1}function d3_time_parseLocaleFull(date,string,i){return d3_time_parse(date,d3_time_formats.c.toString(),string,i)}function d3_time_parseLocaleDate(date,string,i){return d3_time_parse(date,d3_time_formats.x.toString(),string,i)}function d3_time_parseLocaleTime(date,string,i){return d3_time_parse(date,d3_time_formats.X.toString(),string,i)}function d3_time_parseAmPm(date,string,i){var n=d3_time_periodLookup.get(string.slice(i,i+=2).toLowerCase());return n==null?-1:(date.p=n,i)}return d3_time_format}var d3_time_formatPads={"-":"",_:" ",0:"0"},d3_time_numberRe=/^\s*\d+/,d3_time_percentRe=/^%/;function d3_time_formatPad(value,fill,width){var sign=value<0?"-":"",string=(sign?-value:value)+"",length=string.length;return sign+(length<width?new Array(width-length+1).join(fill)+string:string)}function d3_time_formatRe(names){return new RegExp("^(?:"+names.map(d3.requote).join("|")+")","i")}function d3_time_formatLookup(names){var map=new d3_Map,i=-1,n=names.length;while(++i<n)map.set(names[i].toLowerCase(),i);return map}function d3_time_parseWeekdayNumber(date,string,i){d3_time_numberRe.lastIndex=0;var n=d3_time_numberRe.exec(string.slice(i,i+1));return n?(date.w=+n[0],i+n[0].length):-1}function d3_time_parseWeekNumberSunday(date,string,i){d3_time_numberRe.lastIndex=0;var n=d3_time_numberRe.exec(string.slice(i));return n?(date.U=+n[0],i+n[0].length):-1}function d3_time_parseWeekNumberMonday(date,string,i){d3_time_numberRe.lastIndex=0;var n=d3_time_numberRe.exec(string.slice(i));return n?(date.W=+n[0],i+n[0].length):-1}function d3_time_parseFullYear(date,string,i){d3_time_numberRe.lastIndex=0;var n=d3_time_numberRe.exec(string.slice(i,i+4));return n?(date.y=+n[0],i+n[0].length):-1}function d3_time_parseYear(date,string,i){d3_time_numberRe.lastIndex=0;var n=d3_time_numberRe.exec(string.slice(i,i+2));return n?(date.y=d3_time_expandYear(+n[0]),i+n[0].length):-1}function d3_time_parseZone(date,string,i){return/^[+-]\d{4}$/.test(string=string.slice(i,i+5))?(date.Z=-string,i+5):-1}function d3_time_expandYear(d){return d+(d>68?1900:2e3)}function d3_time_parseMonthNumber(date,string,i){d3_time_numberRe.lastIndex=0;var n=d3_time_numberRe.exec(string.slice(i,i+2));return n?(date.m=n[0]-1,i+n[0].length):-1}function d3_time_parseDay(date,string,i){d3_time_numberRe.lastIndex=0;var n=d3_time_numberRe.exec(string.slice(i,i+2));return n?(date.d=+n[0],i+n[0].length):-1}function d3_time_parseDayOfYear(date,string,i){d3_time_numberRe.lastIndex=0;var n=d3_time_numberRe.exec(string.slice(i,i+3));return n?(date.j=+n[0],i+n[0].length):-1}function d3_time_parseHour24(date,string,i){d3_time_numberRe.lastIndex=0;var n=d3_time_numberRe.exec(string.slice(i,i+2));return n?(date.H=+n[0],i+n[0].length):-1}function d3_time_parseMinutes(date,string,i){d3_time_numberRe.lastIndex=0;var n=d3_time_numberRe.exec(string.slice(i,i+2));return n?(date.M=+n[0],i+n[0].length):-1}function d3_time_parseSeconds(date,string,i){d3_time_numberRe.lastIndex=0;var n=d3_time_numberRe.exec(string.slice(i,i+2));return n?(date.S=+n[0],i+n[0].length):-1}function d3_time_parseMilliseconds(date,string,i){d3_time_numberRe.lastIndex=0;var n=d3_time_numberRe.exec(string.slice(i,i+3));return n?(date.L=+n[0],i+n[0].length):-1}function d3_time_zone(d){var z=d.getTimezoneOffset(),zs=z>0?"-":"+",zh=abs(z)/60|0,zm=abs(z)%60;return zs+d3_time_formatPad(zh,"0",2)+d3_time_formatPad(zm,"0",2)}function d3_time_parseLiteralPercent(date,string,i){d3_time_percentRe.lastIndex=0;var n=d3_time_percentRe.exec(string.slice(i,i+1));return n?i+n[0].length:-1}function d3_time_formatMulti(formats){var n=formats.length,i=-1;while(++i<n)formats[i][0]=this(formats[i][0]);return function(date){var i=0,f=formats[i];while(!f[1](date))f=formats[++i];return f[0](date)}}d3.locale=function(locale){return{numberFormat:d3_locale_numberFormat(locale),timeFormat:d3_locale_timeFormat(locale)}};var d3_locale_enUS=d3.locale({decimal:".",thousands:",",grouping:[3],currency:["$",""],dateTime:"%a %b %e %X %Y",date:"%m/%d/%Y",time:"%H:%M:%S",periods:["AM","PM"],days:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],shortDays:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],months:["January","February","March","April","May","June","July","August","September","October","November","December"],shortMonths:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"]});d3.format=d3_locale_enUS.numberFormat;d3.geo={};function d3_adder(){}d3_adder.prototype={s:0,t:0,add:function(y){d3_adderSum(y,this.t,d3_adderTemp);d3_adderSum(d3_adderTemp.s,this.s,this);if(this.s)this.t+=d3_adderTemp.t;else this.s=d3_adderTemp.t},reset:function(){this.s=this.t=0},valueOf:function(){return this.s}};var d3_adderTemp=new d3_adder;function d3_adderSum(a,b,o){var x=o.s=a+b,bv=x-a,av=x-bv;o.t=a-av+(b-bv)}d3.geo.stream=function(object,listener){if(object&&d3_geo_streamObjectType.hasOwnProperty(object.type)){d3_geo_streamObjectType[object.type](object,listener)}else{d3_geo_streamGeometry(object,listener)}};function d3_geo_streamGeometry(geometry,listener){if(geometry&&d3_geo_streamGeometryType.hasOwnProperty(geometry.type)){d3_geo_streamGeometryType[geometry.type](geometry,listener)}}var d3_geo_streamObjectType={Feature:function(feature,listener){d3_geo_streamGeometry(feature.geometry,listener)},FeatureCollection:function(object,listener){var features=object.features,i=-1,n=features.length;while(++i<n)d3_geo_streamGeometry(features[i].geometry,listener)}};var d3_geo_streamGeometryType={Sphere:function(object,listener){listener.sphere()},Point:function(object,listener){object=object.coordinates;listener.point(object[0],object[1],object[2])},MultiPoint:function(object,listener){var coordinates=object.coordinates,i=-1,n=coordinates.length;while(++i<n)object=coordinates[i],listener.point(object[0],object[1],object[2])},LineString:function(object,listener){d3_geo_streamLine(object.coordinates,listener,0)},MultiLineString:function(object,listener){var coordinates=object.coordinates,i=-1,n=coordinates.length;while(++i<n)d3_geo_streamLine(coordinates[i],listener,0)},Polygon:function(object,listener){d3_geo_streamPolygon(object.coordinates,listener)},MultiPolygon:function(object,listener){var coordinates=object.coordinates,i=-1,n=coordinates.length;while(++i<n)d3_geo_streamPolygon(coordinates[i],listener)},GeometryCollection:function(object,listener){var geometries=object.geometries,i=-1,n=geometries.length;while(++i<n)d3_geo_streamGeometry(geometries[i],listener)}};function d3_geo_streamLine(coordinates,listener,closed){var i=-1,n=coordinates.length-closed,coordinate;listener.lineStart();while(++i<n)coordinate=coordinates[i],listener.point(coordinate[0],coordinate[1],coordinate[2]);listener.lineEnd()}function d3_geo_streamPolygon(coordinates,listener){var i=-1,n=coordinates.length;listener.polygonStart();while(++i<n)d3_geo_streamLine(coordinates[i],listener,1);listener.polygonEnd()}d3.geo.area=function(object){d3_geo_areaSum=0;d3.geo.stream(object,d3_geo_area);return d3_geo_areaSum};var d3_geo_areaSum,d3_geo_areaRingSum=new d3_adder;var d3_geo_area={sphere:function(){d3_geo_areaSum+=4*π},point:d3_noop,lineStart:d3_noop,lineEnd:d3_noop,polygonStart:function(){d3_geo_areaRingSum.reset();d3_geo_area.lineStart=d3_geo_areaRingStart},polygonEnd:function(){var area=2*d3_geo_areaRingSum;d3_geo_areaSum+=area<0?4*π+area:area;d3_geo_area.lineStart=d3_geo_area.lineEnd=d3_geo_area.point=d3_noop}};function d3_geo_areaRingStart(){var λ00,φ00,λ0,cosφ0,sinφ0;d3_geo_area.point=function(λ,φ){d3_geo_area.point=nextPoint;λ0=(λ00=λ)*d3_radians,cosφ0=Math.cos(φ=(φ00=φ)*d3_radians/2+π/4),sinφ0=Math.sin(φ)};function nextPoint(λ,φ){λ*=d3_radians;φ=φ*d3_radians/2+π/4;var dλ=λ-λ0,sdλ=dλ>=0?1:-1,adλ=sdλ*dλ,cosφ=Math.cos(φ),sinφ=Math.sin(φ),k=sinφ0*sinφ,u=cosφ0*cosφ+k*Math.cos(adλ),v=k*sdλ*Math.sin(adλ);d3_geo_areaRingSum.add(Math.atan2(v,u));λ0=λ,cosφ0=cosφ,sinφ0=sinφ}d3_geo_area.lineEnd=function(){nextPoint(λ00,φ00)}}function d3_geo_cartesian(spherical){var λ=spherical[0],φ=spherical[1],cosφ=Math.cos(φ);return[cosφ*Math.cos(λ),cosφ*Math.sin(λ),Math.sin(φ)]}function d3_geo_cartesianDot(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]}function d3_geo_cartesianCross(a,b){return[a[1]*b[2]-a[2]*b[1],a[2]*b[0]-a[0]*b[2],a[0]*b[1]-a[1]*b[0]]}function d3_geo_cartesianAdd(a,b){a[0]+=b[0];a[1]+=b[1];a[2]+=b[2]}function d3_geo_cartesianScale(vector,k){return[vector[0]*k,vector[1]*k,vector[2]*k]}function d3_geo_cartesianNormalize(d){var l=Math.sqrt(d[0]*d[0]+d[1]*d[1]+d[2]*d[2]);d[0]/=l;d[1]/=l;d[2]/=l}function d3_geo_spherical(cartesian){return[Math.atan2(cartesian[1],cartesian[0]),d3_asin(cartesian[2])]}function d3_geo_sphericalEqual(a,b){return abs(a[0]-b[0])<ε&&abs(a[1]-b[1])<ε}d3.geo.bounds=function(){var λ0,φ0,λ1,φ1,λ_,λ__,φ__,p0,dλSum,ranges,range;var bound={point:point,lineStart:lineStart,lineEnd:lineEnd,polygonStart:function(){bound.point=ringPoint;bound.lineStart=ringStart;bound.lineEnd=ringEnd;dλSum=0;d3_geo_area.polygonStart()},polygonEnd:function(){d3_geo_area.polygonEnd();bound.point=point;bound.lineStart=lineStart;bound.lineEnd=lineEnd;if(d3_geo_areaRingSum<0)λ0=-(λ1=180),φ0=-(φ1=90);else if(dλSum>ε)φ1=90;else if(dλSum<-ε)φ0=-90;range[0]=λ0,range[1]=λ1}};function point(λ,φ){ranges.push(range=[λ0=λ,λ1=λ]);if(φ<φ0)φ0=φ;if(φ>φ1)φ1=φ}function linePoint(λ,φ){var p=d3_geo_cartesian([λ*d3_radians,φ*d3_radians]);if(p0){var normal=d3_geo_cartesianCross(p0,p),equatorial=[normal[1],-normal[0],0],inflection=d3_geo_cartesianCross(equatorial,normal);d3_geo_cartesianNormalize(inflection);inflection=d3_geo_spherical(inflection);var dλ=λ-λ_,s=dλ>0?1:-1,λi=inflection[0]*d3_degrees*s,antimeridian=abs(dλ)>180;if(antimeridian^(s*λ_<λi&&λi<s*λ)){var φi=inflection[1]*d3_degrees;if(φi>φ1)φ1=φi}else if(λi=(λi+360)%360-180,antimeridian^(s*λ_<λi&&λi<s*λ)){var φi=-inflection[1]*d3_degrees;if(φi<φ0)φ0=φi}else{if(φ<φ0)φ0=φ;if(φ>φ1)φ1=φ}if(antimeridian){if(λ<λ_){if(angle(λ0,λ)>angle(λ0,λ1))λ1=λ}else{if(angle(λ,λ1)>angle(λ0,λ1))λ0=λ}}else{if(λ1>=λ0){if(λ<λ0)λ0=λ;if(λ>λ1)λ1=λ}else{if(λ>λ_){if(angle(λ0,λ)>angle(λ0,λ1))λ1=λ}else{if(angle(λ,λ1)>angle(λ0,λ1))λ0=λ}}}}else{point(λ,φ)}p0=p,λ_=λ}function lineStart(){bound.point=linePoint}function lineEnd(){range[0]=λ0,range[1]=λ1;bound.point=point;p0=null}function ringPoint(λ,φ){if(p0){var dλ=λ-λ_;dλSum+=abs(dλ)>180?dλ+(dλ>0?360:-360):dλ}else λ__=λ,φ__=φ;d3_geo_area.point(λ,φ);linePoint(λ,φ)}function ringStart(){d3_geo_area.lineStart()}function ringEnd(){ringPoint(λ__,φ__);d3_geo_area.lineEnd();if(abs(dλSum)>ε)λ0=-(λ1=180);range[0]=λ0,range[1]=λ1;p0=null}function angle(λ0,λ1){return(λ1-=λ0)<0?λ1+360:λ1}function compareRanges(a,b){return a[0]-b[0]}function withinRange(x,range){return range[0]<=range[1]?range[0]<=x&&x<=range[1]:x<range[0]||range[1]<x}return function(feature){φ1=λ1=-(λ0=φ0=Infinity);ranges=[];d3.geo.stream(feature,bound);var n=ranges.length;if(n){ranges.sort(compareRanges);for(var i=1,a=ranges[0],b,merged=[a];i<n;++i){b=ranges[i];if(withinRange(b[0],a)||withinRange(b[1],a)){if(angle(a[0],b[1])>angle(a[0],a[1]))a[1]=b[1];if(angle(b[0],a[1])>angle(a[0],a[1]))a[0]=b[0]}else{merged.push(a=b)}}var best=-Infinity,dλ;for(var n=merged.length-1,i=0,a=merged[n],b;i<=n;a=b,++i){b=merged[i];if((dλ=angle(a[1],b[0]))>best)best=dλ,λ0=b[0],λ1=a[1]}}ranges=range=null;return λ0===Infinity||φ0===Infinity?[[NaN,NaN],[NaN,NaN]]:[[λ0,φ0],[λ1,φ1]]}}();d3.geo.centroid=function(object){d3_geo_centroidW0=d3_geo_centroidW1=d3_geo_centroidX0=d3_geo_centroidY0=d3_geo_centroidZ0=d3_geo_centroidX1=d3_geo_centroidY1=d3_geo_centroidZ1=d3_geo_centroidX2=d3_geo_centroidY2=d3_geo_centroidZ2=0;d3.geo.stream(object,d3_geo_centroid);var x=d3_geo_centroidX2,y=d3_geo_centroidY2,z=d3_geo_centroidZ2,m=x*x+y*y+z*z;if(m<ε2){x=d3_geo_centroidX1,y=d3_geo_centroidY1,z=d3_geo_centroidZ1;if(d3_geo_centroidW1<ε)x=d3_geo_centroidX0,y=d3_geo_centroidY0,z=d3_geo_centroidZ0;m=x*x+y*y+z*z;if(m<ε2)return[NaN,NaN]}return[Math.atan2(y,x)*d3_degrees,d3_asin(z/Math.sqrt(m))*d3_degrees]};var d3_geo_centroidW0,d3_geo_centroidW1,d3_geo_centroidX0,d3_geo_centroidY0,d3_geo_centroidZ0,d3_geo_centroidX1,d3_geo_centroidY1,d3_geo_centroidZ1,d3_geo_centroidX2,d3_geo_centroidY2,d3_geo_centroidZ2;var d3_geo_centroid={sphere:d3_noop,point:d3_geo_centroidPoint,lineStart:d3_geo_centroidLineStart,lineEnd:d3_geo_centroidLineEnd,polygonStart:function(){d3_geo_centroid.lineStart=d3_geo_centroidRingStart},polygonEnd:function(){d3_geo_centroid.lineStart=d3_geo_centroidLineStart}};function d3_geo_centroidPoint(λ,φ){λ*=d3_radians;var cosφ=Math.cos(φ*=d3_radians);d3_geo_centroidPointXYZ(cosφ*Math.cos(λ),cosφ*Math.sin(λ),Math.sin(φ))}function d3_geo_centroidPointXYZ(x,y,z){++d3_geo_centroidW0;d3_geo_centroidX0+=(x-d3_geo_centroidX0)/d3_geo_centroidW0;d3_geo_centroidY0+=(y-d3_geo_centroidY0)/d3_geo_centroidW0;d3_geo_centroidZ0+=(z-d3_geo_centroidZ0)/d3_geo_centroidW0}function d3_geo_centroidLineStart(){var x0,y0,z0;d3_geo_centroid.point=function(λ,φ){λ*=d3_radians;var cosφ=Math.cos(φ*=d3_radians);x0=cosφ*Math.cos(λ);y0=cosφ*Math.sin(λ);z0=Math.sin(φ);d3_geo_centroid.point=nextPoint;d3_geo_centroidPointXYZ(x0,y0,z0)};function nextPoint(λ,φ){λ*=d3_radians;var cosφ=Math.cos(φ*=d3_radians),x=cosφ*Math.cos(λ),y=cosφ*Math.sin(λ),z=Math.sin(φ),w=Math.atan2(Math.sqrt((w=y0*z-z0*y)*w+(w=z0*x-x0*z)*w+(w=x0*y-y0*x)*w),x0*x+y0*y+z0*z);d3_geo_centroidW1+=w;d3_geo_centroidX1+=w*(x0+(x0=x));d3_geo_centroidY1+=w*(y0+(y0=y));d3_geo_centroidZ1+=w*(z0+(z0=z));d3_geo_centroidPointXYZ(x0,y0,z0)}}function d3_geo_centroidLineEnd(){d3_geo_centroid.point=d3_geo_centroidPoint}function d3_geo_centroidRingStart(){var λ00,φ00,x0,y0,z0;d3_geo_centroid.point=function(λ,φ){λ00=λ,φ00=φ;d3_geo_centroid.point=nextPoint;λ*=d3_radians;var cosφ=Math.cos(φ*=d3_radians);x0=cosφ*Math.cos(λ);y0=cosφ*Math.sin(λ);z0=Math.sin(φ);d3_geo_centroidPointXYZ(x0,y0,z0)};d3_geo_centroid.lineEnd=function(){nextPoint(λ00,φ00);d3_geo_centroid.lineEnd=d3_geo_centroidLineEnd;d3_geo_centroid.point=d3_geo_centroidPoint};function nextPoint(λ,φ){λ*=d3_radians;var cosφ=Math.cos(φ*=d3_radians),x=cosφ*Math.cos(λ),y=cosφ*Math.sin(λ),z=Math.sin(φ),cx=y0*z-z0*y,cy=z0*x-x0*z,cz=x0*y-y0*x,m=Math.sqrt(cx*cx+cy*cy+cz*cz),u=x0*x+y0*y+z0*z,v=m&&-d3_acos(u)/m,w=Math.atan2(m,u);d3_geo_centroidX2+=v*cx;d3_geo_centroidY2+=v*cy;d3_geo_centroidZ2+=v*cz;d3_geo_centroidW1+=w;d3_geo_centroidX1+=w*(x0+(x0=x));d3_geo_centroidY1+=w*(y0+(y0=y));d3_geo_centroidZ1+=w*(z0+(z0=z));d3_geo_centroidPointXYZ(x0,y0,z0)}}function d3_geo_compose(a,b){function compose(x,y){return x=a(x,y),b(x[0],x[1])}if(a.invert&&b.invert)compose.invert=function(x,y){return x=b.invert(x,y),x&&a.invert(x[0],x[1])};return compose}function d3_true(){return true}function d3_geo_clipPolygon(segments,compare,clipStartInside,interpolate,listener){var subject=[],clip=[];segments.forEach(function(segment){if((n=segment.length-1)<=0)return;var n,p0=segment[0],p1=segment[n];if(d3_geo_sphericalEqual(p0,p1)){listener.lineStart();for(var i=0;i<n;++i)listener.point((p0=segment[i])[0],p0[1]);listener.lineEnd();return}var a=new d3_geo_clipPolygonIntersection(p0,segment,null,true),b=new d3_geo_clipPolygonIntersection(p0,null,a,false);a.o=b;subject.push(a);clip.push(b);a=new d3_geo_clipPolygonIntersection(p1,segment,null,false);b=new d3_geo_clipPolygonIntersection(p1,null,a,true);a.o=b;subject.push(a);clip.push(b)});clip.sort(compare);d3_geo_clipPolygonLinkCircular(subject);d3_geo_clipPolygonLinkCircular(clip);if(!subject.length)return;for(var i=0,entry=clipStartInside,n=clip.length;i<n;++i){clip[i].e=entry=!entry}var start=subject[0],points,point;while(1){var current=start,isSubject=true;while(current.v)if((current=current.n)===start)return;points=current.z;listener.lineStart();do{current.v=current.o.v=true;if(current.e){if(isSubject){for(var i=0,n=points.length;i<n;++i)listener.point((point=points[i])[0],point[1])}else{interpolate(current.x,current.n.x,1,listener)}current=current.n}else{if(isSubject){points=current.p.z;for(var i=points.length-1;i>=0;--i)listener.point((point=points[i])[0],point[1])}else{interpolate(current.x,current.p.x,-1,listener)}current=current.p}current=current.o;points=current.z;isSubject=!isSubject}while(!current.v);listener.lineEnd()}}function d3_geo_clipPolygonLinkCircular(array){if(!(n=array.length))return;var n,i=0,a=array[0],b;while(++i<n){a.n=b=array[i];b.p=a;a=b}a.n=b=array[0];b.p=a}function d3_geo_clipPolygonIntersection(point,points,other,entry){this.x=point;this.z=points;this.o=other;this.e=entry;this.v=false;this.n=this.p=null}function d3_geo_clip(pointVisible,clipLine,interpolate,clipStart){return function(rotate,listener){var line=clipLine(listener),rotatedClipStart=rotate.invert(clipStart[0],clipStart[1]);var clip={point:point,lineStart:lineStart,lineEnd:lineEnd,polygonStart:function(){clip.point=pointRing;clip.lineStart=ringStart;clip.lineEnd=ringEnd;segments=[];polygon=[]},polygonEnd:function(){clip.point=point;clip.lineStart=lineStart;clip.lineEnd=lineEnd;segments=d3.merge(segments);var clipStartInside=d3_geo_pointInPolygon(rotatedClipStart,polygon);if(segments.length){if(!polygonStarted)listener.polygonStart(),polygonStarted=true;d3_geo_clipPolygon(segments,d3_geo_clipSort,clipStartInside,interpolate,listener)}else if(clipStartInside){if(!polygonStarted)listener.polygonStart(),polygonStarted=true;listener.lineStart();interpolate(null,null,1,listener);listener.lineEnd()}if(polygonStarted)listener.polygonEnd(),polygonStarted=false;segments=polygon=null},sphere:function(){listener.polygonStart();listener.lineStart();interpolate(null,null,1,listener);listener.lineEnd();listener.polygonEnd()}};function point(λ,φ){var point=rotate(λ,φ);if(pointVisible(λ=point[0],φ=point[1]))listener.point(λ,φ)}function pointLine(λ,φ){var point=rotate(λ,φ);line.point(point[0],point[1])}function lineStart(){clip.point=pointLine;line.lineStart()}function lineEnd(){clip.point=point;line.lineEnd()}var segments;var buffer=d3_geo_clipBufferListener(),ringListener=clipLine(buffer),polygonStarted=false,polygon,ring;function pointRing(λ,φ){ring.push([λ,φ]);var point=rotate(λ,φ);ringListener.point(point[0],point[1])}function ringStart(){ringListener.lineStart();ring=[]}function ringEnd(){pointRing(ring[0][0],ring[0][1]);ringListener.lineEnd();var clean=ringListener.clean(),ringSegments=buffer.buffer(),segment,n=ringSegments.length;ring.pop();polygon.push(ring);ring=null;if(!n)return;if(clean&1){segment=ringSegments[0];var n=segment.length-1,i=-1,point;if(n>0){if(!polygonStarted)listener.polygonStart(),polygonStarted=true;listener.lineStart();while(++i<n)listener.point((point=segment[i])[0],point[1]);listener.lineEnd()}return}if(n>1&&clean&2)ringSegments.push(ringSegments.pop().concat(ringSegments.shift()));segments.push(ringSegments.filter(d3_geo_clipSegmentLength1))}return clip}}function d3_geo_clipSegmentLength1(segment){return segment.length>1}function d3_geo_clipBufferListener(){var lines=[],line;return{lineStart:function(){lines.push(line=[])},point:function(λ,φ){line.push([λ,φ])},lineEnd:d3_noop,buffer:function(){var buffer=lines;lines=[];line=null;return buffer},rejoin:function(){if(lines.length>1)lines.push(lines.pop().concat(lines.shift()))}}}function d3_geo_clipSort(a,b){return((a=a.x)[0]<0?a[1]-halfπ-ε:halfπ-a[1])-((b=b.x)[0]<0?b[1]-halfπ-ε:halfπ-b[1])}var d3_geo_clipAntimeridian=d3_geo_clip(d3_true,d3_geo_clipAntimeridianLine,d3_geo_clipAntimeridianInterpolate,[-π,-π/2]);function d3_geo_clipAntimeridianLine(listener){var λ0=NaN,φ0=NaN,sλ0=NaN,clean;return{lineStart:function(){listener.lineStart();clean=1},point:function(λ1,φ1){var sλ1=λ1>0?π:-π,dλ=abs(λ1-λ0);if(abs(dλ-π)<ε){listener.point(λ0,φ0=(φ0+φ1)/2>0?halfπ:-halfπ);listener.point(sλ0,φ0);listener.lineEnd();listener.lineStart();listener.point(sλ1,φ0);listener.point(λ1,φ0);clean=0}else if(sλ0!==sλ1&&dλ>=π){if(abs(λ0-sλ0)<ε)λ0-=sλ0*ε;if(abs(λ1-sλ1)<ε)λ1-=sλ1*ε;φ0=d3_geo_clipAntimeridianIntersect(λ0,φ0,λ1,φ1);listener.point(sλ0,φ0);listener.lineEnd();listener.lineStart();listener.point(sλ1,φ0);clean=0}listener.point(λ0=λ1,φ0=φ1);sλ0=sλ1},lineEnd:function(){listener.lineEnd();λ0=φ0=NaN},clean:function(){return 2-clean}}}function d3_geo_clipAntimeridianIntersect(λ0,φ0,λ1,φ1){var cosφ0,cosφ1,sinλ0_λ1=Math.sin(λ0-λ1);return abs(sinλ0_λ1)>ε?Math.atan((Math.sin(φ0)*(cosφ1=Math.cos(φ1))*Math.sin(λ1)-Math.sin(φ1)*(cosφ0=Math.cos(φ0))*Math.sin(λ0))/(cosφ0*cosφ1*sinλ0_λ1)):(φ0+φ1)/2}function d3_geo_clipAntimeridianInterpolate(from,to,direction,listener){var φ;if(from==null){φ=direction*halfπ;listener.point(-π,φ);listener.point(0,φ);listener.point(π,φ);listener.point(π,0);listener.point(π,-φ);listener.point(0,-φ);listener.point(-π,-φ);listener.point(-π,0);listener.point(-π,φ)}else if(abs(from[0]-to[0])>ε){var s=from[0]<to[0]?π:-π;φ=direction*s/2;listener.point(-s,φ);listener.point(0,φ);listener.point(s,φ)}else{listener.point(to[0],to[1])}}function d3_geo_pointInPolygon(point,polygon){var meridian=point[0],parallel=point[1],meridianNormal=[Math.sin(meridian),-Math.cos(meridian),0],polarAngle=0,winding=0;d3_geo_areaRingSum.reset();for(var i=0,n=polygon.length;i<n;++i){var ring=polygon[i],m=ring.length;if(!m)continue;var point0=ring[0],λ0=point0[0],φ0=point0[1]/2+π/4,sinφ0=Math.sin(φ0),cosφ0=Math.cos(φ0),j=1;while(true){if(j===m)j=0;point=ring[j];var λ=point[0],φ=point[1]/2+π/4,sinφ=Math.sin(φ),cosφ=Math.cos(φ),dλ=λ-λ0,sdλ=dλ>=0?1:-1,adλ=sdλ*dλ,antimeridian=adλ>π,k=sinφ0*sinφ;d3_geo_areaRingSum.add(Math.atan2(k*sdλ*Math.sin(adλ),cosφ0*cosφ+k*Math.cos(adλ)));polarAngle+=antimeridian?dλ+sdλ*τ:dλ;if(antimeridian^λ0>=meridian^λ>=meridian){var arc=d3_geo_cartesianCross(d3_geo_cartesian(point0),d3_geo_cartesian(point));d3_geo_cartesianNormalize(arc);var intersection=d3_geo_cartesianCross(meridianNormal,arc);d3_geo_cartesianNormalize(intersection);var φarc=(antimeridian^dλ>=0?-1:1)*d3_asin(intersection[2]);if(parallel>φarc||parallel===φarc&&(arc[0]||arc[1])){winding+=antimeridian^dλ>=0?1:-1}}if(!j++)break;λ0=λ,sinφ0=sinφ,cosφ0=cosφ,point0=point}}return(polarAngle<-ε||polarAngle<ε&&d3_geo_areaRingSum<0)^winding&1}function d3_geo_clipCircle(radius){var cr=Math.cos(radius),smallRadius=cr>0,notHemisphere=abs(cr)>ε,interpolate=d3_geo_circleInterpolate(radius,6*d3_radians);return d3_geo_clip(visible,clipLine,interpolate,smallRadius?[0,-radius]:[-π,radius-π]);function visible(λ,φ){return Math.cos(λ)*Math.cos(φ)>cr}function clipLine(listener){var point0,c0,v0,v00,clean;return{lineStart:function(){v00=v0=false;clean=1},point:function(λ,φ){var point1=[λ,φ],point2,v=visible(λ,φ),c=smallRadius?v?0:code(λ,φ):v?code(λ+(λ<0?π:-π),φ):0;if(!point0&&(v00=v0=v))listener.lineStart();if(v!==v0){point2=intersect(point0,point1);if(d3_geo_sphericalEqual(point0,point2)||d3_geo_sphericalEqual(point1,point2)){point1[0]+=ε;point1[1]+=ε;v=visible(point1[0],point1[1])}}if(v!==v0){clean=0;if(v){listener.lineStart();point2=intersect(point1,point0);listener.point(point2[0],point2[1])}else{point2=intersect(point0,point1);listener.point(point2[0],point2[1]);listener.lineEnd()}point0=point2}else if(notHemisphere&&point0&&smallRadius^v){var t;if(!(c&c0)&&(t=intersect(point1,point0,true))){clean=0;if(smallRadius){listener.lineStart();listener.point(t[0][0],t[0][1]);listener.point(t[1][0],t[1][1]);listener.lineEnd()}else{listener.point(t[1][0],t[1][1]);listener.lineEnd();listener.lineStart();listener.point(t[0][0],t[0][1])}}}if(v&&(!point0||!d3_geo_sphericalEqual(point0,point1))){listener.point(point1[0],point1[1])}point0=point1,v0=v,c0=c},lineEnd:function(){if(v0)listener.lineEnd();point0=null},clean:function(){return clean|(v00&&v0)<<1}}}function intersect(a,b,two){var pa=d3_geo_cartesian(a),pb=d3_geo_cartesian(b);var n1=[1,0,0],n2=d3_geo_cartesianCross(pa,pb),n2n2=d3_geo_cartesianDot(n2,n2),n1n2=n2[0],determinant=n2n2-n1n2*n1n2;if(!determinant)return!two&&a;var c1=cr*n2n2/determinant,c2=-cr*n1n2/determinant,n1xn2=d3_geo_cartesianCross(n1,n2),A=d3_geo_cartesianScale(n1,c1),B=d3_geo_cartesianScale(n2,c2);d3_geo_cartesianAdd(A,B);var u=n1xn2,w=d3_geo_cartesianDot(A,u),uu=d3_geo_cartesianDot(u,u),t2=w*w-uu*(d3_geo_cartesianDot(A,A)-1);if(t2<0)return;var t=Math.sqrt(t2),q=d3_geo_cartesianScale(u,(-w-t)/uu);d3_geo_cartesianAdd(q,A);q=d3_geo_spherical(q);if(!two)return q;var λ0=a[0],λ1=b[0],φ0=a[1],φ1=b[1],z;if(λ1<λ0)z=λ0,λ0=λ1,λ1=z;var δλ=λ1-λ0,polar=abs(δλ-π)<ε,meridian=polar||δλ<ε;if(!polar&&φ1<φ0)z=φ0,φ0=φ1,φ1=z;if(meridian?polar?φ0+φ1>0^q[1]<(abs(q[0]-λ0)<ε?φ0:φ1):φ0<=q[1]&&q[1]<=φ1:δλ>π^(λ0<=q[0]&&q[0]<=λ1)){var q1=d3_geo_cartesianScale(u,(-w+t)/uu);d3_geo_cartesianAdd(q1,A);return[q,d3_geo_spherical(q1)]}}function code(λ,φ){var r=smallRadius?radius:π-radius,code=0;if(λ<-r)code|=1;else if(λ>r)code|=2;if(φ<-r)code|=4;else if(φ>r)code|=8;return code}}function d3_geom_clipLine(x0,y0,x1,y1){return function(line){var a=line.a,b=line.b,ax=a.x,ay=a.y,bx=b.x,by=b.y,t0=0,t1=1,dx=bx-ax,dy=by-ay,r;r=x0-ax;if(!dx&&r>0)return;r/=dx;if(dx<0){if(r<t0)return;if(r<t1)t1=r}else if(dx>0){if(r>t1)return;if(r>t0)t0=r}r=x1-ax;if(!dx&&r<0)return;r/=dx;if(dx<0){if(r>t1)return;if(r>t0)t0=r}else if(dx>0){if(r<t0)return;if(r<t1)t1=r}r=y0-ay;if(!dy&&r>0)return;r/=dy;if(dy<0){if(r<t0)return;if(r<t1)t1=r}else if(dy>0){if(r>t1)return;if(r>t0)t0=r}r=y1-ay;if(!dy&&r<0)return;r/=dy;if(dy<0){if(r>t1)return;if(r>t0)t0=r}else if(dy>0){if(r<t0)return;if(r<t1)t1=r}if(t0>0)line.a={x:ax+t0*dx,y:ay+t0*dy};if(t1<1)line.b={x:ax+t1*dx,y:ay+t1*dy};return line}}var d3_geo_clipExtentMAX=1e9;d3.geo.clipExtent=function(){var x0,y0,x1,y1,stream,clip,clipExtent={stream:function(output){if(stream)stream.valid=false;stream=clip(output);stream.valid=true;return stream},extent:function(_){if(!arguments.length)return[[x0,y0],[x1,y1]];clip=d3_geo_clipExtent(x0=+_[0][0],y0=+_[0][1],x1=+_[1][0],y1=+_[1][1]);if(stream)stream.valid=false,stream=null;return clipExtent}};return clipExtent.extent([[0,0],[960,500]])};function d3_geo_clipExtent(x0,y0,x1,y1){return function(listener){var listener_=listener,bufferListener=d3_geo_clipBufferListener(),clipLine=d3_geom_clipLine(x0,y0,x1,y1),segments,polygon,ring;var clip={point:point,lineStart:lineStart,lineEnd:lineEnd,polygonStart:function(){listener=bufferListener;segments=[];polygon=[];clean=true},polygonEnd:function(){listener=listener_;segments=d3.merge(segments);var clipStartInside=insidePolygon([x0,y1]),inside=clean&&clipStartInside,visible=segments.length;if(inside||visible){listener.polygonStart();if(inside){listener.lineStart();interpolate(null,null,1,listener);listener.lineEnd()}if(visible){d3_geo_clipPolygon(segments,compare,clipStartInside,interpolate,listener)}listener.polygonEnd()}segments=polygon=ring=null}};function insidePolygon(p){var wn=0,n=polygon.length,y=p[1];for(var i=0;i<n;++i){for(var j=1,v=polygon[i],m=v.length,a=v[0],b;j<m;++j){b=v[j];if(a[1]<=y){if(b[1]>y&&d3_cross2d(a,b,p)>0)++wn}else{if(b[1]<=y&&d3_cross2d(a,b,p)<0)--wn}a=b}}return wn!==0}function interpolate(from,to,direction,listener){var a=0,a1=0;if(from==null||(a=corner(from,direction))!==(a1=corner(to,direction))||comparePoints(from,to)<0^direction>0){do{listener.point(a===0||a===3?x0:x1,a>1?y1:y0)}while((a=(a+direction+4)%4)!==a1)}else{listener.point(to[0],to[1])}}function pointVisible(x,y){return x0<=x&&x<=x1&&y0<=y&&y<=y1}function point(x,y){if(pointVisible(x,y))listener.point(x,y)}var x__,y__,v__,x_,y_,v_,first,clean;function lineStart(){clip.point=linePoint;if(polygon)polygon.push(ring=[]);first=true;v_=false;x_=y_=NaN}function lineEnd(){if(segments){linePoint(x__,y__);if(v__&&v_)bufferListener.rejoin();segments.push(bufferListener.buffer())}clip.point=point;if(v_)listener.lineEnd()}function linePoint(x,y){x=Math.max(-d3_geo_clipExtentMAX,Math.min(d3_geo_clipExtentMAX,x));y=Math.max(-d3_geo_clipExtentMAX,Math.min(d3_geo_clipExtentMAX,y));var v=pointVisible(x,y);if(polygon)ring.push([x,y]);if(first){x__=x,y__=y,v__=v;first=false;if(v){listener.lineStart();listener.point(x,y)}}else{if(v&&v_)listener.point(x,y);else{var l={a:{x:x_,y:y_},b:{x:x,y:y}};if(clipLine(l)){if(!v_){listener.lineStart();listener.point(l.a.x,l.a.y)}listener.point(l.b.x,l.b.y);if(!v)listener.lineEnd();clean=false}else if(v){listener.lineStart();listener.point(x,y);clean=false}}}x_=x,y_=y,v_=v}return clip};function corner(p,direction){return abs(p[0]-x0)<ε?direction>0?0:3:abs(p[0]-x1)<ε?direction>0?2:1:abs(p[1]-y0)<ε?direction>0?1:0:direction>0?3:2}function compare(a,b){return comparePoints(a.x,b.x)}function comparePoints(a,b){var ca=corner(a,1),cb=corner(b,1);return ca!==cb?ca-cb:ca===0?b[1]-a[1]:ca===1?a[0]-b[0]:ca===2?a[1]-b[1]:b[0]-a[0]}}function d3_geo_conic(projectAt){var φ0=0,φ1=π/3,m=d3_geo_projectionMutator(projectAt),p=m(φ0,φ1);p.parallels=function(_){if(!arguments.length)return[φ0/π*180,φ1/π*180];return m(φ0=_[0]*π/180,φ1=_[1]*π/180)};return p}function d3_geo_conicEqualArea(φ0,φ1){var sinφ0=Math.sin(φ0),n=(sinφ0+Math.sin(φ1))/2,C=1+sinφ0*(2*n-sinφ0),ρ0=Math.sqrt(C)/n;function forward(λ,φ){var ρ=Math.sqrt(C-2*n*Math.sin(φ))/n;return[ρ*Math.sin(λ*=n),ρ0-ρ*Math.cos(λ)]}forward.invert=function(x,y){var ρ0_y=ρ0-y;return[Math.atan2(x,ρ0_y)/n,d3_asin((C-(x*x+ρ0_y*ρ0_y)*n*n)/(2*n))]};return forward}(d3.geo.conicEqualArea=function(){return d3_geo_conic(d3_geo_conicEqualArea)}).raw=d3_geo_conicEqualArea;d3.geo.albers=function(){return d3.geo.conicEqualArea().rotate([96,0]).center([-.6,38.7]).parallels([29.5,45.5]).scale(1070)
+};d3.geo.albersUsa=function(){var lower48=d3.geo.albers();var alaska=d3.geo.conicEqualArea().rotate([154,0]).center([-2,58.5]).parallels([55,65]);var hawaii=d3.geo.conicEqualArea().rotate([157,0]).center([-3,19.9]).parallels([8,18]);var point,pointStream={point:function(x,y){point=[x,y]}},lower48Point,alaskaPoint,hawaiiPoint;function albersUsa(coordinates){var x=coordinates[0],y=coordinates[1];point=null;(lower48Point(x,y),point)||(alaskaPoint(x,y),point)||hawaiiPoint(x,y);return point}albersUsa.invert=function(coordinates){var k=lower48.scale(),t=lower48.translate(),x=(coordinates[0]-t[0])/k,y=(coordinates[1]-t[1])/k;return(y>=.12&&y<.234&&x>=-.425&&x<-.214?alaska:y>=.166&&y<.234&&x>=-.214&&x<-.115?hawaii:lower48).invert(coordinates)};albersUsa.stream=function(stream){var lower48Stream=lower48.stream(stream),alaskaStream=alaska.stream(stream),hawaiiStream=hawaii.stream(stream);return{point:function(x,y){lower48Stream.point(x,y);alaskaStream.point(x,y);hawaiiStream.point(x,y)},sphere:function(){lower48Stream.sphere();alaskaStream.sphere();hawaiiStream.sphere()},lineStart:function(){lower48Stream.lineStart();alaskaStream.lineStart();hawaiiStream.lineStart()},lineEnd:function(){lower48Stream.lineEnd();alaskaStream.lineEnd();hawaiiStream.lineEnd()},polygonStart:function(){lower48Stream.polygonStart();alaskaStream.polygonStart();hawaiiStream.polygonStart()},polygonEnd:function(){lower48Stream.polygonEnd();alaskaStream.polygonEnd();hawaiiStream.polygonEnd()}}};albersUsa.precision=function(_){if(!arguments.length)return lower48.precision();lower48.precision(_);alaska.precision(_);hawaii.precision(_);return albersUsa};albersUsa.scale=function(_){if(!arguments.length)return lower48.scale();lower48.scale(_);alaska.scale(_*.35);hawaii.scale(_);return albersUsa.translate(lower48.translate())};albersUsa.translate=function(_){if(!arguments.length)return lower48.translate();var k=lower48.scale(),x=+_[0],y=+_[1];lower48Point=lower48.translate(_).clipExtent([[x-.455*k,y-.238*k],[x+.455*k,y+.238*k]]).stream(pointStream).point;alaskaPoint=alaska.translate([x-.307*k,y+.201*k]).clipExtent([[x-.425*k+ε,y+.12*k+ε],[x-.214*k-ε,y+.234*k-ε]]).stream(pointStream).point;hawaiiPoint=hawaii.translate([x-.205*k,y+.212*k]).clipExtent([[x-.214*k+ε,y+.166*k+ε],[x-.115*k-ε,y+.234*k-ε]]).stream(pointStream).point;return albersUsa};return albersUsa.scale(1070)};var d3_geo_pathAreaSum,d3_geo_pathAreaPolygon,d3_geo_pathArea={point:d3_noop,lineStart:d3_noop,lineEnd:d3_noop,polygonStart:function(){d3_geo_pathAreaPolygon=0;d3_geo_pathArea.lineStart=d3_geo_pathAreaRingStart},polygonEnd:function(){d3_geo_pathArea.lineStart=d3_geo_pathArea.lineEnd=d3_geo_pathArea.point=d3_noop;d3_geo_pathAreaSum+=abs(d3_geo_pathAreaPolygon/2)}};function d3_geo_pathAreaRingStart(){var x00,y00,x0,y0;d3_geo_pathArea.point=function(x,y){d3_geo_pathArea.point=nextPoint;x00=x0=x,y00=y0=y};function nextPoint(x,y){d3_geo_pathAreaPolygon+=y0*x-x0*y;x0=x,y0=y}d3_geo_pathArea.lineEnd=function(){nextPoint(x00,y00)}}var d3_geo_pathBoundsX0,d3_geo_pathBoundsY0,d3_geo_pathBoundsX1,d3_geo_pathBoundsY1;var d3_geo_pathBounds={point:d3_geo_pathBoundsPoint,lineStart:d3_noop,lineEnd:d3_noop,polygonStart:d3_noop,polygonEnd:d3_noop};function d3_geo_pathBoundsPoint(x,y){if(x<d3_geo_pathBoundsX0)d3_geo_pathBoundsX0=x;if(x>d3_geo_pathBoundsX1)d3_geo_pathBoundsX1=x;if(y<d3_geo_pathBoundsY0)d3_geo_pathBoundsY0=y;if(y>d3_geo_pathBoundsY1)d3_geo_pathBoundsY1=y}function d3_geo_pathBuffer(){var pointCircle=d3_geo_pathBufferCircle(4.5),buffer=[];var stream={point:point,lineStart:function(){stream.point=pointLineStart},lineEnd:lineEnd,polygonStart:function(){stream.lineEnd=lineEndPolygon},polygonEnd:function(){stream.lineEnd=lineEnd;stream.point=point},pointRadius:function(_){pointCircle=d3_geo_pathBufferCircle(_);return stream},result:function(){if(buffer.length){var result=buffer.join("");buffer=[];return result}}};function point(x,y){buffer.push("M",x,",",y,pointCircle)}function pointLineStart(x,y){buffer.push("M",x,",",y);stream.point=pointLine}function pointLine(x,y){buffer.push("L",x,",",y)}function lineEnd(){stream.point=point}function lineEndPolygon(){buffer.push("Z")}return stream}function d3_geo_pathBufferCircle(radius){return"m0,"+radius+"a"+radius+","+radius+" 0 1,1 0,"+-2*radius+"a"+radius+","+radius+" 0 1,1 0,"+2*radius+"z"}var d3_geo_pathCentroid={point:d3_geo_pathCentroidPoint,lineStart:d3_geo_pathCentroidLineStart,lineEnd:d3_geo_pathCentroidLineEnd,polygonStart:function(){d3_geo_pathCentroid.lineStart=d3_geo_pathCentroidRingStart},polygonEnd:function(){d3_geo_pathCentroid.point=d3_geo_pathCentroidPoint;d3_geo_pathCentroid.lineStart=d3_geo_pathCentroidLineStart;d3_geo_pathCentroid.lineEnd=d3_geo_pathCentroidLineEnd}};function d3_geo_pathCentroidPoint(x,y){d3_geo_centroidX0+=x;d3_geo_centroidY0+=y;++d3_geo_centroidZ0}function d3_geo_pathCentroidLineStart(){var x0,y0;d3_geo_pathCentroid.point=function(x,y){d3_geo_pathCentroid.point=nextPoint;d3_geo_pathCentroidPoint(x0=x,y0=y)};function nextPoint(x,y){var dx=x-x0,dy=y-y0,z=Math.sqrt(dx*dx+dy*dy);d3_geo_centroidX1+=z*(x0+x)/2;d3_geo_centroidY1+=z*(y0+y)/2;d3_geo_centroidZ1+=z;d3_geo_pathCentroidPoint(x0=x,y0=y)}}function d3_geo_pathCentroidLineEnd(){d3_geo_pathCentroid.point=d3_geo_pathCentroidPoint}function d3_geo_pathCentroidRingStart(){var x00,y00,x0,y0;d3_geo_pathCentroid.point=function(x,y){d3_geo_pathCentroid.point=nextPoint;d3_geo_pathCentroidPoint(x00=x0=x,y00=y0=y)};function nextPoint(x,y){var dx=x-x0,dy=y-y0,z=Math.sqrt(dx*dx+dy*dy);d3_geo_centroidX1+=z*(x0+x)/2;d3_geo_centroidY1+=z*(y0+y)/2;d3_geo_centroidZ1+=z;z=y0*x-x0*y;d3_geo_centroidX2+=z*(x0+x);d3_geo_centroidY2+=z*(y0+y);d3_geo_centroidZ2+=z*3;d3_geo_pathCentroidPoint(x0=x,y0=y)}d3_geo_pathCentroid.lineEnd=function(){nextPoint(x00,y00)}}function d3_geo_pathContext(context){var pointRadius=4.5;var stream={point:point,lineStart:function(){stream.point=pointLineStart},lineEnd:lineEnd,polygonStart:function(){stream.lineEnd=lineEndPolygon},polygonEnd:function(){stream.lineEnd=lineEnd;stream.point=point},pointRadius:function(_){pointRadius=_;return stream},result:d3_noop};function point(x,y){context.moveTo(x+pointRadius,y);context.arc(x,y,pointRadius,0,τ)}function pointLineStart(x,y){context.moveTo(x,y);stream.point=pointLine}function pointLine(x,y){context.lineTo(x,y)}function lineEnd(){stream.point=point}function lineEndPolygon(){context.closePath()}return stream}function d3_geo_resample(project){var δ2=.5,cosMinDistance=Math.cos(30*d3_radians),maxDepth=16;function resample(stream){return(maxDepth?resampleRecursive:resampleNone)(stream)}function resampleNone(stream){return d3_geo_transformPoint(stream,function(x,y){x=project(x,y);stream.point(x[0],x[1])})}function resampleRecursive(stream){var λ00,φ00,x00,y00,a00,b00,c00,λ0,x0,y0,a0,b0,c0;var resample={point:point,lineStart:lineStart,lineEnd:lineEnd,polygonStart:function(){stream.polygonStart();resample.lineStart=ringStart},polygonEnd:function(){stream.polygonEnd();resample.lineStart=lineStart}};function point(x,y){x=project(x,y);stream.point(x[0],x[1])}function lineStart(){x0=NaN;resample.point=linePoint;stream.lineStart()}function linePoint(λ,φ){var c=d3_geo_cartesian([λ,φ]),p=project(λ,φ);resampleLineTo(x0,y0,λ0,a0,b0,c0,x0=p[0],y0=p[1],λ0=λ,a0=c[0],b0=c[1],c0=c[2],maxDepth,stream);stream.point(x0,y0)}function lineEnd(){resample.point=point;stream.lineEnd()}function ringStart(){lineStart();resample.point=ringPoint;resample.lineEnd=ringEnd}function ringPoint(λ,φ){linePoint(λ00=λ,φ00=φ),x00=x0,y00=y0,a00=a0,b00=b0,c00=c0;resample.point=linePoint}function ringEnd(){resampleLineTo(x0,y0,λ0,a0,b0,c0,x00,y00,λ00,a00,b00,c00,maxDepth,stream);resample.lineEnd=lineEnd;lineEnd()}return resample}function resampleLineTo(x0,y0,λ0,a0,b0,c0,x1,y1,λ1,a1,b1,c1,depth,stream){var dx=x1-x0,dy=y1-y0,d2=dx*dx+dy*dy;if(d2>4*δ2&&depth--){var a=a0+a1,b=b0+b1,c=c0+c1,m=Math.sqrt(a*a+b*b+c*c),φ2=Math.asin(c/=m),λ2=abs(abs(c)-1)<ε||abs(λ0-λ1)<ε?(λ0+λ1)/2:Math.atan2(b,a),p=project(λ2,φ2),x2=p[0],y2=p[1],dx2=x2-x0,dy2=y2-y0,dz=dy*dx2-dx*dy2;if(dz*dz/d2>δ2||abs((dx*dx2+dy*dy2)/d2-.5)>.3||a0*a1+b0*b1+c0*c1<cosMinDistance){resampleLineTo(x0,y0,λ0,a0,b0,c0,x2,y2,λ2,a/=m,b/=m,c,depth,stream);stream.point(x2,y2);resampleLineTo(x2,y2,λ2,a,b,c,x1,y1,λ1,a1,b1,c1,depth,stream)}}}resample.precision=function(_){if(!arguments.length)return Math.sqrt(δ2);maxDepth=(δ2=_*_)>0&&16;return resample};return resample}d3.geo.path=function(){var pointRadius=4.5,projection,context,projectStream,contextStream,cacheStream;function path(object){if(object){if(typeof pointRadius==="function")contextStream.pointRadius(+pointRadius.apply(this,arguments));if(!cacheStream||!cacheStream.valid)cacheStream=projectStream(contextStream);d3.geo.stream(object,cacheStream)}return contextStream.result()}path.area=function(object){d3_geo_pathAreaSum=0;d3.geo.stream(object,projectStream(d3_geo_pathArea));return d3_geo_pathAreaSum};path.centroid=function(object){d3_geo_centroidX0=d3_geo_centroidY0=d3_geo_centroidZ0=d3_geo_centroidX1=d3_geo_centroidY1=d3_geo_centroidZ1=d3_geo_centroidX2=d3_geo_centroidY2=d3_geo_centroidZ2=0;d3.geo.stream(object,projectStream(d3_geo_pathCentroid));return d3_geo_centroidZ2?[d3_geo_centroidX2/d3_geo_centroidZ2,d3_geo_centroidY2/d3_geo_centroidZ2]:d3_geo_centroidZ1?[d3_geo_centroidX1/d3_geo_centroidZ1,d3_geo_centroidY1/d3_geo_centroidZ1]:d3_geo_centroidZ0?[d3_geo_centroidX0/d3_geo_centroidZ0,d3_geo_centroidY0/d3_geo_centroidZ0]:[NaN,NaN]};path.bounds=function(object){d3_geo_pathBoundsX1=d3_geo_pathBoundsY1=-(d3_geo_pathBoundsX0=d3_geo_pathBoundsY0=Infinity);d3.geo.stream(object,projectStream(d3_geo_pathBounds));return[[d3_geo_pathBoundsX0,d3_geo_pathBoundsY0],[d3_geo_pathBoundsX1,d3_geo_pathBoundsY1]]};path.projection=function(_){if(!arguments.length)return projection;projectStream=(projection=_)?_.stream||d3_geo_pathProjectStream(_):d3_identity;return reset()};path.context=function(_){if(!arguments.length)return context;contextStream=(context=_)==null?new d3_geo_pathBuffer:new d3_geo_pathContext(_);if(typeof pointRadius!=="function")contextStream.pointRadius(pointRadius);return reset()};path.pointRadius=function(_){if(!arguments.length)return pointRadius;pointRadius=typeof _==="function"?_:(contextStream.pointRadius(+_),+_);return path};function reset(){cacheStream=null;return path}return path.projection(d3.geo.albersUsa()).context(null)};function d3_geo_pathProjectStream(project){var resample=d3_geo_resample(function(x,y){return project([x*d3_degrees,y*d3_degrees])});return function(stream){return d3_geo_projectionRadians(resample(stream))}}d3.geo.transform=function(methods){return{stream:function(stream){var transform=new d3_geo_transform(stream);for(var k in methods)transform[k]=methods[k];return transform}}};function d3_geo_transform(stream){this.stream=stream}d3_geo_transform.prototype={point:function(x,y){this.stream.point(x,y)},sphere:function(){this.stream.sphere()},lineStart:function(){this.stream.lineStart()},lineEnd:function(){this.stream.lineEnd()},polygonStart:function(){this.stream.polygonStart()},polygonEnd:function(){this.stream.polygonEnd()}};function d3_geo_transformPoint(stream,point){return{point:point,sphere:function(){stream.sphere()},lineStart:function(){stream.lineStart()},lineEnd:function(){stream.lineEnd()},polygonStart:function(){stream.polygonStart()},polygonEnd:function(){stream.polygonEnd()}}}d3.geo.projection=d3_geo_projection;d3.geo.projectionMutator=d3_geo_projectionMutator;function d3_geo_projection(project){return d3_geo_projectionMutator(function(){return project})()}function d3_geo_projectionMutator(projectAt){var project,rotate,projectRotate,projectResample=d3_geo_resample(function(x,y){x=project(x,y);return[x[0]*k+δx,δy-x[1]*k]}),k=150,x=480,y=250,λ=0,φ=0,δλ=0,δφ=0,δγ=0,δx,δy,preclip=d3_geo_clipAntimeridian,postclip=d3_identity,clipAngle=null,clipExtent=null,stream;function projection(point){point=projectRotate(point[0]*d3_radians,point[1]*d3_radians);return[point[0]*k+δx,δy-point[1]*k]}function invert(point){point=projectRotate.invert((point[0]-δx)/k,(δy-point[1])/k);return point&&[point[0]*d3_degrees,point[1]*d3_degrees]}projection.stream=function(output){if(stream)stream.valid=false;stream=d3_geo_projectionRadians(preclip(rotate,projectResample(postclip(output))));stream.valid=true;return stream};projection.clipAngle=function(_){if(!arguments.length)return clipAngle;preclip=_==null?(clipAngle=_,d3_geo_clipAntimeridian):d3_geo_clipCircle((clipAngle=+_)*d3_radians);return invalidate()};projection.clipExtent=function(_){if(!arguments.length)return clipExtent;clipExtent=_;postclip=_?d3_geo_clipExtent(_[0][0],_[0][1],_[1][0],_[1][1]):d3_identity;return invalidate()};projection.scale=function(_){if(!arguments.length)return k;k=+_;return reset()};projection.translate=function(_){if(!arguments.length)return[x,y];x=+_[0];y=+_[1];return reset()};projection.center=function(_){if(!arguments.length)return[λ*d3_degrees,φ*d3_degrees];λ=_[0]%360*d3_radians;φ=_[1]%360*d3_radians;return reset()};projection.rotate=function(_){if(!arguments.length)return[δλ*d3_degrees,δφ*d3_degrees,δγ*d3_degrees];δλ=_[0]%360*d3_radians;δφ=_[1]%360*d3_radians;δγ=_.length>2?_[2]%360*d3_radians:0;return reset()};d3.rebind(projection,projectResample,"precision");function reset(){projectRotate=d3_geo_compose(rotate=d3_geo_rotation(δλ,δφ,δγ),project);var center=project(λ,φ);δx=x-center[0]*k;δy=y+center[1]*k;return invalidate()}function invalidate(){if(stream)stream.valid=false,stream=null;return projection}return function(){project=projectAt.apply(this,arguments);projection.invert=project.invert&&invert;return reset()}}function d3_geo_projectionRadians(stream){return d3_geo_transformPoint(stream,function(x,y){stream.point(x*d3_radians,y*d3_radians)})}function d3_geo_equirectangular(λ,φ){return[λ,φ]}(d3.geo.equirectangular=function(){return d3_geo_projection(d3_geo_equirectangular)}).raw=d3_geo_equirectangular.invert=d3_geo_equirectangular;d3.geo.rotation=function(rotate){rotate=d3_geo_rotation(rotate[0]%360*d3_radians,rotate[1]*d3_radians,rotate.length>2?rotate[2]*d3_radians:0);function forward(coordinates){coordinates=rotate(coordinates[0]*d3_radians,coordinates[1]*d3_radians);return coordinates[0]*=d3_degrees,coordinates[1]*=d3_degrees,coordinates}forward.invert=function(coordinates){coordinates=rotate.invert(coordinates[0]*d3_radians,coordinates[1]*d3_radians);return coordinates[0]*=d3_degrees,coordinates[1]*=d3_degrees,coordinates};return forward};function d3_geo_identityRotation(λ,φ){return[λ>π?λ-τ:λ<-π?λ+τ:λ,φ]}d3_geo_identityRotation.invert=d3_geo_equirectangular;function d3_geo_rotation(δλ,δφ,δγ){return δλ?δφ||δγ?d3_geo_compose(d3_geo_rotationλ(δλ),d3_geo_rotationφγ(δφ,δγ)):d3_geo_rotationλ(δλ):δφ||δγ?d3_geo_rotationφγ(δφ,δγ):d3_geo_identityRotation}function d3_geo_forwardRotationλ(δλ){return function(λ,φ){return λ+=δλ,[λ>π?λ-τ:λ<-π?λ+τ:λ,φ]}}function d3_geo_rotationλ(δλ){var rotation=d3_geo_forwardRotationλ(δλ);rotation.invert=d3_geo_forwardRotationλ(-δλ);return rotation}function d3_geo_rotationφγ(δφ,δγ){var cosδφ=Math.cos(δφ),sinδφ=Math.sin(δφ),cosδγ=Math.cos(δγ),sinδγ=Math.sin(δγ);function rotation(λ,φ){var cosφ=Math.cos(φ),x=Math.cos(λ)*cosφ,y=Math.sin(λ)*cosφ,z=Math.sin(φ),k=z*cosδφ+x*sinδφ;return[Math.atan2(y*cosδγ-k*sinδγ,x*cosδφ-z*sinδφ),d3_asin(k*cosδγ+y*sinδγ)]}rotation.invert=function(λ,φ){var cosφ=Math.cos(φ),x=Math.cos(λ)*cosφ,y=Math.sin(λ)*cosφ,z=Math.sin(φ),k=z*cosδγ-y*sinδγ;return[Math.atan2(y*cosδγ+z*sinδγ,x*cosδφ+k*sinδφ),d3_asin(k*cosδφ-x*sinδφ)]};return rotation}d3.geo.circle=function(){var origin=[0,0],angle,precision=6,interpolate;function circle(){var center=typeof origin==="function"?origin.apply(this,arguments):origin,rotate=d3_geo_rotation(-center[0]*d3_radians,-center[1]*d3_radians,0).invert,ring=[];interpolate(null,null,1,{point:function(x,y){ring.push(x=rotate(x,y));x[0]*=d3_degrees,x[1]*=d3_degrees}});return{type:"Polygon",coordinates:[ring]}}circle.origin=function(x){if(!arguments.length)return origin;origin=x;return circle};circle.angle=function(x){if(!arguments.length)return angle;interpolate=d3_geo_circleInterpolate((angle=+x)*d3_radians,precision*d3_radians);return circle};circle.precision=function(_){if(!arguments.length)return precision;interpolate=d3_geo_circleInterpolate(angle*d3_radians,(precision=+_)*d3_radians);return circle};return circle.angle(90)};function d3_geo_circleInterpolate(radius,precision){var cr=Math.cos(radius),sr=Math.sin(radius);return function(from,to,direction,listener){var step=direction*precision;if(from!=null){from=d3_geo_circleAngle(cr,from);to=d3_geo_circleAngle(cr,to);if(direction>0?from<to:from>to)from+=direction*τ}else{from=radius+direction*τ;to=radius-.5*step}for(var point,t=from;direction>0?t>to:t<to;t-=step){listener.point((point=d3_geo_spherical([cr,-sr*Math.cos(t),-sr*Math.sin(t)]))[0],point[1])}}}function d3_geo_circleAngle(cr,point){var a=d3_geo_cartesian(point);a[0]-=cr;d3_geo_cartesianNormalize(a);var angle=d3_acos(-a[1]);return((-a[2]<0?-angle:angle)+2*Math.PI-ε)%(2*Math.PI)}d3.geo.distance=function(a,b){var Δλ=(b[0]-a[0])*d3_radians,φ0=a[1]*d3_radians,φ1=b[1]*d3_radians,sinΔλ=Math.sin(Δλ),cosΔλ=Math.cos(Δλ),sinφ0=Math.sin(φ0),cosφ0=Math.cos(φ0),sinφ1=Math.sin(φ1),cosφ1=Math.cos(φ1),t;return Math.atan2(Math.sqrt((t=cosφ1*sinΔλ)*t+(t=cosφ0*sinφ1-sinφ0*cosφ1*cosΔλ)*t),sinφ0*sinφ1+cosφ0*cosφ1*cosΔλ)};d3.geo.graticule=function(){var x1,x0,X1,X0,y1,y0,Y1,Y0,dx=10,dy=dx,DX=90,DY=360,x,y,X,Y,precision=2.5;function graticule(){return{type:"MultiLineString",coordinates:lines()}}function lines(){return d3.range(Math.ceil(X0/DX)*DX,X1,DX).map(X).concat(d3.range(Math.ceil(Y0/DY)*DY,Y1,DY).map(Y)).concat(d3.range(Math.ceil(x0/dx)*dx,x1,dx).filter(function(x){return abs(x%DX)>ε}).map(x)).concat(d3.range(Math.ceil(y0/dy)*dy,y1,dy).filter(function(y){return abs(y%DY)>ε}).map(y))}graticule.lines=function(){return lines().map(function(coordinates){return{type:"LineString",coordinates:coordinates}})};graticule.outline=function(){return{type:"Polygon",coordinates:[X(X0).concat(Y(Y1).slice(1),X(X1).reverse().slice(1),Y(Y0).reverse().slice(1))]}};graticule.extent=function(_){if(!arguments.length)return graticule.minorExtent();return graticule.majorExtent(_).minorExtent(_)};graticule.majorExtent=function(_){if(!arguments.length)return[[X0,Y0],[X1,Y1]];X0=+_[0][0],X1=+_[1][0];Y0=+_[0][1],Y1=+_[1][1];if(X0>X1)_=X0,X0=X1,X1=_;if(Y0>Y1)_=Y0,Y0=Y1,Y1=_;return graticule.precision(precision)};graticule.minorExtent=function(_){if(!arguments.length)return[[x0,y0],[x1,y1]];x0=+_[0][0],x1=+_[1][0];y0=+_[0][1],y1=+_[1][1];if(x0>x1)_=x0,x0=x1,x1=_;if(y0>y1)_=y0,y0=y1,y1=_;return graticule.precision(precision)};graticule.step=function(_){if(!arguments.length)return graticule.minorStep();return graticule.majorStep(_).minorStep(_)};graticule.majorStep=function(_){if(!arguments.length)return[DX,DY];DX=+_[0],DY=+_[1];return graticule};graticule.minorStep=function(_){if(!arguments.length)return[dx,dy];dx=+_[0],dy=+_[1];return graticule};graticule.precision=function(_){if(!arguments.length)return precision;precision=+_;x=d3_geo_graticuleX(y0,y1,90);y=d3_geo_graticuleY(x0,x1,precision);X=d3_geo_graticuleX(Y0,Y1,90);Y=d3_geo_graticuleY(X0,X1,precision);return graticule};return graticule.majorExtent([[-180,-90+ε],[180,90-ε]]).minorExtent([[-180,-80-ε],[180,80+ε]])};function d3_geo_graticuleX(y0,y1,dy){var y=d3.range(y0,y1-ε,dy).concat(y1);return function(x){return y.map(function(y){return[x,y]})}}function d3_geo_graticuleY(x0,x1,dx){var x=d3.range(x0,x1-ε,dx).concat(x1);return function(y){return x.map(function(x){return[x,y]})}}function d3_source(d){return d.source}function d3_target(d){return d.target}d3.geo.greatArc=function(){var source=d3_source,source_,target=d3_target,target_;function greatArc(){return{type:"LineString",coordinates:[source_||source.apply(this,arguments),target_||target.apply(this,arguments)]}}greatArc.distance=function(){return d3.geo.distance(source_||source.apply(this,arguments),target_||target.apply(this,arguments))};greatArc.source=function(_){if(!arguments.length)return source;source=_,source_=typeof _==="function"?null:_;return greatArc};greatArc.target=function(_){if(!arguments.length)return target;target=_,target_=typeof _==="function"?null:_;return greatArc};greatArc.precision=function(){return arguments.length?greatArc:0};return greatArc};d3.geo.interpolate=function(source,target){return d3_geo_interpolate(source[0]*d3_radians,source[1]*d3_radians,target[0]*d3_radians,target[1]*d3_radians)};function d3_geo_interpolate(x0,y0,x1,y1){var cy0=Math.cos(y0),sy0=Math.sin(y0),cy1=Math.cos(y1),sy1=Math.sin(y1),kx0=cy0*Math.cos(x0),ky0=cy0*Math.sin(x0),kx1=cy1*Math.cos(x1),ky1=cy1*Math.sin(x1),d=2*Math.asin(Math.sqrt(d3_haversin(y1-y0)+cy0*cy1*d3_haversin(x1-x0))),k=1/Math.sin(d);var interpolate=d?function(t){var B=Math.sin(t*=d)*k,A=Math.sin(d-t)*k,x=A*kx0+B*kx1,y=A*ky0+B*ky1,z=A*sy0+B*sy1;return[Math.atan2(y,x)*d3_degrees,Math.atan2(z,Math.sqrt(x*x+y*y))*d3_degrees]}:function(){return[x0*d3_degrees,y0*d3_degrees]};interpolate.distance=d;return interpolate}d3.geo.length=function(object){d3_geo_lengthSum=0;d3.geo.stream(object,d3_geo_length);return d3_geo_lengthSum};var d3_geo_lengthSum;var d3_geo_length={sphere:d3_noop,point:d3_noop,lineStart:d3_geo_lengthLineStart,lineEnd:d3_noop,polygonStart:d3_noop,polygonEnd:d3_noop};function d3_geo_lengthLineStart(){var λ0,sinφ0,cosφ0;d3_geo_length.point=function(λ,φ){λ0=λ*d3_radians,sinφ0=Math.sin(φ*=d3_radians),cosφ0=Math.cos(φ);d3_geo_length.point=nextPoint};d3_geo_length.lineEnd=function(){d3_geo_length.point=d3_geo_length.lineEnd=d3_noop};function nextPoint(λ,φ){var sinφ=Math.sin(φ*=d3_radians),cosφ=Math.cos(φ),t=abs((λ*=d3_radians)-λ0),cosΔλ=Math.cos(t);d3_geo_lengthSum+=Math.atan2(Math.sqrt((t=cosφ*Math.sin(t))*t+(t=cosφ0*sinφ-sinφ0*cosφ*cosΔλ)*t),sinφ0*sinφ+cosφ0*cosφ*cosΔλ);λ0=λ,sinφ0=sinφ,cosφ0=cosφ}}function d3_geo_azimuthal(scale,angle){function azimuthal(λ,φ){var cosλ=Math.cos(λ),cosφ=Math.cos(φ),k=scale(cosλ*cosφ);return[k*cosφ*Math.sin(λ),k*Math.sin(φ)]}azimuthal.invert=function(x,y){var ρ=Math.sqrt(x*x+y*y),c=angle(ρ),sinc=Math.sin(c),cosc=Math.cos(c);return[Math.atan2(x*sinc,ρ*cosc),Math.asin(ρ&&y*sinc/ρ)]};return azimuthal}var d3_geo_azimuthalEqualArea=d3_geo_azimuthal(function(cosλcosφ){return Math.sqrt(2/(1+cosλcosφ))},function(ρ){return 2*Math.asin(ρ/2)});(d3.geo.azimuthalEqualArea=function(){return d3_geo_projection(d3_geo_azimuthalEqualArea)}).raw=d3_geo_azimuthalEqualArea;var d3_geo_azimuthalEquidistant=d3_geo_azimuthal(function(cosλcosφ){var c=Math.acos(cosλcosφ);return c&&c/Math.sin(c)},d3_identity);(d3.geo.azimuthalEquidistant=function(){return d3_geo_projection(d3_geo_azimuthalEquidistant)}).raw=d3_geo_azimuthalEquidistant;function d3_geo_conicConformal(φ0,φ1){var cosφ0=Math.cos(φ0),t=function(φ){return Math.tan(π/4+φ/2)},n=φ0===φ1?Math.sin(φ0):Math.log(cosφ0/Math.cos(φ1))/Math.log(t(φ1)/t(φ0)),F=cosφ0*Math.pow(t(φ0),n)/n;if(!n)return d3_geo_mercator;function forward(λ,φ){if(F>0){if(φ<-halfπ+ε)φ=-halfπ+ε}else{if(φ>halfπ-ε)φ=halfπ-ε}var ρ=F/Math.pow(t(φ),n);return[ρ*Math.sin(n*λ),F-ρ*Math.cos(n*λ)]}forward.invert=function(x,y){var ρ0_y=F-y,ρ=d3_sgn(n)*Math.sqrt(x*x+ρ0_y*ρ0_y);return[Math.atan2(x,ρ0_y)/n,2*Math.atan(Math.pow(F/ρ,1/n))-halfπ]};return forward}(d3.geo.conicConformal=function(){return d3_geo_conic(d3_geo_conicConformal)}).raw=d3_geo_conicConformal;function d3_geo_conicEquidistant(φ0,φ1){var cosφ0=Math.cos(φ0),n=φ0===φ1?Math.sin(φ0):(cosφ0-Math.cos(φ1))/(φ1-φ0),G=cosφ0/n+φ0;if(abs(n)<ε)return d3_geo_equirectangular;function forward(λ,φ){var ρ=G-φ;return[ρ*Math.sin(n*λ),G-ρ*Math.cos(n*λ)]}forward.invert=function(x,y){var ρ0_y=G-y;return[Math.atan2(x,ρ0_y)/n,G-d3_sgn(n)*Math.sqrt(x*x+ρ0_y*ρ0_y)]};return forward}(d3.geo.conicEquidistant=function(){return d3_geo_conic(d3_geo_conicEquidistant)}).raw=d3_geo_conicEquidistant;var d3_geo_gnomonic=d3_geo_azimuthal(function(cosλcosφ){return 1/cosλcosφ},Math.atan);(d3.geo.gnomonic=function(){return d3_geo_projection(d3_geo_gnomonic)}).raw=d3_geo_gnomonic;function d3_geo_mercator(λ,φ){return[λ,Math.log(Math.tan(π/4+φ/2))]}d3_geo_mercator.invert=function(x,y){return[x,2*Math.atan(Math.exp(y))-halfπ]};function d3_geo_mercatorProjection(project){var m=d3_geo_projection(project),scale=m.scale,translate=m.translate,clipExtent=m.clipExtent,clipAuto;m.scale=function(){var v=scale.apply(m,arguments);return v===m?clipAuto?m.clipExtent(null):m:v};m.translate=function(){var v=translate.apply(m,arguments);return v===m?clipAuto?m.clipExtent(null):m:v};m.clipExtent=function(_){var v=clipExtent.apply(m,arguments);if(v===m){if(clipAuto=_==null){var k=π*scale(),t=translate();clipExtent([[t[0]-k,t[1]-k],[t[0]+k,t[1]+k]])}}else if(clipAuto){v=null}return v};return m.clipExtent(null)}(d3.geo.mercator=function(){return d3_geo_mercatorProjection(d3_geo_mercator)}).raw=d3_geo_mercator;var d3_geo_orthographic=d3_geo_azimuthal(function(){return 1},Math.asin);(d3.geo.orthographic=function(){return d3_geo_projection(d3_geo_orthographic)}).raw=d3_geo_orthographic;var d3_geo_stereographic=d3_geo_azimuthal(function(cosλcosφ){return 1/(1+cosλcosφ)},function(ρ){return 2*Math.atan(ρ)});(d3.geo.stereographic=function(){return d3_geo_projection(d3_geo_stereographic)}).raw=d3_geo_stereographic;function d3_geo_transverseMercator(λ,φ){return[Math.log(Math.tan(π/4+φ/2)),-λ]}d3_geo_transverseMercator.invert=function(x,y){return[-y,2*Math.atan(Math.exp(x))-halfπ]};(d3.geo.transverseMercator=function(){var projection=d3_geo_mercatorProjection(d3_geo_transverseMercator),center=projection.center,rotate=projection.rotate;projection.center=function(_){return _?center([-_[1],_[0]]):(_=center(),[_[1],-_[0]])};projection.rotate=function(_){return _?rotate([_[0],_[1],_.length>2?_[2]+90:90]):(_=rotate(),[_[0],_[1],_[2]-90])};return rotate([0,0,90])}).raw=d3_geo_transverseMercator;d3.geom={};function d3_geom_pointX(d){return d[0]}function d3_geom_pointY(d){return d[1]}d3.geom.hull=function(vertices){var x=d3_geom_pointX,y=d3_geom_pointY;if(arguments.length)return hull(vertices);function hull(data){if(data.length<3)return[];var fx=d3_functor(x),fy=d3_functor(y),i,n=data.length,points=[],flippedPoints=[];for(i=0;i<n;i++){points.push([+fx.call(this,data[i],i),+fy.call(this,data[i],i),i])}points.sort(d3_geom_hullOrder);for(i=0;i<n;i++)flippedPoints.push([points[i][0],-points[i][1]]);var upper=d3_geom_hullUpper(points),lower=d3_geom_hullUpper(flippedPoints);var skipLeft=lower[0]===upper[0],skipRight=lower[lower.length-1]===upper[upper.length-1],polygon=[];for(i=upper.length-1;i>=0;--i)polygon.push(data[points[upper[i]][2]]);for(i=+skipLeft;i<lower.length-skipRight;++i)polygon.push(data[points[lower[i]][2]]);return polygon}hull.x=function(_){return arguments.length?(x=_,hull):x};hull.y=function(_){return arguments.length?(y=_,hull):y};return hull};function d3_geom_hullUpper(points){var n=points.length,hull=[0,1],hs=2;for(var i=2;i<n;i++){while(hs>1&&d3_cross2d(points[hull[hs-2]],points[hull[hs-1]],points[i])<=0)--hs;hull[hs++]=i}return hull.slice(0,hs)}function d3_geom_hullOrder(a,b){return a[0]-b[0]||a[1]-b[1]}d3.geom.polygon=function(coordinates){d3_subclass(coordinates,d3_geom_polygonPrototype);return coordinates};var d3_geom_polygonPrototype=d3.geom.polygon.prototype=[];d3_geom_polygonPrototype.area=function(){var i=-1,n=this.length,a,b=this[n-1],area=0;while(++i<n){a=b;b=this[i];area+=a[1]*b[0]-a[0]*b[1]}return area*.5};d3_geom_polygonPrototype.centroid=function(k){var i=-1,n=this.length,x=0,y=0,a,b=this[n-1],c;if(!arguments.length)k=-1/(6*this.area());while(++i<n){a=b;b=this[i];c=a[0]*b[1]-b[0]*a[1];x+=(a[0]+b[0])*c;y+=(a[1]+b[1])*c}return[x*k,y*k]};d3_geom_polygonPrototype.clip=function(subject){var input,closed=d3_geom_polygonClosed(subject),i=-1,n=this.length-d3_geom_polygonClosed(this),j,m,a=this[n-1],b,c,d;while(++i<n){input=subject.slice();subject.length=0;b=this[i];c=input[(m=input.length-closed)-1];j=-1;while(++j<m){d=input[j];if(d3_geom_polygonInside(d,a,b)){if(!d3_geom_polygonInside(c,a,b)){subject.push(d3_geom_polygonIntersect(c,d,a,b))}subject.push(d)}else if(d3_geom_polygonInside(c,a,b)){subject.push(d3_geom_polygonIntersect(c,d,a,b))}c=d}if(closed)subject.push(subject[0]);a=b}return subject};function d3_geom_polygonInside(p,a,b){return(b[0]-a[0])*(p[1]-a[1])<(b[1]-a[1])*(p[0]-a[0])}function d3_geom_polygonIntersect(c,d,a,b){var x1=c[0],x3=a[0],x21=d[0]-x1,x43=b[0]-x3,y1=c[1],y3=a[1],y21=d[1]-y1,y43=b[1]-y3,ua=(x43*(y1-y3)-y43*(x1-x3))/(y43*x21-x43*y21);return[x1+ua*x21,y1+ua*y21]}function d3_geom_polygonClosed(coordinates){var a=coordinates[0],b=coordinates[coordinates.length-1];return!(a[0]-b[0]||a[1]-b[1])}var d3_geom_voronoiEdges,d3_geom_voronoiCells,d3_geom_voronoiBeaches,d3_geom_voronoiBeachPool=[],d3_geom_voronoiFirstCircle,d3_geom_voronoiCircles,d3_geom_voronoiCirclePool=[];function d3_geom_voronoiBeach(){d3_geom_voronoiRedBlackNode(this);this.edge=this.site=this.circle=null}function d3_geom_voronoiCreateBeach(site){var beach=d3_geom_voronoiBeachPool.pop()||new d3_geom_voronoiBeach;beach.site=site;return beach}function d3_geom_voronoiDetachBeach(beach){d3_geom_voronoiDetachCircle(beach);d3_geom_voronoiBeaches.remove(beach);d3_geom_voronoiBeachPool.push(beach);d3_geom_voronoiRedBlackNode(beach)}function d3_geom_voronoiRemoveBeach(beach){var circle=beach.circle,x=circle.x,y=circle.cy,vertex={x:x,y:y},previous=beach.P,next=beach.N,disappearing=[beach];d3_geom_voronoiDetachBeach(beach);var lArc=previous;while(lArc.circle&&abs(x-lArc.circle.x)<ε&&abs(y-lArc.circle.cy)<ε){previous=lArc.P;disappearing.unshift(lArc);d3_geom_voronoiDetachBeach(lArc);lArc=previous}disappearing.unshift(lArc);d3_geom_voronoiDetachCircle(lArc);var rArc=next;while(rArc.circle&&abs(x-rArc.circle.x)<ε&&abs(y-rArc.circle.cy)<ε){next=rArc.N;disappearing.push(rArc);d3_geom_voronoiDetachBeach(rArc);rArc=next}disappearing.push(rArc);d3_geom_voronoiDetachCircle(rArc);var nArcs=disappearing.length,iArc;for(iArc=1;iArc<nArcs;++iArc){rArc=disappearing[iArc];lArc=disappearing[iArc-1];d3_geom_voronoiSetEdgeEnd(rArc.edge,lArc.site,rArc.site,vertex)}lArc=disappearing[0];rArc=disappearing[nArcs-1];rArc.edge=d3_geom_voronoiCreateEdge(lArc.site,rArc.site,null,vertex);d3_geom_voronoiAttachCircle(lArc);d3_geom_voronoiAttachCircle(rArc)}function d3_geom_voronoiAddBeach(site){var x=site.x,directrix=site.y,lArc,rArc,dxl,dxr,node=d3_geom_voronoiBeaches._;while(node){dxl=d3_geom_voronoiLeftBreakPoint(node,directrix)-x;if(dxl>ε)node=node.L;else{dxr=x-d3_geom_voronoiRightBreakPoint(node,directrix);if(dxr>ε){if(!node.R){lArc=node;break}node=node.R}else{if(dxl>-ε){lArc=node.P;rArc=node}else if(dxr>-ε){lArc=node;rArc=node.N}else{lArc=rArc=node}break}}}var newArc=d3_geom_voronoiCreateBeach(site);d3_geom_voronoiBeaches.insert(lArc,newArc);if(!lArc&&!rArc)return;if(lArc===rArc){d3_geom_voronoiDetachCircle(lArc);rArc=d3_geom_voronoiCreateBeach(lArc.site);d3_geom_voronoiBeaches.insert(newArc,rArc);newArc.edge=rArc.edge=d3_geom_voronoiCreateEdge(lArc.site,newArc.site);d3_geom_voronoiAttachCircle(lArc);d3_geom_voronoiAttachCircle(rArc);return}if(!rArc){newArc.edge=d3_geom_voronoiCreateEdge(lArc.site,newArc.site);return}d3_geom_voronoiDetachCircle(lArc);d3_geom_voronoiDetachCircle(rArc);var lSite=lArc.site,ax=lSite.x,ay=lSite.y,bx=site.x-ax,by=site.y-ay,rSite=rArc.site,cx=rSite.x-ax,cy=rSite.y-ay,d=2*(bx*cy-by*cx),hb=bx*bx+by*by,hc=cx*cx+cy*cy,vertex={x:(cy*hb-by*hc)/d+ax,y:(bx*hc-cx*hb)/d+ay};d3_geom_voronoiSetEdgeEnd(rArc.edge,lSite,rSite,vertex);newArc.edge=d3_geom_voronoiCreateEdge(lSite,site,null,vertex);rArc.edge=d3_geom_voronoiCreateEdge(site,rSite,null,vertex);d3_geom_voronoiAttachCircle(lArc);d3_geom_voronoiAttachCircle(rArc)}function d3_geom_voronoiLeftBreakPoint(arc,directrix){var site=arc.site,rfocx=site.x,rfocy=site.y,pby2=rfocy-directrix;if(!pby2)return rfocx;var lArc=arc.P;if(!lArc)return-Infinity;site=lArc.site;var lfocx=site.x,lfocy=site.y,plby2=lfocy-directrix;if(!plby2)return lfocx;var hl=lfocx-rfocx,aby2=1/pby2-1/plby2,b=hl/plby2;if(aby2)return(-b+Math.sqrt(b*b-2*aby2*(hl*hl/(-2*plby2)-lfocy+plby2/2+rfocy-pby2/2)))/aby2+rfocx;
+return(rfocx+lfocx)/2}function d3_geom_voronoiRightBreakPoint(arc,directrix){var rArc=arc.N;if(rArc)return d3_geom_voronoiLeftBreakPoint(rArc,directrix);var site=arc.site;return site.y===directrix?site.x:Infinity}function d3_geom_voronoiCell(site){this.site=site;this.edges=[]}d3_geom_voronoiCell.prototype.prepare=function(){var halfEdges=this.edges,iHalfEdge=halfEdges.length,edge;while(iHalfEdge--){edge=halfEdges[iHalfEdge].edge;if(!edge.b||!edge.a)halfEdges.splice(iHalfEdge,1)}halfEdges.sort(d3_geom_voronoiHalfEdgeOrder);return halfEdges.length};function d3_geom_voronoiCloseCells(extent){var x0=extent[0][0],x1=extent[1][0],y0=extent[0][1],y1=extent[1][1],x2,y2,x3,y3,cells=d3_geom_voronoiCells,iCell=cells.length,cell,iHalfEdge,halfEdges,nHalfEdges,start,end;while(iCell--){cell=cells[iCell];if(!cell||!cell.prepare())continue;halfEdges=cell.edges;nHalfEdges=halfEdges.length;iHalfEdge=0;while(iHalfEdge<nHalfEdges){end=halfEdges[iHalfEdge].end(),x3=end.x,y3=end.y;start=halfEdges[++iHalfEdge%nHalfEdges].start(),x2=start.x,y2=start.y;if(abs(x3-x2)>ε||abs(y3-y2)>ε){halfEdges.splice(iHalfEdge,0,new d3_geom_voronoiHalfEdge(d3_geom_voronoiCreateBorderEdge(cell.site,end,abs(x3-x0)<ε&&y1-y3>ε?{x:x0,y:abs(x2-x0)<ε?y2:y1}:abs(y3-y1)<ε&&x1-x3>ε?{x:abs(y2-y1)<ε?x2:x1,y:y1}:abs(x3-x1)<ε&&y3-y0>ε?{x:x1,y:abs(x2-x1)<ε?y2:y0}:abs(y3-y0)<ε&&x3-x0>ε?{x:abs(y2-y0)<ε?x2:x0,y:y0}:null),cell.site,null));++nHalfEdges}}}}function d3_geom_voronoiHalfEdgeOrder(a,b){return b.angle-a.angle}function d3_geom_voronoiCircle(){d3_geom_voronoiRedBlackNode(this);this.x=this.y=this.arc=this.site=this.cy=null}function d3_geom_voronoiAttachCircle(arc){var lArc=arc.P,rArc=arc.N;if(!lArc||!rArc)return;var lSite=lArc.site,cSite=arc.site,rSite=rArc.site;if(lSite===rSite)return;var bx=cSite.x,by=cSite.y,ax=lSite.x-bx,ay=lSite.y-by,cx=rSite.x-bx,cy=rSite.y-by;var d=2*(ax*cy-ay*cx);if(d>=-ε2)return;var ha=ax*ax+ay*ay,hc=cx*cx+cy*cy,x=(cy*ha-ay*hc)/d,y=(ax*hc-cx*ha)/d,cy=y+by;var circle=d3_geom_voronoiCirclePool.pop()||new d3_geom_voronoiCircle;circle.arc=arc;circle.site=cSite;circle.x=x+bx;circle.y=cy+Math.sqrt(x*x+y*y);circle.cy=cy;arc.circle=circle;var before=null,node=d3_geom_voronoiCircles._;while(node){if(circle.y<node.y||circle.y===node.y&&circle.x<=node.x){if(node.L)node=node.L;else{before=node.P;break}}else{if(node.R)node=node.R;else{before=node;break}}}d3_geom_voronoiCircles.insert(before,circle);if(!before)d3_geom_voronoiFirstCircle=circle}function d3_geom_voronoiDetachCircle(arc){var circle=arc.circle;if(circle){if(!circle.P)d3_geom_voronoiFirstCircle=circle.N;d3_geom_voronoiCircles.remove(circle);d3_geom_voronoiCirclePool.push(circle);d3_geom_voronoiRedBlackNode(circle);arc.circle=null}}function d3_geom_voronoiClipEdges(extent){var edges=d3_geom_voronoiEdges,clip=d3_geom_clipLine(extent[0][0],extent[0][1],extent[1][0],extent[1][1]),i=edges.length,e;while(i--){e=edges[i];if(!d3_geom_voronoiConnectEdge(e,extent)||!clip(e)||abs(e.a.x-e.b.x)<ε&&abs(e.a.y-e.b.y)<ε){e.a=e.b=null;edges.splice(i,1)}}}function d3_geom_voronoiConnectEdge(edge,extent){var vb=edge.b;if(vb)return true;var va=edge.a,x0=extent[0][0],x1=extent[1][0],y0=extent[0][1],y1=extent[1][1],lSite=edge.l,rSite=edge.r,lx=lSite.x,ly=lSite.y,rx=rSite.x,ry=rSite.y,fx=(lx+rx)/2,fy=(ly+ry)/2,fm,fb;if(ry===ly){if(fx<x0||fx>=x1)return;if(lx>rx){if(!va)va={x:fx,y:y0};else if(va.y>=y1)return;vb={x:fx,y:y1}}else{if(!va)va={x:fx,y:y1};else if(va.y<y0)return;vb={x:fx,y:y0}}}else{fm=(lx-rx)/(ry-ly);fb=fy-fm*fx;if(fm<-1||fm>1){if(lx>rx){if(!va)va={x:(y0-fb)/fm,y:y0};else if(va.y>=y1)return;vb={x:(y1-fb)/fm,y:y1}}else{if(!va)va={x:(y1-fb)/fm,y:y1};else if(va.y<y0)return;vb={x:(y0-fb)/fm,y:y0}}}else{if(ly<ry){if(!va)va={x:x0,y:fm*x0+fb};else if(va.x>=x1)return;vb={x:x1,y:fm*x1+fb}}else{if(!va)va={x:x1,y:fm*x1+fb};else if(va.x<x0)return;vb={x:x0,y:fm*x0+fb}}}}edge.a=va;edge.b=vb;return true}function d3_geom_voronoiEdge(lSite,rSite){this.l=lSite;this.r=rSite;this.a=this.b=null}function d3_geom_voronoiCreateEdge(lSite,rSite,va,vb){var edge=new d3_geom_voronoiEdge(lSite,rSite);d3_geom_voronoiEdges.push(edge);if(va)d3_geom_voronoiSetEdgeEnd(edge,lSite,rSite,va);if(vb)d3_geom_voronoiSetEdgeEnd(edge,rSite,lSite,vb);d3_geom_voronoiCells[lSite.i].edges.push(new d3_geom_voronoiHalfEdge(edge,lSite,rSite));d3_geom_voronoiCells[rSite.i].edges.push(new d3_geom_voronoiHalfEdge(edge,rSite,lSite));return edge}function d3_geom_voronoiCreateBorderEdge(lSite,va,vb){var edge=new d3_geom_voronoiEdge(lSite,null);edge.a=va;edge.b=vb;d3_geom_voronoiEdges.push(edge);return edge}function d3_geom_voronoiSetEdgeEnd(edge,lSite,rSite,vertex){if(!edge.a&&!edge.b){edge.a=vertex;edge.l=lSite;edge.r=rSite}else if(edge.l===rSite){edge.b=vertex}else{edge.a=vertex}}function d3_geom_voronoiHalfEdge(edge,lSite,rSite){var va=edge.a,vb=edge.b;this.edge=edge;this.site=lSite;this.angle=rSite?Math.atan2(rSite.y-lSite.y,rSite.x-lSite.x):edge.l===lSite?Math.atan2(vb.x-va.x,va.y-vb.y):Math.atan2(va.x-vb.x,vb.y-va.y)}d3_geom_voronoiHalfEdge.prototype={start:function(){return this.edge.l===this.site?this.edge.a:this.edge.b},end:function(){return this.edge.l===this.site?this.edge.b:this.edge.a}};function d3_geom_voronoiRedBlackTree(){this._=null}function d3_geom_voronoiRedBlackNode(node){node.U=node.C=node.L=node.R=node.P=node.N=null}d3_geom_voronoiRedBlackTree.prototype={insert:function(after,node){var parent,grandpa,uncle;if(after){node.P=after;node.N=after.N;if(after.N)after.N.P=node;after.N=node;if(after.R){after=after.R;while(after.L)after=after.L;after.L=node}else{after.R=node}parent=after}else if(this._){after=d3_geom_voronoiRedBlackFirst(this._);node.P=null;node.N=after;after.P=after.L=node;parent=after}else{node.P=node.N=null;this._=node;parent=null}node.L=node.R=null;node.U=parent;node.C=true;after=node;while(parent&&parent.C){grandpa=parent.U;if(parent===grandpa.L){uncle=grandpa.R;if(uncle&&uncle.C){parent.C=uncle.C=false;grandpa.C=true;after=grandpa}else{if(after===parent.R){d3_geom_voronoiRedBlackRotateLeft(this,parent);after=parent;parent=after.U}parent.C=false;grandpa.C=true;d3_geom_voronoiRedBlackRotateRight(this,grandpa)}}else{uncle=grandpa.L;if(uncle&&uncle.C){parent.C=uncle.C=false;grandpa.C=true;after=grandpa}else{if(after===parent.L){d3_geom_voronoiRedBlackRotateRight(this,parent);after=parent;parent=after.U}parent.C=false;grandpa.C=true;d3_geom_voronoiRedBlackRotateLeft(this,grandpa)}}parent=after.U}this._.C=false},remove:function(node){if(node.N)node.N.P=node.P;if(node.P)node.P.N=node.N;node.N=node.P=null;var parent=node.U,sibling,left=node.L,right=node.R,next,red;if(!left)next=right;else if(!right)next=left;else next=d3_geom_voronoiRedBlackFirst(right);if(parent){if(parent.L===node)parent.L=next;else parent.R=next}else{this._=next}if(left&&right){red=next.C;next.C=node.C;next.L=left;left.U=next;if(next!==right){parent=next.U;next.U=node.U;node=next.R;parent.L=node;next.R=right;right.U=next}else{next.U=parent;parent=next;node=next.R}}else{red=node.C;node=next}if(node)node.U=parent;if(red)return;if(node&&node.C){node.C=false;return}do{if(node===this._)break;if(node===parent.L){sibling=parent.R;if(sibling.C){sibling.C=false;parent.C=true;d3_geom_voronoiRedBlackRotateLeft(this,parent);sibling=parent.R}if(sibling.L&&sibling.L.C||sibling.R&&sibling.R.C){if(!sibling.R||!sibling.R.C){sibling.L.C=false;sibling.C=true;d3_geom_voronoiRedBlackRotateRight(this,sibling);sibling=parent.R}sibling.C=parent.C;parent.C=sibling.R.C=false;d3_geom_voronoiRedBlackRotateLeft(this,parent);node=this._;break}}else{sibling=parent.L;if(sibling.C){sibling.C=false;parent.C=true;d3_geom_voronoiRedBlackRotateRight(this,parent);sibling=parent.L}if(sibling.L&&sibling.L.C||sibling.R&&sibling.R.C){if(!sibling.L||!sibling.L.C){sibling.R.C=false;sibling.C=true;d3_geom_voronoiRedBlackRotateLeft(this,sibling);sibling=parent.L}sibling.C=parent.C;parent.C=sibling.L.C=false;d3_geom_voronoiRedBlackRotateRight(this,parent);node=this._;break}}sibling.C=true;node=parent;parent=parent.U}while(!node.C);if(node)node.C=false}};function d3_geom_voronoiRedBlackRotateLeft(tree,node){var p=node,q=node.R,parent=p.U;if(parent){if(parent.L===p)parent.L=q;else parent.R=q}else{tree._=q}q.U=parent;p.U=q;p.R=q.L;if(p.R)p.R.U=p;q.L=p}function d3_geom_voronoiRedBlackRotateRight(tree,node){var p=node,q=node.L,parent=p.U;if(parent){if(parent.L===p)parent.L=q;else parent.R=q}else{tree._=q}q.U=parent;p.U=q;p.L=q.R;if(p.L)p.L.U=p;q.R=p}function d3_geom_voronoiRedBlackFirst(node){while(node.L)node=node.L;return node}function d3_geom_voronoi(sites,bbox){var site=sites.sort(d3_geom_voronoiVertexOrder).pop(),x0,y0,circle;d3_geom_voronoiEdges=[];d3_geom_voronoiCells=new Array(sites.length);d3_geom_voronoiBeaches=new d3_geom_voronoiRedBlackTree;d3_geom_voronoiCircles=new d3_geom_voronoiRedBlackTree;while(true){circle=d3_geom_voronoiFirstCircle;if(site&&(!circle||site.y<circle.y||site.y===circle.y&&site.x<circle.x)){if(site.x!==x0||site.y!==y0){d3_geom_voronoiCells[site.i]=new d3_geom_voronoiCell(site);d3_geom_voronoiAddBeach(site);x0=site.x,y0=site.y}site=sites.pop()}else if(circle){d3_geom_voronoiRemoveBeach(circle.arc)}else{break}}if(bbox)d3_geom_voronoiClipEdges(bbox),d3_geom_voronoiCloseCells(bbox);var diagram={cells:d3_geom_voronoiCells,edges:d3_geom_voronoiEdges};d3_geom_voronoiBeaches=d3_geom_voronoiCircles=d3_geom_voronoiEdges=d3_geom_voronoiCells=null;return diagram}function d3_geom_voronoiVertexOrder(a,b){return b.y-a.y||b.x-a.x}d3.geom.voronoi=function(points){var x=d3_geom_pointX,y=d3_geom_pointY,fx=x,fy=y,clipExtent=d3_geom_voronoiClipExtent;if(points)return voronoi(points);function voronoi(data){var polygons=new Array(data.length),x0=clipExtent[0][0],y0=clipExtent[0][1],x1=clipExtent[1][0],y1=clipExtent[1][1];d3_geom_voronoi(sites(data),clipExtent).cells.forEach(function(cell,i){var edges=cell.edges,site=cell.site,polygon=polygons[i]=edges.length?edges.map(function(e){var s=e.start();return[s.x,s.y]}):site.x>=x0&&site.x<=x1&&site.y>=y0&&site.y<=y1?[[x0,y1],[x1,y1],[x1,y0],[x0,y0]]:[];polygon.point=data[i]});return polygons}function sites(data){return data.map(function(d,i){return{x:Math.round(fx(d,i)/ε)*ε,y:Math.round(fy(d,i)/ε)*ε,i:i}})}voronoi.links=function(data){return d3_geom_voronoi(sites(data)).edges.filter(function(edge){return edge.l&&edge.r}).map(function(edge){return{source:data[edge.l.i],target:data[edge.r.i]}})};voronoi.triangles=function(data){var triangles=[];d3_geom_voronoi(sites(data)).cells.forEach(function(cell,i){var site=cell.site,edges=cell.edges.sort(d3_geom_voronoiHalfEdgeOrder),j=-1,m=edges.length,e0,s0,e1=edges[m-1].edge,s1=e1.l===site?e1.r:e1.l;while(++j<m){e0=e1;s0=s1;e1=edges[j].edge;s1=e1.l===site?e1.r:e1.l;if(i<s0.i&&i<s1.i&&d3_geom_voronoiTriangleArea(site,s0,s1)<0){triangles.push([data[i],data[s0.i],data[s1.i]])}}});return triangles};voronoi.x=function(_){return arguments.length?(fx=d3_functor(x=_),voronoi):x};voronoi.y=function(_){return arguments.length?(fy=d3_functor(y=_),voronoi):y};voronoi.clipExtent=function(_){if(!arguments.length)return clipExtent===d3_geom_voronoiClipExtent?null:clipExtent;clipExtent=_==null?d3_geom_voronoiClipExtent:_;return voronoi};voronoi.size=function(_){if(!arguments.length)return clipExtent===d3_geom_voronoiClipExtent?null:clipExtent&&clipExtent[1];return voronoi.clipExtent(_&&[[0,0],_])};return voronoi};var d3_geom_voronoiClipExtent=[[-1e6,-1e6],[1e6,1e6]];function d3_geom_voronoiTriangleArea(a,b,c){return(a.x-c.x)*(b.y-a.y)-(a.x-b.x)*(c.y-a.y)}d3.geom.delaunay=function(vertices){return d3.geom.voronoi().triangles(vertices)};d3.geom.quadtree=function(points,x1,y1,x2,y2){var x=d3_geom_pointX,y=d3_geom_pointY,compat;if(compat=arguments.length){x=d3_geom_quadtreeCompatX;y=d3_geom_quadtreeCompatY;if(compat===3){y2=y1;x2=x1;y1=x1=0}return quadtree(points)}function quadtree(data){var d,fx=d3_functor(x),fy=d3_functor(y),xs,ys,i,n,x1_,y1_,x2_,y2_;if(x1!=null){x1_=x1,y1_=y1,x2_=x2,y2_=y2}else{x2_=y2_=-(x1_=y1_=Infinity);xs=[],ys=[];n=data.length;if(compat)for(i=0;i<n;++i){d=data[i];if(d.x<x1_)x1_=d.x;if(d.y<y1_)y1_=d.y;if(d.x>x2_)x2_=d.x;if(d.y>y2_)y2_=d.y;xs.push(d.x);ys.push(d.y)}else for(i=0;i<n;++i){var x_=+fx(d=data[i],i),y_=+fy(d,i);if(x_<x1_)x1_=x_;if(y_<y1_)y1_=y_;if(x_>x2_)x2_=x_;if(y_>y2_)y2_=y_;xs.push(x_);ys.push(y_)}}var dx=x2_-x1_,dy=y2_-y1_;if(dx>dy)y2_=y1_+dx;else x2_=x1_+dy;function insert(n,d,x,y,x1,y1,x2,y2){if(isNaN(x)||isNaN(y))return;if(n.leaf){var nx=n.x,ny=n.y;if(nx!=null){if(abs(nx-x)+abs(ny-y)<.01){insertChild(n,d,x,y,x1,y1,x2,y2)}else{var nPoint=n.point;n.x=n.y=n.point=null;insertChild(n,nPoint,nx,ny,x1,y1,x2,y2);insertChild(n,d,x,y,x1,y1,x2,y2)}}else{n.x=x,n.y=y,n.point=d}}else{insertChild(n,d,x,y,x1,y1,x2,y2)}}function insertChild(n,d,x,y,x1,y1,x2,y2){var xm=(x1+x2)*.5,ym=(y1+y2)*.5,right=x>=xm,below=y>=ym,i=below<<1|right;n.leaf=false;n=n.nodes[i]||(n.nodes[i]=d3_geom_quadtreeNode());if(right)x1=xm;else x2=xm;if(below)y1=ym;else y2=ym;insert(n,d,x,y,x1,y1,x2,y2)}var root=d3_geom_quadtreeNode();root.add=function(d){insert(root,d,+fx(d,++i),+fy(d,i),x1_,y1_,x2_,y2_)};root.visit=function(f){d3_geom_quadtreeVisit(f,root,x1_,y1_,x2_,y2_)};root.find=function(point){return d3_geom_quadtreeFind(root,point[0],point[1],x1_,y1_,x2_,y2_)};i=-1;if(x1==null){while(++i<n){insert(root,data[i],xs[i],ys[i],x1_,y1_,x2_,y2_)}--i}else data.forEach(root.add);xs=ys=data=d=null;return root}quadtree.x=function(_){return arguments.length?(x=_,quadtree):x};quadtree.y=function(_){return arguments.length?(y=_,quadtree):y};quadtree.extent=function(_){if(!arguments.length)return x1==null?null:[[x1,y1],[x2,y2]];if(_==null)x1=y1=x2=y2=null;else x1=+_[0][0],y1=+_[0][1],x2=+_[1][0],y2=+_[1][1];return quadtree};quadtree.size=function(_){if(!arguments.length)return x1==null?null:[x2-x1,y2-y1];if(_==null)x1=y1=x2=y2=null;else x1=y1=0,x2=+_[0],y2=+_[1];return quadtree};return quadtree};function d3_geom_quadtreeCompatX(d){return d.x}function d3_geom_quadtreeCompatY(d){return d.y}function d3_geom_quadtreeNode(){return{leaf:true,nodes:[],point:null,x:null,y:null}}function d3_geom_quadtreeVisit(f,node,x1,y1,x2,y2){if(!f(node,x1,y1,x2,y2)){var sx=(x1+x2)*.5,sy=(y1+y2)*.5,children=node.nodes;if(children[0])d3_geom_quadtreeVisit(f,children[0],x1,y1,sx,sy);if(children[1])d3_geom_quadtreeVisit(f,children[1],sx,y1,x2,sy);if(children[2])d3_geom_quadtreeVisit(f,children[2],x1,sy,sx,y2);if(children[3])d3_geom_quadtreeVisit(f,children[3],sx,sy,x2,y2)}}function d3_geom_quadtreeFind(root,x,y,x0,y0,x3,y3){var minDistance2=Infinity,closestPoint;(function find(node,x1,y1,x2,y2){if(x1>x3||y1>y3||x2<x0||y2<y0)return;if(point=node.point){var point,dx=x-node.x,dy=y-node.y,distance2=dx*dx+dy*dy;if(distance2<minDistance2){var distance=Math.sqrt(minDistance2=distance2);x0=x-distance,y0=y-distance;x3=x+distance,y3=y+distance;closestPoint=point}}var children=node.nodes,xm=(x1+x2)*.5,ym=(y1+y2)*.5,right=x>=xm,below=y>=ym;for(var i=below<<1|right,j=i+4;i<j;++i){if(node=children[i&3])switch(i&3){case 0:find(node,x1,y1,xm,ym);break;case 1:find(node,xm,y1,x2,ym);break;case 2:find(node,x1,ym,xm,y2);break;case 3:find(node,xm,ym,x2,y2);break}}})(root,x0,y0,x3,y3);return closestPoint}d3.interpolateRgb=d3_interpolateRgb;function d3_interpolateRgb(a,b){a=d3.rgb(a);b=d3.rgb(b);var ar=a.r,ag=a.g,ab=a.b,br=b.r-ar,bg=b.g-ag,bb=b.b-ab;return function(t){return"#"+d3_rgb_hex(Math.round(ar+br*t))+d3_rgb_hex(Math.round(ag+bg*t))+d3_rgb_hex(Math.round(ab+bb*t))}}d3.interpolateObject=d3_interpolateObject;function d3_interpolateObject(a,b){var i={},c={},k;for(k in a){if(k in b){i[k]=d3_interpolate(a[k],b[k])}else{c[k]=a[k]}}for(k in b){if(!(k in a)){c[k]=b[k]}}return function(t){for(k in i)c[k]=i[k](t);return c}}d3.interpolateNumber=d3_interpolateNumber;function d3_interpolateNumber(a,b){a=+a,b=+b;return function(t){return a*(1-t)+b*t}}d3.interpolateString=d3_interpolateString;function d3_interpolateString(a,b){var bi=d3_interpolate_numberA.lastIndex=d3_interpolate_numberB.lastIndex=0,am,bm,bs,i=-1,s=[],q=[];a=a+"",b=b+"";while((am=d3_interpolate_numberA.exec(a))&&(bm=d3_interpolate_numberB.exec(b))){if((bs=bm.index)>bi){bs=b.slice(bi,bs);if(s[i])s[i]+=bs;else s[++i]=bs}if((am=am[0])===(bm=bm[0])){if(s[i])s[i]+=bm;else s[++i]=bm}else{s[++i]=null;q.push({i:i,x:d3_interpolateNumber(am,bm)})}bi=d3_interpolate_numberB.lastIndex}if(bi<b.length){bs=b.slice(bi);if(s[i])s[i]+=bs;else s[++i]=bs}return s.length<2?q[0]?(b=q[0].x,function(t){return b(t)+""}):function(){return b}:(b=q.length,function(t){for(var i=0,o;i<b;++i)s[(o=q[i]).i]=o.x(t);return s.join("")})}var d3_interpolate_numberA=/[-+]?(?:\d+\.?\d*|\.?\d+)(?:[eE][-+]?\d+)?/g,d3_interpolate_numberB=new RegExp(d3_interpolate_numberA.source,"g");d3.interpolate=d3_interpolate;function d3_interpolate(a,b){var i=d3.interpolators.length,f;while(--i>=0&&!(f=d3.interpolators[i](a,b)));return f}d3.interpolators=[function(a,b){var t=typeof b;return(t==="string"?d3_rgb_names.has(b)||/^(#|rgb\(|hsl\()/.test(b)?d3_interpolateRgb:d3_interpolateString:b instanceof d3_color?d3_interpolateRgb:Array.isArray(b)?d3_interpolateArray:t==="object"&&isNaN(b)?d3_interpolateObject:d3_interpolateNumber)(a,b)}];d3.interpolateArray=d3_interpolateArray;function d3_interpolateArray(a,b){var x=[],c=[],na=a.length,nb=b.length,n0=Math.min(a.length,b.length),i;for(i=0;i<n0;++i)x.push(d3_interpolate(a[i],b[i]));for(;i<na;++i)c[i]=a[i];for(;i<nb;++i)c[i]=b[i];return function(t){for(i=0;i<n0;++i)c[i]=x[i](t);return c}}var d3_ease_default=function(){return d3_identity};var d3_ease=d3.map({linear:d3_ease_default,poly:d3_ease_poly,quad:function(){return d3_ease_quad},cubic:function(){return d3_ease_cubic},sin:function(){return d3_ease_sin},exp:function(){return d3_ease_exp},circle:function(){return d3_ease_circle},elastic:d3_ease_elastic,back:d3_ease_back,bounce:function(){return d3_ease_bounce}});var d3_ease_mode=d3.map({"in":d3_identity,out:d3_ease_reverse,"in-out":d3_ease_reflect,"out-in":function(f){return d3_ease_reflect(d3_ease_reverse(f))}});d3.ease=function(name){var i=name.indexOf("-"),t=i>=0?name.slice(0,i):name,m=i>=0?name.slice(i+1):"in";t=d3_ease.get(t)||d3_ease_default;m=d3_ease_mode.get(m)||d3_identity;return d3_ease_clamp(m(t.apply(null,d3_arraySlice.call(arguments,1))))};function d3_ease_clamp(f){return function(t){return t<=0?0:t>=1?1:f(t)}}function d3_ease_reverse(f){return function(t){return 1-f(1-t)}}function d3_ease_reflect(f){return function(t){return.5*(t<.5?f(2*t):2-f(2-2*t))}}function d3_ease_quad(t){return t*t}function d3_ease_cubic(t){return t*t*t}function d3_ease_cubicInOut(t){if(t<=0)return 0;if(t>=1)return 1;var t2=t*t,t3=t2*t;return 4*(t<.5?t3:3*(t-t2)+t3-.75)}function d3_ease_poly(e){return function(t){return Math.pow(t,e)}}function d3_ease_sin(t){return 1-Math.cos(t*halfπ)}function d3_ease_exp(t){return Math.pow(2,10*(t-1))}function d3_ease_circle(t){return 1-Math.sqrt(1-t*t)}function d3_ease_elastic(a,p){var s;if(arguments.length<2)p=.45;if(arguments.length)s=p/τ*Math.asin(1/a);else a=1,s=p/4;return function(t){return 1+a*Math.pow(2,-10*t)*Math.sin((t-s)*τ/p)}}function d3_ease_back(s){if(!s)s=1.70158;return function(t){return t*t*((s+1)*t-s)}}function d3_ease_bounce(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375}d3.interpolateHcl=d3_interpolateHcl;function d3_interpolateHcl(a,b){a=d3.hcl(a);b=d3.hcl(b);var ah=a.h,ac=a.c,al=a.l,bh=b.h-ah,bc=b.c-ac,bl=b.l-al;if(isNaN(bc))bc=0,ac=isNaN(ac)?b.c:ac;if(isNaN(bh))bh=0,ah=isNaN(ah)?b.h:ah;else if(bh>180)bh-=360;else if(bh<-180)bh+=360;return function(t){return d3_hcl_lab(ah+bh*t,ac+bc*t,al+bl*t)+""}}d3.interpolateHsl=d3_interpolateHsl;function d3_interpolateHsl(a,b){a=d3.hsl(a);b=d3.hsl(b);var ah=a.h,as=a.s,al=a.l,bh=b.h-ah,bs=b.s-as,bl=b.l-al;if(isNaN(bs))bs=0,as=isNaN(as)?b.s:as;if(isNaN(bh))bh=0,ah=isNaN(ah)?b.h:ah;else if(bh>180)bh-=360;else if(bh<-180)bh+=360;return function(t){return d3_hsl_rgb(ah+bh*t,as+bs*t,al+bl*t)+""}}d3.interpolateLab=d3_interpolateLab;function d3_interpolateLab(a,b){a=d3.lab(a);b=d3.lab(b);var al=a.l,aa=a.a,ab=a.b,bl=b.l-al,ba=b.a-aa,bb=b.b-ab;return function(t){return d3_lab_rgb(al+bl*t,aa+ba*t,ab+bb*t)+""}}d3.interpolateRound=d3_interpolateRound;function d3_interpolateRound(a,b){b-=a;return function(t){return Math.round(a+b*t)}}d3.transform=function(string){var g=d3_document.createElementNS(d3.ns.prefix.svg,"g");return(d3.transform=function(string){if(string!=null){g.setAttribute("transform",string);var t=g.transform.baseVal.consolidate()}return new d3_transform(t?t.matrix:d3_transformIdentity)})(string)};function d3_transform(m){var r0=[m.a,m.b],r1=[m.c,m.d],kx=d3_transformNormalize(r0),kz=d3_transformDot(r0,r1),ky=d3_transformNormalize(d3_transformCombine(r1,r0,-kz))||0;if(r0[0]*r1[1]<r1[0]*r0[1]){r0[0]*=-1;r0[1]*=-1;kx*=-1;kz*=-1}this.rotate=(kx?Math.atan2(r0[1],r0[0]):Math.atan2(-r1[0],r1[1]))*d3_degrees;this.translate=[m.e,m.f];this.scale=[kx,ky];this.skew=ky?Math.atan2(kz,ky)*d3_degrees:0}d3_transform.prototype.toString=function(){return"translate("+this.translate+")rotate("+this.rotate+")skewX("+this.skew+")scale("+this.scale+")"};function d3_transformDot(a,b){return a[0]*b[0]+a[1]*b[1]}function d3_transformNormalize(a){var k=Math.sqrt(d3_transformDot(a,a));if(k){a[0]/=k;a[1]/=k}return k}function d3_transformCombine(a,b,k){a[0]+=k*b[0];a[1]+=k*b[1];return a}var d3_transformIdentity={a:1,b:0,c:0,d:1,e:0,f:0};d3.interpolateTransform=d3_interpolateTransform;function d3_interpolateTransform(a,b){var s=[],q=[],n,A=d3.transform(a),B=d3.transform(b),ta=A.translate,tb=B.translate,ra=A.rotate,rb=B.rotate,wa=A.skew,wb=B.skew,ka=A.scale,kb=B.scale;if(ta[0]!=tb[0]||ta[1]!=tb[1]){s.push("translate(",null,",",null,")");q.push({i:1,x:d3_interpolateNumber(ta[0],tb[0])},{i:3,x:d3_interpolateNumber(ta[1],tb[1])})}else if(tb[0]||tb[1]){s.push("translate("+tb+")")}else{s.push("")}if(ra!=rb){if(ra-rb>180)rb+=360;else if(rb-ra>180)ra+=360;q.push({i:s.push(s.pop()+"rotate(",null,")")-2,x:d3_interpolateNumber(ra,rb)})}else if(rb){s.push(s.pop()+"rotate("+rb+")")}if(wa!=wb){q.push({i:s.push(s.pop()+"skewX(",null,")")-2,x:d3_interpolateNumber(wa,wb)})}else if(wb){s.push(s.pop()+"skewX("+wb+")")}if(ka[0]!=kb[0]||ka[1]!=kb[1]){n=s.push(s.pop()+"scale(",null,",",null,")");q.push({i:n-4,x:d3_interpolateNumber(ka[0],kb[0])},{i:n-2,x:d3_interpolateNumber(ka[1],kb[1])})}else if(kb[0]!=1||kb[1]!=1){s.push(s.pop()+"scale("+kb+")")}n=q.length;return function(t){var i=-1,o;while(++i<n)s[(o=q[i]).i]=o.x(t);return s.join("")}}function d3_uninterpolateNumber(a,b){b=(b-=a=+a)||1/b;return function(x){return(x-a)/b}}function d3_uninterpolateClamp(a,b){b=(b-=a=+a)||1/b;return function(x){return Math.max(0,Math.min(1,(x-a)/b))}}d3.layout={};d3.layout.bundle=function(){return function(links){var paths=[],i=-1,n=links.length;while(++i<n)paths.push(d3_layout_bundlePath(links[i]));return paths}};function d3_layout_bundlePath(link){var start=link.source,end=link.target,lca=d3_layout_bundleLeastCommonAncestor(start,end),points=[start];while(start!==lca){start=start.parent;points.push(start)}var k=points.length;while(end!==lca){points.splice(k,0,end);end=end.parent}return points}function d3_layout_bundleAncestors(node){var ancestors=[],parent=node.parent;while(parent!=null){ancestors.push(node);node=parent;parent=parent.parent}ancestors.push(node);return ancestors}function d3_layout_bundleLeastCommonAncestor(a,b){if(a===b)return a;var aNodes=d3_layout_bundleAncestors(a),bNodes=d3_layout_bundleAncestors(b),aNode=aNodes.pop(),bNode=bNodes.pop(),sharedNode=null;while(aNode===bNode){sharedNode=aNode;aNode=aNodes.pop();bNode=bNodes.pop()}return sharedNode}d3.layout.chord=function(){var chord={},chords,groups,matrix,n,padding=0,sortGroups,sortSubgroups,sortChords;function relayout(){var subgroups={},groupSums=[],groupIndex=d3.range(n),subgroupIndex=[],k,x,x0,i,j;chords=[];groups=[];k=0,i=-1;while(++i<n){x=0,j=-1;while(++j<n){x+=matrix[i][j]}groupSums.push(x);subgroupIndex.push(d3.range(n));k+=x}if(sortGroups){groupIndex.sort(function(a,b){return sortGroups(groupSums[a],groupSums[b])})}if(sortSubgroups){subgroupIndex.forEach(function(d,i){d.sort(function(a,b){return sortSubgroups(matrix[i][a],matrix[i][b])})})}k=(τ-padding*n)/k;x=0,i=-1;while(++i<n){x0=x,j=-1;while(++j<n){var di=groupIndex[i],dj=subgroupIndex[di][j],v=matrix[di][dj],a0=x,a1=x+=v*k;subgroups[di+"-"+dj]={index:di,subindex:dj,startAngle:a0,endAngle:a1,value:v}}groups[di]={index:di,startAngle:x0,endAngle:x,value:(x-x0)/k};x+=padding}i=-1;while(++i<n){j=i-1;while(++j<n){var source=subgroups[i+"-"+j],target=subgroups[j+"-"+i];if(source.value||target.value){chords.push(source.value<target.value?{source:target,target:source}:{source:source,target:target})}}}if(sortChords)resort()}function resort(){chords.sort(function(a,b){return sortChords((a.source.value+a.target.value)/2,(b.source.value+b.target.value)/2)})}chord.matrix=function(x){if(!arguments.length)return matrix;n=(matrix=x)&&matrix.length;chords=groups=null;return chord};chord.padding=function(x){if(!arguments.length)return padding;padding=x;chords=groups=null;return chord};chord.sortGroups=function(x){if(!arguments.length)return sortGroups;sortGroups=x;chords=groups=null;return chord};chord.sortSubgroups=function(x){if(!arguments.length)return sortSubgroups;sortSubgroups=x;chords=null;return chord};chord.sortChords=function(x){if(!arguments.length)return sortChords;sortChords=x;if(chords)resort();return chord};chord.chords=function(){if(!chords)relayout();return chords};chord.groups=function(){if(!groups)relayout();return groups};return chord};d3.layout.force=function(){var force={},event=d3.dispatch("start","tick","end"),size=[1,1],drag,alpha,friction=.9,linkDistance=d3_layout_forceLinkDistance,linkStrength=d3_layout_forceLinkStrength,charge=-30,chargeDistance2=d3_layout_forceChargeDistance2,gravity=.1,theta2=.64,nodes=[],links=[],distances,strengths,charges;function repulse(node){return function(quad,x1,_,x2){if(quad.point!==node){var dx=quad.cx-node.x,dy=quad.cy-node.y,dw=x2-x1,dn=dx*dx+dy*dy;if(dw*dw/theta2<dn){if(dn<chargeDistance2){var k=quad.charge/dn;node.px-=dx*k;node.py-=dy*k}return true}if(quad.point&&dn&&dn<chargeDistance2){var k=quad.pointCharge/dn;node.px-=dx*k;node.py-=dy*k}}return!quad.charge}}force.tick=function(){if((alpha*=.99)<.005){event.end({type:"end",alpha:alpha=0});return true}var n=nodes.length,m=links.length,q,i,o,s,t,l,k,x,y;for(i=0;i<m;++i){o=links[i];s=o.source;t=o.target;x=t.x-s.x;y=t.y-s.y;if(l=x*x+y*y){l=alpha*strengths[i]*((l=Math.sqrt(l))-distances[i])/l;x*=l;y*=l;t.x-=x*(k=s.weight/(t.weight+s.weight));t.y-=y*k;s.x+=x*(k=1-k);s.y+=y*k}}if(k=alpha*gravity){x=size[0]/2;y=size[1]/2;i=-1;if(k)while(++i<n){o=nodes[i];o.x+=(x-o.x)*k;o.y+=(y-o.y)*k}}if(charge){d3_layout_forceAccumulate(q=d3.geom.quadtree(nodes),alpha,charges);i=-1;while(++i<n){if(!(o=nodes[i]).fixed){q.visit(repulse(o))}}}i=-1;while(++i<n){o=nodes[i];if(o.fixed){o.x=o.px;o.y=o.py}else{o.x-=(o.px-(o.px=o.x))*friction;o.y-=(o.py-(o.py=o.y))*friction}}event.tick({type:"tick",alpha:alpha})};force.nodes=function(x){if(!arguments.length)return nodes;nodes=x;return force};force.links=function(x){if(!arguments.length)return links;links=x;return force};force.size=function(x){if(!arguments.length)return size;size=x;return force};force.linkDistance=function(x){if(!arguments.length)return linkDistance;linkDistance=typeof x==="function"?x:+x;return force};force.distance=force.linkDistance;force.linkStrength=function(x){if(!arguments.length)return linkStrength;linkStrength=typeof x==="function"?x:+x;return force};force.friction=function(x){if(!arguments.length)return friction;friction=+x;return force};force.charge=function(x){if(!arguments.length)return charge;charge=typeof x==="function"?x:+x;return force};force.chargeDistance=function(x){if(!arguments.length)return Math.sqrt(chargeDistance2);chargeDistance2=x*x;return force};force.gravity=function(x){if(!arguments.length)return gravity;gravity=+x;return force};force.theta=function(x){if(!arguments.length)return Math.sqrt(theta2);theta2=x*x;return force};force.alpha=function(x){if(!arguments.length)return alpha;x=+x;if(alpha){if(x>0)alpha=x;else alpha=0}else if(x>0){event.start({type:"start",alpha:alpha=x});d3.timer(force.tick)}return force};force.start=function(){var i,n=nodes.length,m=links.length,w=size[0],h=size[1],neighbors,o;for(i=0;i<n;++i){(o=nodes[i]).index=i;o.weight=0}for(i=0;i<m;++i){o=links[i];if(typeof o.source=="number")o.source=nodes[o.source];if(typeof o.target=="number")o.target=nodes[o.target];++o.source.weight;++o.target.weight}for(i=0;i<n;++i){o=nodes[i];if(isNaN(o.x))o.x=position("x",w);if(isNaN(o.y))o.y=position("y",h);if(isNaN(o.px))o.px=o.x;if(isNaN(o.py))o.py=o.y}distances=[];if(typeof linkDistance==="function")for(i=0;i<m;++i)distances[i]=+linkDistance.call(this,links[i],i);else for(i=0;i<m;++i)distances[i]=linkDistance;strengths=[];if(typeof linkStrength==="function")for(i=0;i<m;++i)strengths[i]=+linkStrength.call(this,links[i],i);else for(i=0;i<m;++i)strengths[i]=linkStrength;charges=[];if(typeof charge==="function")for(i=0;i<n;++i)charges[i]=+charge.call(this,nodes[i],i);else for(i=0;i<n;++i)charges[i]=charge;function position(dimension,size){if(!neighbors){neighbors=new Array(n);for(j=0;j<n;++j){neighbors[j]=[]}for(j=0;j<m;++j){var o=links[j];neighbors[o.source.index].push(o.target);neighbors[o.target.index].push(o.source)}}var candidates=neighbors[i],j=-1,l=candidates.length,x;while(++j<l)if(!isNaN(x=candidates[j][dimension]))return x;return Math.random()*size}return force.resume()};force.resume=function(){return force.alpha(.1)};force.stop=function(){return force.alpha(0)};force.drag=function(){if(!drag)drag=d3.behavior.drag().origin(d3_identity).on("dragstart.force",d3_layout_forceDragstart).on("drag.force",dragmove).on("dragend.force",d3_layout_forceDragend);if(!arguments.length)return drag;this.on("mouseover.force",d3_layout_forceMouseover).on("mouseout.force",d3_layout_forceMouseout).call(drag)};function dragmove(d){d.px=d3.event.x,d.py=d3.event.y;force.resume()}return d3.rebind(force,event,"on")};function d3_layout_forceDragstart(d){d.fixed|=2}function d3_layout_forceDragend(d){d.fixed&=~6}function d3_layout_forceMouseover(d){d.fixed|=4;d.px=d.x,d.py=d.y}function d3_layout_forceMouseout(d){d.fixed&=~4}function d3_layout_forceAccumulate(quad,alpha,charges){var cx=0,cy=0;quad.charge=0;if(!quad.leaf){var nodes=quad.nodes,n=nodes.length,i=-1,c;while(++i<n){c=nodes[i];if(c==null)continue;d3_layout_forceAccumulate(c,alpha,charges);quad.charge+=c.charge;cx+=c.charge*c.cx;cy+=c.charge*c.cy}}if(quad.point){if(!quad.leaf){quad.point.x+=Math.random()-.5;quad.point.y+=Math.random()-.5}var k=alpha*charges[quad.point.index];quad.charge+=quad.pointCharge=k;cx+=k*quad.point.x;cy+=k*quad.point.y}quad.cx=cx/quad.charge;quad.cy=cy/quad.charge}var d3_layout_forceLinkDistance=20,d3_layout_forceLinkStrength=1,d3_layout_forceChargeDistance2=Infinity;d3.layout.hierarchy=function(){var sort=d3_layout_hierarchySort,children=d3_layout_hierarchyChildren,value=d3_layout_hierarchyValue;function hierarchy(root){var stack=[root],nodes=[],node;root.depth=0;while((node=stack.pop())!=null){nodes.push(node);if((childs=children.call(hierarchy,node,node.depth))&&(n=childs.length)){var n,childs,child;while(--n>=0){stack.push(child=childs[n]);child.parent=node;child.depth=node.depth+1}if(value)node.value=0;node.children=childs}else{if(value)node.value=+value.call(hierarchy,node,node.depth)||0;delete node.children}}d3_layout_hierarchyVisitAfter(root,function(node){var childs,parent;if(sort&&(childs=node.children))childs.sort(sort);if(value&&(parent=node.parent))parent.value+=node.value});return nodes}hierarchy.sort=function(x){if(!arguments.length)return sort;sort=x;return hierarchy};hierarchy.children=function(x){if(!arguments.length)return children;children=x;return hierarchy};hierarchy.value=function(x){if(!arguments.length)return value;value=x;return hierarchy};hierarchy.revalue=function(root){if(value){d3_layout_hierarchyVisitBefore(root,function(node){if(node.children)node.value=0
+});d3_layout_hierarchyVisitAfter(root,function(node){var parent;if(!node.children)node.value=+value.call(hierarchy,node,node.depth)||0;if(parent=node.parent)parent.value+=node.value})}return root};return hierarchy};function d3_layout_hierarchyRebind(object,hierarchy){d3.rebind(object,hierarchy,"sort","children","value");object.nodes=object;object.links=d3_layout_hierarchyLinks;return object}function d3_layout_hierarchyVisitBefore(node,callback){var nodes=[node];while((node=nodes.pop())!=null){callback(node);if((children=node.children)&&(n=children.length)){var n,children;while(--n>=0)nodes.push(children[n])}}}function d3_layout_hierarchyVisitAfter(node,callback){var nodes=[node],nodes2=[];while((node=nodes.pop())!=null){nodes2.push(node);if((children=node.children)&&(n=children.length)){var i=-1,n,children;while(++i<n)nodes.push(children[i])}}while((node=nodes2.pop())!=null){callback(node)}}function d3_layout_hierarchyChildren(d){return d.children}function d3_layout_hierarchyValue(d){return d.value}function d3_layout_hierarchySort(a,b){return b.value-a.value}function d3_layout_hierarchyLinks(nodes){return d3.merge(nodes.map(function(parent){return(parent.children||[]).map(function(child){return{source:parent,target:child}})}))}d3.layout.partition=function(){var hierarchy=d3.layout.hierarchy(),size=[1,1];function position(node,x,dx,dy){var children=node.children;node.x=x;node.y=node.depth*dy;node.dx=dx;node.dy=dy;if(children&&(n=children.length)){var i=-1,n,c,d;dx=node.value?dx/node.value:0;while(++i<n){position(c=children[i],x,d=c.value*dx,dy);x+=d}}}function depth(node){var children=node.children,d=0;if(children&&(n=children.length)){var i=-1,n;while(++i<n)d=Math.max(d,depth(children[i]))}return 1+d}function partition(d,i){var nodes=hierarchy.call(this,d,i);position(nodes[0],0,size[0],size[1]/depth(nodes[0]));return nodes}partition.size=function(x){if(!arguments.length)return size;size=x;return partition};return d3_layout_hierarchyRebind(partition,hierarchy)};d3.layout.pie=function(){var value=Number,sort=d3_layout_pieSortByValue,startAngle=0,endAngle=τ,padAngle=0;function pie(data){var n=data.length,values=data.map(function(d,i){return+value.call(pie,d,i)}),a=+(typeof startAngle==="function"?startAngle.apply(this,arguments):startAngle),da=(typeof endAngle==="function"?endAngle.apply(this,arguments):endAngle)-a,p=Math.min(Math.abs(da)/n,+(typeof padAngle==="function"?padAngle.apply(this,arguments):padAngle)),pa=p*(da<0?-1:1),k=(da-n*pa)/d3.sum(values),index=d3.range(n),arcs=[],v;if(sort!=null)index.sort(sort===d3_layout_pieSortByValue?function(i,j){return values[j]-values[i]}:function(i,j){return sort(data[i],data[j])});index.forEach(function(i){arcs[i]={data:data[i],value:v=values[i],startAngle:a,endAngle:a+=v*k+pa,padAngle:p}});return arcs}pie.value=function(_){if(!arguments.length)return value;value=_;return pie};pie.sort=function(_){if(!arguments.length)return sort;sort=_;return pie};pie.startAngle=function(_){if(!arguments.length)return startAngle;startAngle=_;return pie};pie.endAngle=function(_){if(!arguments.length)return endAngle;endAngle=_;return pie};pie.padAngle=function(_){if(!arguments.length)return padAngle;padAngle=_;return pie};return pie};var d3_layout_pieSortByValue={};d3.layout.stack=function(){var values=d3_identity,order=d3_layout_stackOrderDefault,offset=d3_layout_stackOffsetZero,out=d3_layout_stackOut,x=d3_layout_stackX,y=d3_layout_stackY;function stack(data,index){if(!(n=data.length))return data;var series=data.map(function(d,i){return values.call(stack,d,i)});var points=series.map(function(d){return d.map(function(v,i){return[x.call(stack,v,i),y.call(stack,v,i)]})});var orders=order.call(stack,points,index);series=d3.permute(series,orders);points=d3.permute(points,orders);var offsets=offset.call(stack,points,index);var m=series[0].length,n,i,j,o;for(j=0;j<m;++j){out.call(stack,series[0][j],o=offsets[j],points[0][j][1]);for(i=1;i<n;++i){out.call(stack,series[i][j],o+=points[i-1][j][1],points[i][j][1])}}return data}stack.values=function(x){if(!arguments.length)return values;values=x;return stack};stack.order=function(x){if(!arguments.length)return order;order=typeof x==="function"?x:d3_layout_stackOrders.get(x)||d3_layout_stackOrderDefault;return stack};stack.offset=function(x){if(!arguments.length)return offset;offset=typeof x==="function"?x:d3_layout_stackOffsets.get(x)||d3_layout_stackOffsetZero;return stack};stack.x=function(z){if(!arguments.length)return x;x=z;return stack};stack.y=function(z){if(!arguments.length)return y;y=z;return stack};stack.out=function(z){if(!arguments.length)return out;out=z;return stack};return stack};function d3_layout_stackX(d){return d.x}function d3_layout_stackY(d){return d.y}function d3_layout_stackOut(d,y0,y){d.y0=y0;d.y=y}var d3_layout_stackOrders=d3.map({"inside-out":function(data){var n=data.length,i,j,max=data.map(d3_layout_stackMaxIndex),sums=data.map(d3_layout_stackReduceSum),index=d3.range(n).sort(function(a,b){return max[a]-max[b]}),top=0,bottom=0,tops=[],bottoms=[];for(i=0;i<n;++i){j=index[i];if(top<bottom){top+=sums[j];tops.push(j)}else{bottom+=sums[j];bottoms.push(j)}}return bottoms.reverse().concat(tops)},reverse:function(data){return d3.range(data.length).reverse()},"default":d3_layout_stackOrderDefault});var d3_layout_stackOffsets=d3.map({silhouette:function(data){var n=data.length,m=data[0].length,sums=[],max=0,i,j,o,y0=[];for(j=0;j<m;++j){for(i=0,o=0;i<n;i++)o+=data[i][j][1];if(o>max)max=o;sums.push(o)}for(j=0;j<m;++j){y0[j]=(max-sums[j])/2}return y0},wiggle:function(data){var n=data.length,x=data[0],m=x.length,i,j,k,s1,s2,s3,dx,o,o0,y0=[];y0[0]=o=o0=0;for(j=1;j<m;++j){for(i=0,s1=0;i<n;++i)s1+=data[i][j][1];for(i=0,s2=0,dx=x[j][0]-x[j-1][0];i<n;++i){for(k=0,s3=(data[i][j][1]-data[i][j-1][1])/(2*dx);k<i;++k){s3+=(data[k][j][1]-data[k][j-1][1])/dx}s2+=s3*data[i][j][1]}y0[j]=o-=s1?s2/s1*dx:0;if(o<o0)o0=o}for(j=0;j<m;++j)y0[j]-=o0;return y0},expand:function(data){var n=data.length,m=data[0].length,k=1/n,i,j,o,y0=[];for(j=0;j<m;++j){for(i=0,o=0;i<n;i++)o+=data[i][j][1];if(o)for(i=0;i<n;i++)data[i][j][1]/=o;else for(i=0;i<n;i++)data[i][j][1]=k}for(j=0;j<m;++j)y0[j]=0;return y0},zero:d3_layout_stackOffsetZero});function d3_layout_stackOrderDefault(data){return d3.range(data.length)}function d3_layout_stackOffsetZero(data){var j=-1,m=data[0].length,y0=[];while(++j<m)y0[j]=0;return y0}function d3_layout_stackMaxIndex(array){var i=1,j=0,v=array[0][1],k,n=array.length;for(;i<n;++i){if((k=array[i][1])>v){j=i;v=k}}return j}function d3_layout_stackReduceSum(d){return d.reduce(d3_layout_stackSum,0)}function d3_layout_stackSum(p,d){return p+d[1]}d3.layout.histogram=function(){var frequency=true,valuer=Number,ranger=d3_layout_histogramRange,binner=d3_layout_histogramBinSturges;function histogram(data,i){var bins=[],values=data.map(valuer,this),range=ranger.call(this,values,i),thresholds=binner.call(this,range,values,i),bin,i=-1,n=values.length,m=thresholds.length-1,k=frequency?1:1/n,x;while(++i<m){bin=bins[i]=[];bin.dx=thresholds[i+1]-(bin.x=thresholds[i]);bin.y=0}if(m>0){i=-1;while(++i<n){x=values[i];if(x>=range[0]&&x<=range[1]){bin=bins[d3.bisect(thresholds,x,1,m)-1];bin.y+=k;bin.push(data[i])}}}return bins}histogram.value=function(x){if(!arguments.length)return valuer;valuer=x;return histogram};histogram.range=function(x){if(!arguments.length)return ranger;ranger=d3_functor(x);return histogram};histogram.bins=function(x){if(!arguments.length)return binner;binner=typeof x==="number"?function(range){return d3_layout_histogramBinFixed(range,x)}:d3_functor(x);return histogram};histogram.frequency=function(x){if(!arguments.length)return frequency;frequency=!!x;return histogram};return histogram};function d3_layout_histogramBinSturges(range,values){return d3_layout_histogramBinFixed(range,Math.ceil(Math.log(values.length)/Math.LN2+1))}function d3_layout_histogramBinFixed(range,n){var x=-1,b=+range[0],m=(range[1]-b)/n,f=[];while(++x<=n)f[x]=m*x+b;return f}function d3_layout_histogramRange(values){return[d3.min(values),d3.max(values)]}d3.layout.pack=function(){var hierarchy=d3.layout.hierarchy().sort(d3_layout_packSort),padding=0,size=[1,1],radius;function pack(d,i){var nodes=hierarchy.call(this,d,i),root=nodes[0],w=size[0],h=size[1],r=radius==null?Math.sqrt:typeof radius==="function"?radius:function(){return radius};root.x=root.y=0;d3_layout_hierarchyVisitAfter(root,function(d){d.r=+r(d.value)});d3_layout_hierarchyVisitAfter(root,d3_layout_packSiblings);if(padding){var dr=padding*(radius?1:Math.max(2*root.r/w,2*root.r/h))/2;d3_layout_hierarchyVisitAfter(root,function(d){d.r+=dr});d3_layout_hierarchyVisitAfter(root,d3_layout_packSiblings);d3_layout_hierarchyVisitAfter(root,function(d){d.r-=dr})}d3_layout_packTransform(root,w/2,h/2,radius?1:1/Math.max(2*root.r/w,2*root.r/h));return nodes}pack.size=function(_){if(!arguments.length)return size;size=_;return pack};pack.radius=function(_){if(!arguments.length)return radius;radius=_==null||typeof _==="function"?_:+_;return pack};pack.padding=function(_){if(!arguments.length)return padding;padding=+_;return pack};return d3_layout_hierarchyRebind(pack,hierarchy)};function d3_layout_packSort(a,b){return a.value-b.value}function d3_layout_packInsert(a,b){var c=a._pack_next;a._pack_next=b;b._pack_prev=a;b._pack_next=c;c._pack_prev=b}function d3_layout_packSplice(a,b){a._pack_next=b;b._pack_prev=a}function d3_layout_packIntersects(a,b){var dx=b.x-a.x,dy=b.y-a.y,dr=a.r+b.r;return.999*dr*dr>dx*dx+dy*dy}function d3_layout_packSiblings(node){if(!(nodes=node.children)||!(n=nodes.length))return;var nodes,xMin=Infinity,xMax=-Infinity,yMin=Infinity,yMax=-Infinity,a,b,c,i,j,k,n;function bound(node){xMin=Math.min(node.x-node.r,xMin);xMax=Math.max(node.x+node.r,xMax);yMin=Math.min(node.y-node.r,yMin);yMax=Math.max(node.y+node.r,yMax)}nodes.forEach(d3_layout_packLink);a=nodes[0];a.x=-a.r;a.y=0;bound(a);if(n>1){b=nodes[1];b.x=b.r;b.y=0;bound(b);if(n>2){c=nodes[2];d3_layout_packPlace(a,b,c);bound(c);d3_layout_packInsert(a,c);a._pack_prev=c;d3_layout_packInsert(c,b);b=a._pack_next;for(i=3;i<n;i++){d3_layout_packPlace(a,b,c=nodes[i]);var isect=0,s1=1,s2=1;for(j=b._pack_next;j!==b;j=j._pack_next,s1++){if(d3_layout_packIntersects(j,c)){isect=1;break}}if(isect==1){for(k=a._pack_prev;k!==j._pack_prev;k=k._pack_prev,s2++){if(d3_layout_packIntersects(k,c)){break}}}if(isect){if(s1<s2||s1==s2&&b.r<a.r)d3_layout_packSplice(a,b=j);else d3_layout_packSplice(a=k,b);i--}else{d3_layout_packInsert(a,c);b=c;bound(c)}}}}var cx=(xMin+xMax)/2,cy=(yMin+yMax)/2,cr=0;for(i=0;i<n;i++){c=nodes[i];c.x-=cx;c.y-=cy;cr=Math.max(cr,c.r+Math.sqrt(c.x*c.x+c.y*c.y))}node.r=cr;nodes.forEach(d3_layout_packUnlink)}function d3_layout_packLink(node){node._pack_next=node._pack_prev=node}function d3_layout_packUnlink(node){delete node._pack_next;delete node._pack_prev}function d3_layout_packTransform(node,x,y,k){var children=node.children;node.x=x+=k*node.x;node.y=y+=k*node.y;node.r*=k;if(children){var i=-1,n=children.length;while(++i<n)d3_layout_packTransform(children[i],x,y,k)}}function d3_layout_packPlace(a,b,c){var db=a.r+c.r,dx=b.x-a.x,dy=b.y-a.y;if(db&&(dx||dy)){var da=b.r+c.r,dc=dx*dx+dy*dy;da*=da;db*=db;var x=.5+(db-da)/(2*dc),y=Math.sqrt(Math.max(0,2*da*(db+dc)-(db-=dc)*db-da*da))/(2*dc);c.x=a.x+x*dx+y*dy;c.y=a.y+x*dy-y*dx}else{c.x=a.x+db;c.y=a.y}}d3.layout.tree=function(){var hierarchy=d3.layout.hierarchy().sort(null).value(null),separation=d3_layout_treeSeparation,size=[1,1],nodeSize=null;function tree(d,i){var nodes=hierarchy.call(this,d,i),root0=nodes[0],root1=wrapTree(root0);d3_layout_hierarchyVisitAfter(root1,firstWalk),root1.parent.m=-root1.z;d3_layout_hierarchyVisitBefore(root1,secondWalk);if(nodeSize)d3_layout_hierarchyVisitBefore(root0,sizeNode);else{var left=root0,right=root0,bottom=root0;d3_layout_hierarchyVisitBefore(root0,function(node){if(node.x<left.x)left=node;if(node.x>right.x)right=node;if(node.depth>bottom.depth)bottom=node});var tx=separation(left,right)/2-left.x,kx=size[0]/(right.x+separation(right,left)/2+tx),ky=size[1]/(bottom.depth||1);d3_layout_hierarchyVisitBefore(root0,function(node){node.x=(node.x+tx)*kx;node.y=node.depth*ky})}return nodes}function wrapTree(root0){var root1={A:null,children:[root0]},queue=[root1],node1;while((node1=queue.pop())!=null){for(var children=node1.children,child,i=0,n=children.length;i<n;++i){queue.push((children[i]=child={_:children[i],parent:node1,children:(child=children[i].children)&&child.slice()||[],A:null,a:null,z:0,m:0,c:0,s:0,t:null,i:i}).a=child)}}return root1.children[0]}function firstWalk(v){var children=v.children,siblings=v.parent.children,w=v.i?siblings[v.i-1]:null;if(children.length){d3_layout_treeShift(v);var midpoint=(children[0].z+children[children.length-1].z)/2;if(w){v.z=w.z+separation(v._,w._);v.m=v.z-midpoint}else{v.z=midpoint}}else if(w){v.z=w.z+separation(v._,w._)}v.parent.A=apportion(v,w,v.parent.A||siblings[0])}function secondWalk(v){v._.x=v.z+v.parent.m;v.m+=v.parent.m}function apportion(v,w,ancestor){if(w){var vip=v,vop=v,vim=w,vom=vip.parent.children[0],sip=vip.m,sop=vop.m,sim=vim.m,som=vom.m,shift;while(vim=d3_layout_treeRight(vim),vip=d3_layout_treeLeft(vip),vim&&vip){vom=d3_layout_treeLeft(vom);vop=d3_layout_treeRight(vop);vop.a=v;shift=vim.z+sim-vip.z-sip+separation(vim._,vip._);if(shift>0){d3_layout_treeMove(d3_layout_treeAncestor(vim,v,ancestor),v,shift);sip+=shift;sop+=shift}sim+=vim.m;sip+=vip.m;som+=vom.m;sop+=vop.m}if(vim&&!d3_layout_treeRight(vop)){vop.t=vim;vop.m+=sim-sop}if(vip&&!d3_layout_treeLeft(vom)){vom.t=vip;vom.m+=sip-som;ancestor=v}}return ancestor}function sizeNode(node){node.x*=size[0];node.y=node.depth*size[1]}tree.separation=function(x){if(!arguments.length)return separation;separation=x;return tree};tree.size=function(x){if(!arguments.length)return nodeSize?null:size;nodeSize=(size=x)==null?sizeNode:null;return tree};tree.nodeSize=function(x){if(!arguments.length)return nodeSize?size:null;nodeSize=(size=x)==null?null:sizeNode;return tree};return d3_layout_hierarchyRebind(tree,hierarchy)};function d3_layout_treeSeparation(a,b){return a.parent==b.parent?1:2}function d3_layout_treeLeft(v){var children=v.children;return children.length?children[0]:v.t}function d3_layout_treeRight(v){var children=v.children,n;return(n=children.length)?children[n-1]:v.t}function d3_layout_treeMove(wm,wp,shift){var change=shift/(wp.i-wm.i);wp.c-=change;wp.s+=shift;wm.c+=change;wp.z+=shift;wp.m+=shift}function d3_layout_treeShift(v){var shift=0,change=0,children=v.children,i=children.length,w;while(--i>=0){w=children[i];w.z+=shift;w.m+=shift;shift+=w.s+(change+=w.c)}}function d3_layout_treeAncestor(vim,v,ancestor){return vim.a.parent===v.parent?vim.a:ancestor}d3.layout.cluster=function(){var hierarchy=d3.layout.hierarchy().sort(null).value(null),separation=d3_layout_treeSeparation,size=[1,1],nodeSize=false;function cluster(d,i){var nodes=hierarchy.call(this,d,i),root=nodes[0],previousNode,x=0;d3_layout_hierarchyVisitAfter(root,function(node){var children=node.children;if(children&&children.length){node.x=d3_layout_clusterX(children);node.y=d3_layout_clusterY(children)}else{node.x=previousNode?x+=separation(node,previousNode):0;node.y=0;previousNode=node}});var left=d3_layout_clusterLeft(root),right=d3_layout_clusterRight(root),x0=left.x-separation(left,right)/2,x1=right.x+separation(right,left)/2;d3_layout_hierarchyVisitAfter(root,nodeSize?function(node){node.x=(node.x-root.x)*size[0];node.y=(root.y-node.y)*size[1]}:function(node){node.x=(node.x-x0)/(x1-x0)*size[0];node.y=(1-(root.y?node.y/root.y:1))*size[1]});return nodes}cluster.separation=function(x){if(!arguments.length)return separation;separation=x;return cluster};cluster.size=function(x){if(!arguments.length)return nodeSize?null:size;nodeSize=(size=x)==null;return cluster};cluster.nodeSize=function(x){if(!arguments.length)return nodeSize?size:null;nodeSize=(size=x)!=null;return cluster};return d3_layout_hierarchyRebind(cluster,hierarchy)};function d3_layout_clusterY(children){return 1+d3.max(children,function(child){return child.y})}function d3_layout_clusterX(children){return children.reduce(function(x,child){return x+child.x},0)/children.length}function d3_layout_clusterLeft(node){var children=node.children;return children&&children.length?d3_layout_clusterLeft(children[0]):node}function d3_layout_clusterRight(node){var children=node.children,n;return children&&(n=children.length)?d3_layout_clusterRight(children[n-1]):node}d3.layout.treemap=function(){var hierarchy=d3.layout.hierarchy(),round=Math.round,size=[1,1],padding=null,pad=d3_layout_treemapPadNull,sticky=false,stickies,mode="squarify",ratio=.5*(1+Math.sqrt(5));function scale(children,k){var i=-1,n=children.length,child,area;while(++i<n){area=(child=children[i]).value*(k<0?0:k);child.area=isNaN(area)||area<=0?0:area}}function squarify(node){var children=node.children;if(children&&children.length){var rect=pad(node),row=[],remaining=children.slice(),child,best=Infinity,score,u=mode==="slice"?rect.dx:mode==="dice"?rect.dy:mode==="slice-dice"?node.depth&1?rect.dy:rect.dx:Math.min(rect.dx,rect.dy),n;scale(remaining,rect.dx*rect.dy/node.value);row.area=0;while((n=remaining.length)>0){row.push(child=remaining[n-1]);row.area+=child.area;if(mode!=="squarify"||(score=worst(row,u))<=best){remaining.pop();best=score}else{row.area-=row.pop().area;position(row,u,rect,false);u=Math.min(rect.dx,rect.dy);row.length=row.area=0;best=Infinity}}if(row.length){position(row,u,rect,true);row.length=row.area=0}children.forEach(squarify)}}function stickify(node){var children=node.children;if(children&&children.length){var rect=pad(node),remaining=children.slice(),child,row=[];scale(remaining,rect.dx*rect.dy/node.value);row.area=0;while(child=remaining.pop()){row.push(child);row.area+=child.area;if(child.z!=null){position(row,child.z?rect.dx:rect.dy,rect,!remaining.length);row.length=row.area=0}}children.forEach(stickify)}}function worst(row,u){var s=row.area,r,rmax=0,rmin=Infinity,i=-1,n=row.length;while(++i<n){if(!(r=row[i].area))continue;if(r<rmin)rmin=r;if(r>rmax)rmax=r}s*=s;u*=u;return s?Math.max(u*rmax*ratio/s,s/(u*rmin*ratio)):Infinity}function position(row,u,rect,flush){var i=-1,n=row.length,x=rect.x,y=rect.y,v=u?round(row.area/u):0,o;if(u==rect.dx){if(flush||v>rect.dy)v=rect.dy;while(++i<n){o=row[i];o.x=x;o.y=y;o.dy=v;x+=o.dx=Math.min(rect.x+rect.dx-x,v?round(o.area/v):0)}o.z=true;o.dx+=rect.x+rect.dx-x;rect.y+=v;rect.dy-=v}else{if(flush||v>rect.dx)v=rect.dx;while(++i<n){o=row[i];o.x=x;o.y=y;o.dx=v;y+=o.dy=Math.min(rect.y+rect.dy-y,v?round(o.area/v):0)}o.z=false;o.dy+=rect.y+rect.dy-y;rect.x+=v;rect.dx-=v}}function treemap(d){var nodes=stickies||hierarchy(d),root=nodes[0];root.x=0;root.y=0;root.dx=size[0];root.dy=size[1];if(stickies)hierarchy.revalue(root);scale([root],root.dx*root.dy/root.value);(stickies?stickify:squarify)(root);if(sticky)stickies=nodes;return nodes}treemap.size=function(x){if(!arguments.length)return size;size=x;return treemap};treemap.padding=function(x){if(!arguments.length)return padding;function padFunction(node){var p=x.call(treemap,node,node.depth);return p==null?d3_layout_treemapPadNull(node):d3_layout_treemapPad(node,typeof p==="number"?[p,p,p,p]:p)}function padConstant(node){return d3_layout_treemapPad(node,x)}var type;pad=(padding=x)==null?d3_layout_treemapPadNull:(type=typeof x)==="function"?padFunction:type==="number"?(x=[x,x,x,x],padConstant):padConstant;return treemap};treemap.round=function(x){if(!arguments.length)return round!=Number;round=x?Math.round:Number;return treemap};treemap.sticky=function(x){if(!arguments.length)return sticky;sticky=x;stickies=null;return treemap};treemap.ratio=function(x){if(!arguments.length)return ratio;ratio=x;return treemap};treemap.mode=function(x){if(!arguments.length)return mode;mode=x+"";return treemap};return d3_layout_hierarchyRebind(treemap,hierarchy)};function d3_layout_treemapPadNull(node){return{x:node.x,y:node.y,dx:node.dx,dy:node.dy}}function d3_layout_treemapPad(node,padding){var x=node.x+padding[3],y=node.y+padding[0],dx=node.dx-padding[1]-padding[3],dy=node.dy-padding[0]-padding[2];if(dx<0){x+=dx/2;dx=0}if(dy<0){y+=dy/2;dy=0}return{x:x,y:y,dx:dx,dy:dy}}d3.random={normal:function(µ,σ){var n=arguments.length;if(n<2)σ=1;if(n<1)µ=0;return function(){var x,y,r;do{x=Math.random()*2-1;y=Math.random()*2-1;r=x*x+y*y}while(!r||r>1);return µ+σ*x*Math.sqrt(-2*Math.log(r)/r)}},logNormal:function(){var random=d3.random.normal.apply(d3,arguments);return function(){return Math.exp(random())}},bates:function(m){var random=d3.random.irwinHall(m);return function(){return random()/m}},irwinHall:function(m){return function(){for(var s=0,j=0;j<m;j++)s+=Math.random();return s}}};d3.scale={};function d3_scaleExtent(domain){var start=domain[0],stop=domain[domain.length-1];return start<stop?[start,stop]:[stop,start]}function d3_scaleRange(scale){return scale.rangeExtent?scale.rangeExtent():d3_scaleExtent(scale.range())}function d3_scale_bilinear(domain,range,uninterpolate,interpolate){var u=uninterpolate(domain[0],domain[1]),i=interpolate(range[0],range[1]);return function(x){return i(u(x))}}function d3_scale_nice(domain,nice){var i0=0,i1=domain.length-1,x0=domain[i0],x1=domain[i1],dx;if(x1<x0){dx=i0,i0=i1,i1=dx;dx=x0,x0=x1,x1=dx}domain[i0]=nice.floor(x0);domain[i1]=nice.ceil(x1);return domain}function d3_scale_niceStep(step){return step?{floor:function(x){return Math.floor(x/step)*step},ceil:function(x){return Math.ceil(x/step)*step}}:d3_scale_niceIdentity}var d3_scale_niceIdentity={floor:d3_identity,ceil:d3_identity};function d3_scale_polylinear(domain,range,uninterpolate,interpolate){var u=[],i=[],j=0,k=Math.min(domain.length,range.length)-1;if(domain[k]<domain[0]){domain=domain.slice().reverse();range=range.slice().reverse()}while(++j<=k){u.push(uninterpolate(domain[j-1],domain[j]));i.push(interpolate(range[j-1],range[j]))}return function(x){var j=d3.bisect(domain,x,1,k)-1;return i[j](u[j](x))}}d3.scale.linear=function(){return d3_scale_linear([0,1],[0,1],d3_interpolate,false)};function d3_scale_linear(domain,range,interpolate,clamp){var output,input;function rescale(){var linear=Math.min(domain.length,range.length)>2?d3_scale_polylinear:d3_scale_bilinear,uninterpolate=clamp?d3_uninterpolateClamp:d3_uninterpolateNumber;output=linear(domain,range,uninterpolate,interpolate);input=linear(range,domain,uninterpolate,d3_interpolate);return scale}function scale(x){return output(x)}scale.invert=function(y){return input(y)};scale.domain=function(x){if(!arguments.length)return domain;domain=x.map(Number);return rescale()};scale.range=function(x){if(!arguments.length)return range;range=x;return rescale()};scale.rangeRound=function(x){return scale.range(x).interpolate(d3_interpolateRound)};scale.clamp=function(x){if(!arguments.length)return clamp;clamp=x;return rescale()};scale.interpolate=function(x){if(!arguments.length)return interpolate;interpolate=x;return rescale()};scale.ticks=function(m){return d3_scale_linearTicks(domain,m)};scale.tickFormat=function(m,format){return d3_scale_linearTickFormat(domain,m,format)};scale.nice=function(m){d3_scale_linearNice(domain,m);return rescale()};scale.copy=function(){return d3_scale_linear(domain,range,interpolate,clamp)};return rescale()}function d3_scale_linearRebind(scale,linear){return d3.rebind(scale,linear,"range","rangeRound","interpolate","clamp")}function d3_scale_linearNice(domain,m){return d3_scale_nice(domain,d3_scale_niceStep(d3_scale_linearTickRange(domain,m)[2]))}function d3_scale_linearTickRange(domain,m){if(m==null)m=10;var extent=d3_scaleExtent(domain),span=extent[1]-extent[0],step=Math.pow(10,Math.floor(Math.log(span/m)/Math.LN10)),err=m/span*step;if(err<=.15)step*=10;else if(err<=.35)step*=5;else if(err<=.75)step*=2;extent[0]=Math.ceil(extent[0]/step)*step;extent[1]=Math.floor(extent[1]/step)*step+step*.5;extent[2]=step;return extent}function d3_scale_linearTicks(domain,m){return d3.range.apply(d3,d3_scale_linearTickRange(domain,m))}function d3_scale_linearTickFormat(domain,m,format){var range=d3_scale_linearTickRange(domain,m);if(format){var match=d3_format_re.exec(format);match.shift();if(match[8]==="s"){var prefix=d3.formatPrefix(Math.max(abs(range[0]),abs(range[1])));if(!match[7])match[7]="."+d3_scale_linearPrecision(prefix.scale(range[2]));match[8]="f";format=d3.format(match.join(""));return function(d){return format(prefix.scale(d))+prefix.symbol}}if(!match[7])match[7]="."+d3_scale_linearFormatPrecision(match[8],range);format=match.join("")}else{format=",."+d3_scale_linearPrecision(range[2])+"f"}return d3.format(format)}var d3_scale_linearFormatSignificant={s:1,g:1,p:1,r:1,e:1};function d3_scale_linearPrecision(value){return-Math.floor(Math.log(value)/Math.LN10+.01)}function d3_scale_linearFormatPrecision(type,range){var p=d3_scale_linearPrecision(range[2]);return type in d3_scale_linearFormatSignificant?Math.abs(p-d3_scale_linearPrecision(Math.max(abs(range[0]),abs(range[1]))))+ +(type!=="e"):p-(type==="%")*2}d3.scale.log=function(){return d3_scale_log(d3.scale.linear().domain([0,1]),10,true,[1,10])};function d3_scale_log(linear,base,positive,domain){function log(x){return(positive?Math.log(x<0?0:x):-Math.log(x>0?0:-x))/Math.log(base)}function pow(x){return positive?Math.pow(base,x):-Math.pow(base,-x)}function scale(x){return linear(log(x))}scale.invert=function(x){return pow(linear.invert(x))};scale.domain=function(x){if(!arguments.length)return domain;positive=x[0]>=0;linear.domain((domain=x.map(Number)).map(log));return scale};scale.base=function(_){if(!arguments.length)return base;base=+_;linear.domain(domain.map(log));return scale};scale.nice=function(){var niced=d3_scale_nice(domain.map(log),positive?Math:d3_scale_logNiceNegative);linear.domain(niced);domain=niced.map(pow);return scale};scale.ticks=function(){var extent=d3_scaleExtent(domain),ticks=[],u=extent[0],v=extent[1],i=Math.floor(log(u)),j=Math.ceil(log(v)),n=base%1?2:base;if(isFinite(j-i)){if(positive){for(;i<j;i++)for(var k=1;k<n;k++)ticks.push(pow(i)*k);ticks.push(pow(i))}else{ticks.push(pow(i));for(;i++<j;)for(var k=n-1;k>0;k--)ticks.push(pow(i)*k)}for(i=0;ticks[i]<u;i++){}for(j=ticks.length;ticks[j-1]>v;j--){}ticks=ticks.slice(i,j)}return ticks};scale.tickFormat=function(n,format){if(!arguments.length)return d3_scale_logFormat;if(arguments.length<2)format=d3_scale_logFormat;else if(typeof format!=="function")format=d3.format(format);var k=Math.max(.1,n/scale.ticks().length),f=positive?(e=1e-12,Math.ceil):(e=-1e-12,Math.floor),e;return function(d){return d/pow(f(log(d)+e))<=k?format(d):""}};scale.copy=function(){return d3_scale_log(linear.copy(),base,positive,domain)};return d3_scale_linearRebind(scale,linear)}var d3_scale_logFormat=d3.format(".0e"),d3_scale_logNiceNegative={floor:function(x){return-Math.ceil(-x)},ceil:function(x){return-Math.floor(-x)}};d3.scale.pow=function(){return d3_scale_pow(d3.scale.linear(),1,[0,1])};function d3_scale_pow(linear,exponent,domain){var powp=d3_scale_powPow(exponent),powb=d3_scale_powPow(1/exponent);function scale(x){return linear(powp(x))}scale.invert=function(x){return powb(linear.invert(x))};scale.domain=function(x){if(!arguments.length)return domain;linear.domain((domain=x.map(Number)).map(powp));return scale};scale.ticks=function(m){return d3_scale_linearTicks(domain,m)};scale.tickFormat=function(m,format){return d3_scale_linearTickFormat(domain,m,format)};scale.nice=function(m){return scale.domain(d3_scale_linearNice(domain,m))};scale.exponent=function(x){if(!arguments.length)return exponent;powp=d3_scale_powPow(exponent=x);powb=d3_scale_powPow(1/exponent);linear.domain(domain.map(powp));return scale};scale.copy=function(){return d3_scale_pow(linear.copy(),exponent,domain)};return d3_scale_linearRebind(scale,linear)}function d3_scale_powPow(e){return function(x){return x<0?-Math.pow(-x,e):Math.pow(x,e)}}d3.scale.sqrt=function(){return d3.scale.pow().exponent(.5)};d3.scale.ordinal=function(){return d3_scale_ordinal([],{t:"range",a:[[]]})};function d3_scale_ordinal(domain,ranger){var index,range,rangeBand;function scale(x){return range[((index.get(x)||(ranger.t==="range"?index.set(x,domain.push(x)):NaN))-1)%range.length]}function steps(start,step){return d3.range(domain.length).map(function(i){return start+step*i})}scale.domain=function(x){if(!arguments.length)return domain;domain=[];index=new d3_Map;var i=-1,n=x.length,xi;while(++i<n)if(!index.has(xi=x[i]))index.set(xi,domain.push(xi));return scale[ranger.t].apply(scale,ranger.a)};scale.range=function(x){if(!arguments.length)return range;range=x;rangeBand=0;ranger={t:"range",a:arguments};return scale};scale.rangePoints=function(x,padding){if(arguments.length<2)padding=0;var start=x[0],stop=x[1],step=domain.length<2?(start=(start+stop)/2,0):(stop-start)/(domain.length-1+padding);range=steps(start+step*padding/2,step);rangeBand=0;ranger={t:"rangePoints",a:arguments};return scale};scale.rangeRoundPoints=function(x,padding){if(arguments.length<2)padding=0;var start=x[0],stop=x[1],step=domain.length<2?(start=stop=Math.round((start+stop)/2),0):(stop-start)/(domain.length-1+padding)|0;range=steps(start+Math.round(step*padding/2+(stop-start-(domain.length-1+padding)*step)/2),step);rangeBand=0;ranger={t:"rangeRoundPoints",a:arguments};return scale};scale.rangeBands=function(x,padding,outerPadding){if(arguments.length<2)padding=0;if(arguments.length<3)outerPadding=padding;var reverse=x[1]<x[0],start=x[reverse-0],stop=x[1-reverse],step=(stop-start)/(domain.length-padding+2*outerPadding);range=steps(start+step*outerPadding,step);if(reverse)range.reverse();rangeBand=step*(1-padding);ranger={t:"rangeBands",a:arguments};return scale};scale.rangeRoundBands=function(x,padding,outerPadding){if(arguments.length<2)padding=0;if(arguments.length<3)outerPadding=padding;var reverse=x[1]<x[0],start=x[reverse-0],stop=x[1-reverse],step=Math.floor((stop-start)/(domain.length-padding+2*outerPadding));range=steps(start+Math.round((stop-start-(domain.length-padding)*step)/2),step);if(reverse)range.reverse();rangeBand=Math.round(step*(1-padding));ranger={t:"rangeRoundBands",a:arguments};return scale};scale.rangeBand=function(){return rangeBand};scale.rangeExtent=function(){return d3_scaleExtent(ranger.a[0])};scale.copy=function(){return d3_scale_ordinal(domain,ranger)};return scale.domain(domain)}d3.scale.category10=function(){return d3.scale.ordinal().range(d3_category10)};d3.scale.category20=function(){return d3.scale.ordinal().range(d3_category20)};d3.scale.category20b=function(){return d3.scale.ordinal().range(d3_category20b)};d3.scale.category20c=function(){return d3.scale.ordinal().range(d3_category20c)};var d3_category10=[2062260,16744206,2924588,14034728,9725885,9197131,14907330,8355711,12369186,1556175].map(d3_rgbString);var d3_category20=[2062260,11454440,16744206,16759672,2924588,10018698,14034728,16750742,9725885,12955861,9197131,12885140,14907330,16234194,8355711,13092807,12369186,14408589,1556175,10410725].map(d3_rgbString);var d3_category20b=[3750777,5395619,7040719,10264286,6519097,9216594,11915115,13556636,9202993,12426809,15186514,15190932,8666169,11356490,14049643,15177372,8077683,10834324,13528509,14589654].map(d3_rgbString);var d3_category20c=[3244733,7057110,10406625,13032431,15095053,16616764,16625259,16634018,3253076,7652470,10607003,13101504,7695281,10394312,12369372,14342891,6513507,9868950,12434877,14277081].map(d3_rgbString);d3.scale.quantile=function(){return d3_scale_quantile([],[])};function d3_scale_quantile(domain,range){var thresholds;function rescale(){var k=0,q=range.length;thresholds=[];while(++k<q)thresholds[k-1]=d3.quantile(domain,k/q);return scale}function scale(x){if(!isNaN(x=+x))return range[d3.bisect(thresholds,x)]}scale.domain=function(x){if(!arguments.length)return domain;domain=x.map(d3_number).filter(d3_numeric).sort(d3_ascending);return rescale()};scale.range=function(x){if(!arguments.length)return range;range=x;return rescale()};scale.quantiles=function(){return thresholds};scale.invertExtent=function(y){y=range.indexOf(y);return y<0?[NaN,NaN]:[y>0?thresholds[y-1]:domain[0],y<thresholds.length?thresholds[y]:domain[domain.length-1]]
+};scale.copy=function(){return d3_scale_quantile(domain,range)};return rescale()}d3.scale.quantize=function(){return d3_scale_quantize(0,1,[0,1])};function d3_scale_quantize(x0,x1,range){var kx,i;function scale(x){return range[Math.max(0,Math.min(i,Math.floor(kx*(x-x0))))]}function rescale(){kx=range.length/(x1-x0);i=range.length-1;return scale}scale.domain=function(x){if(!arguments.length)return[x0,x1];x0=+x[0];x1=+x[x.length-1];return rescale()};scale.range=function(x){if(!arguments.length)return range;range=x;return rescale()};scale.invertExtent=function(y){y=range.indexOf(y);y=y<0?NaN:y/kx+x0;return[y,y+1/kx]};scale.copy=function(){return d3_scale_quantize(x0,x1,range)};return rescale()}d3.scale.threshold=function(){return d3_scale_threshold([.5],[0,1])};function d3_scale_threshold(domain,range){function scale(x){if(x<=x)return range[d3.bisect(domain,x)]}scale.domain=function(_){if(!arguments.length)return domain;domain=_;return scale};scale.range=function(_){if(!arguments.length)return range;range=_;return scale};scale.invertExtent=function(y){y=range.indexOf(y);return[domain[y-1],domain[y]]};scale.copy=function(){return d3_scale_threshold(domain,range)};return scale}d3.scale.identity=function(){return d3_scale_identity([0,1])};function d3_scale_identity(domain){function identity(x){return+x}identity.invert=identity;identity.domain=identity.range=function(x){if(!arguments.length)return domain;domain=x.map(identity);return identity};identity.ticks=function(m){return d3_scale_linearTicks(domain,m)};identity.tickFormat=function(m,format){return d3_scale_linearTickFormat(domain,m,format)};identity.copy=function(){return d3_scale_identity(domain)};return identity}d3.svg={};function d3_zero(){return 0}d3.svg.arc=function(){var innerRadius=d3_svg_arcInnerRadius,outerRadius=d3_svg_arcOuterRadius,cornerRadius=d3_zero,padRadius=d3_svg_arcAuto,startAngle=d3_svg_arcStartAngle,endAngle=d3_svg_arcEndAngle,padAngle=d3_svg_arcPadAngle;function arc(){var r0=Math.max(0,+innerRadius.apply(this,arguments)),r1=Math.max(0,+outerRadius.apply(this,arguments)),a0=startAngle.apply(this,arguments)-halfπ,a1=endAngle.apply(this,arguments)-halfπ,da=Math.abs(a1-a0),cw=a0>a1?0:1;if(r1<r0)rc=r1,r1=r0,r0=rc;if(da>=τε)return circleSegment(r1,cw)+(r0?circleSegment(r0,1-cw):"")+"Z";var rc,cr,rp,ap,p0=0,p1=0,x0,y0,x1,y1,x2,y2,x3,y3,path=[];if(ap=(+padAngle.apply(this,arguments)||0)/2){rp=padRadius===d3_svg_arcAuto?Math.sqrt(r0*r0+r1*r1):+padRadius.apply(this,arguments);if(!cw)p1*=-1;if(r1)p1=d3_asin(rp/r1*Math.sin(ap));if(r0)p0=d3_asin(rp/r0*Math.sin(ap))}if(r1){x0=r1*Math.cos(a0+p1);y0=r1*Math.sin(a0+p1);x1=r1*Math.cos(a1-p1);y1=r1*Math.sin(a1-p1);var l1=Math.abs(a1-a0-2*p1)<=π?0:1;if(p1&&d3_svg_arcSweep(x0,y0,x1,y1)===cw^l1){var h1=(a0+a1)/2;x0=r1*Math.cos(h1);y0=r1*Math.sin(h1);x1=y1=null}}else{x0=y0=0}if(r0){x2=r0*Math.cos(a1-p0);y2=r0*Math.sin(a1-p0);x3=r0*Math.cos(a0+p0);y3=r0*Math.sin(a0+p0);var l0=Math.abs(a0-a1+2*p0)<=π?0:1;if(p0&&d3_svg_arcSweep(x2,y2,x3,y3)===1-cw^l0){var h0=(a0+a1)/2;x2=r0*Math.cos(h0);y2=r0*Math.sin(h0);x3=y3=null}}else{x2=y2=0}if((rc=Math.min(Math.abs(r1-r0)/2,+cornerRadius.apply(this,arguments)))>.001){cr=r0<r1^cw?0:1;var oc=x3==null?[x2,y2]:x1==null?[x0,y0]:d3_geom_polygonIntersect([x0,y0],[x3,y3],[x1,y1],[x2,y2]),ax=x0-oc[0],ay=y0-oc[1],bx=x1-oc[0],by=y1-oc[1],kc=1/Math.sin(Math.acos((ax*bx+ay*by)/(Math.sqrt(ax*ax+ay*ay)*Math.sqrt(bx*bx+by*by)))/2),lc=Math.sqrt(oc[0]*oc[0]+oc[1]*oc[1]);if(x1!=null){var rc1=Math.min(rc,(r1-lc)/(kc+1)),t30=d3_svg_arcCornerTangents(x3==null?[x2,y2]:[x3,y3],[x0,y0],r1,rc1,cw),t12=d3_svg_arcCornerTangents([x1,y1],[x2,y2],r1,rc1,cw);if(rc===rc1){path.push("M",t30[0],"A",rc1,",",rc1," 0 0,",cr," ",t30[1],"A",r1,",",r1," 0 ",1-cw^d3_svg_arcSweep(t30[1][0],t30[1][1],t12[1][0],t12[1][1]),",",cw," ",t12[1],"A",rc1,",",rc1," 0 0,",cr," ",t12[0])}else{path.push("M",t30[0],"A",rc1,",",rc1," 0 1,",cr," ",t12[0])}}else{path.push("M",x0,",",y0)}if(x3!=null){var rc0=Math.min(rc,(r0-lc)/(kc-1)),t03=d3_svg_arcCornerTangents([x0,y0],[x3,y3],r0,-rc0,cw),t21=d3_svg_arcCornerTangents([x2,y2],x1==null?[x0,y0]:[x1,y1],r0,-rc0,cw);if(rc===rc0){path.push("L",t21[0],"A",rc0,",",rc0," 0 0,",cr," ",t21[1],"A",r0,",",r0," 0 ",cw^d3_svg_arcSweep(t21[1][0],t21[1][1],t03[1][0],t03[1][1]),",",1-cw," ",t03[1],"A",rc0,",",rc0," 0 0,",cr," ",t03[0])}else{path.push("L",t21[0],"A",rc0,",",rc0," 0 0,",cr," ",t03[0])}}else{path.push("L",x2,",",y2)}}else{path.push("M",x0,",",y0);if(x1!=null)path.push("A",r1,",",r1," 0 ",l1,",",cw," ",x1,",",y1);path.push("L",x2,",",y2);if(x3!=null)path.push("A",r0,",",r0," 0 ",l0,",",1-cw," ",x3,",",y3)}path.push("Z");return path.join("")}function circleSegment(r1,cw){return"M0,"+r1+"A"+r1+","+r1+" 0 1,"+cw+" 0,"+-r1+"A"+r1+","+r1+" 0 1,"+cw+" 0,"+r1}arc.innerRadius=function(v){if(!arguments.length)return innerRadius;innerRadius=d3_functor(v);return arc};arc.outerRadius=function(v){if(!arguments.length)return outerRadius;outerRadius=d3_functor(v);return arc};arc.cornerRadius=function(v){if(!arguments.length)return cornerRadius;cornerRadius=d3_functor(v);return arc};arc.padRadius=function(v){if(!arguments.length)return padRadius;padRadius=v==d3_svg_arcAuto?d3_svg_arcAuto:d3_functor(v);return arc};arc.startAngle=function(v){if(!arguments.length)return startAngle;startAngle=d3_functor(v);return arc};arc.endAngle=function(v){if(!arguments.length)return endAngle;endAngle=d3_functor(v);return arc};arc.padAngle=function(v){if(!arguments.length)return padAngle;padAngle=d3_functor(v);return arc};arc.centroid=function(){var r=(+innerRadius.apply(this,arguments)+ +outerRadius.apply(this,arguments))/2,a=(+startAngle.apply(this,arguments)+ +endAngle.apply(this,arguments))/2-halfπ;return[Math.cos(a)*r,Math.sin(a)*r]};return arc};var d3_svg_arcAuto="auto";function d3_svg_arcInnerRadius(d){return d.innerRadius}function d3_svg_arcOuterRadius(d){return d.outerRadius}function d3_svg_arcStartAngle(d){return d.startAngle}function d3_svg_arcEndAngle(d){return d.endAngle}function d3_svg_arcPadAngle(d){return d&&d.padAngle}function d3_svg_arcSweep(x0,y0,x1,y1){return(x0-x1)*y0-(y0-y1)*x0>0?0:1}function d3_svg_arcCornerTangents(p0,p1,r1,rc,cw){var x01=p0[0]-p1[0],y01=p0[1]-p1[1],lo=(cw?rc:-rc)/Math.sqrt(x01*x01+y01*y01),ox=lo*y01,oy=-lo*x01,x1=p0[0]+ox,y1=p0[1]+oy,x2=p1[0]+ox,y2=p1[1]+oy,x3=(x1+x2)/2,y3=(y1+y2)/2,dx=x2-x1,dy=y2-y1,d2=dx*dx+dy*dy,r=r1-rc,D=x1*y2-x2*y1,d=(dy<0?-1:1)*Math.sqrt(r*r*d2-D*D),cx0=(D*dy-dx*d)/d2,cy0=(-D*dx-dy*d)/d2,cx1=(D*dy+dx*d)/d2,cy1=(-D*dx+dy*d)/d2,dx0=cx0-x3,dy0=cy0-y3,dx1=cx1-x3,dy1=cy1-y3;if(dx0*dx0+dy0*dy0>dx1*dx1+dy1*dy1)cx0=cx1,cy0=cy1;return[[cx0-ox,cy0-oy],[cx0*r1/r,cy0*r1/r]]}function d3_svg_line(projection){var x=d3_geom_pointX,y=d3_geom_pointY,defined=d3_true,interpolate=d3_svg_lineLinear,interpolateKey=interpolate.key,tension=.7;function line(data){var segments=[],points=[],i=-1,n=data.length,d,fx=d3_functor(x),fy=d3_functor(y);function segment(){segments.push("M",interpolate(projection(points),tension))}while(++i<n){if(defined.call(this,d=data[i],i)){points.push([+fx.call(this,d,i),+fy.call(this,d,i)])}else if(points.length){segment();points=[]}}if(points.length)segment();return segments.length?segments.join(""):null}line.x=function(_){if(!arguments.length)return x;x=_;return line};line.y=function(_){if(!arguments.length)return y;y=_;return line};line.defined=function(_){if(!arguments.length)return defined;defined=_;return line};line.interpolate=function(_){if(!arguments.length)return interpolateKey;if(typeof _==="function")interpolateKey=interpolate=_;else interpolateKey=(interpolate=d3_svg_lineInterpolators.get(_)||d3_svg_lineLinear).key;return line};line.tension=function(_){if(!arguments.length)return tension;tension=_;return line};return line}d3.svg.line=function(){return d3_svg_line(d3_identity)};var d3_svg_lineInterpolators=d3.map({linear:d3_svg_lineLinear,"linear-closed":d3_svg_lineLinearClosed,step:d3_svg_lineStep,"step-before":d3_svg_lineStepBefore,"step-after":d3_svg_lineStepAfter,basis:d3_svg_lineBasis,"basis-open":d3_svg_lineBasisOpen,"basis-closed":d3_svg_lineBasisClosed,bundle:d3_svg_lineBundle,cardinal:d3_svg_lineCardinal,"cardinal-open":d3_svg_lineCardinalOpen,"cardinal-closed":d3_svg_lineCardinalClosed,monotone:d3_svg_lineMonotone});d3_svg_lineInterpolators.forEach(function(key,value){value.key=key;value.closed=/-closed$/.test(key)});function d3_svg_lineLinear(points){return points.join("L")}function d3_svg_lineLinearClosed(points){return d3_svg_lineLinear(points)+"Z"}function d3_svg_lineStep(points){var i=0,n=points.length,p=points[0],path=[p[0],",",p[1]];while(++i<n)path.push("H",(p[0]+(p=points[i])[0])/2,"V",p[1]);if(n>1)path.push("H",p[0]);return path.join("")}function d3_svg_lineStepBefore(points){var i=0,n=points.length,p=points[0],path=[p[0],",",p[1]];while(++i<n)path.push("V",(p=points[i])[1],"H",p[0]);return path.join("")}function d3_svg_lineStepAfter(points){var i=0,n=points.length,p=points[0],path=[p[0],",",p[1]];while(++i<n)path.push("H",(p=points[i])[0],"V",p[1]);return path.join("")}function d3_svg_lineCardinalOpen(points,tension){return points.length<4?d3_svg_lineLinear(points):points[1]+d3_svg_lineHermite(points.slice(1,-1),d3_svg_lineCardinalTangents(points,tension))}function d3_svg_lineCardinalClosed(points,tension){return points.length<3?d3_svg_lineLinear(points):points[0]+d3_svg_lineHermite((points.push(points[0]),points),d3_svg_lineCardinalTangents([points[points.length-2]].concat(points,[points[1]]),tension))}function d3_svg_lineCardinal(points,tension){return points.length<3?d3_svg_lineLinear(points):points[0]+d3_svg_lineHermite(points,d3_svg_lineCardinalTangents(points,tension))}function d3_svg_lineHermite(points,tangents){if(tangents.length<1||points.length!=tangents.length&&points.length!=tangents.length+2){return d3_svg_lineLinear(points)}var quad=points.length!=tangents.length,path="",p0=points[0],p=points[1],t0=tangents[0],t=t0,pi=1;if(quad){path+="Q"+(p[0]-t0[0]*2/3)+","+(p[1]-t0[1]*2/3)+","+p[0]+","+p[1];p0=points[1];pi=2}if(tangents.length>1){t=tangents[1];p=points[pi];pi++;path+="C"+(p0[0]+t0[0])+","+(p0[1]+t0[1])+","+(p[0]-t[0])+","+(p[1]-t[1])+","+p[0]+","+p[1];for(var i=2;i<tangents.length;i++,pi++){p=points[pi];t=tangents[i];path+="S"+(p[0]-t[0])+","+(p[1]-t[1])+","+p[0]+","+p[1]}}if(quad){var lp=points[pi];path+="Q"+(p[0]+t[0]*2/3)+","+(p[1]+t[1]*2/3)+","+lp[0]+","+lp[1]}return path}function d3_svg_lineCardinalTangents(points,tension){var tangents=[],a=(1-tension)/2,p0,p1=points[0],p2=points[1],i=1,n=points.length;while(++i<n){p0=p1;p1=p2;p2=points[i];tangents.push([a*(p2[0]-p0[0]),a*(p2[1]-p0[1])])}return tangents}function d3_svg_lineBasis(points){if(points.length<3)return d3_svg_lineLinear(points);var i=1,n=points.length,pi=points[0],x0=pi[0],y0=pi[1],px=[x0,x0,x0,(pi=points[1])[0]],py=[y0,y0,y0,pi[1]],path=[x0,",",y0,"L",d3_svg_lineDot4(d3_svg_lineBasisBezier3,px),",",d3_svg_lineDot4(d3_svg_lineBasisBezier3,py)];points.push(points[n-1]);while(++i<=n){pi=points[i];px.shift();px.push(pi[0]);py.shift();py.push(pi[1]);d3_svg_lineBasisBezier(path,px,py)}points.pop();path.push("L",pi);return path.join("")}function d3_svg_lineBasisOpen(points){if(points.length<4)return d3_svg_lineLinear(points);var path=[],i=-1,n=points.length,pi,px=[0],py=[0];while(++i<3){pi=points[i];px.push(pi[0]);py.push(pi[1])}path.push(d3_svg_lineDot4(d3_svg_lineBasisBezier3,px)+","+d3_svg_lineDot4(d3_svg_lineBasisBezier3,py));--i;while(++i<n){pi=points[i];px.shift();px.push(pi[0]);py.shift();py.push(pi[1]);d3_svg_lineBasisBezier(path,px,py)}return path.join("")}function d3_svg_lineBasisClosed(points){var path,i=-1,n=points.length,m=n+4,pi,px=[],py=[];while(++i<4){pi=points[i%n];px.push(pi[0]);py.push(pi[1])}path=[d3_svg_lineDot4(d3_svg_lineBasisBezier3,px),",",d3_svg_lineDot4(d3_svg_lineBasisBezier3,py)];--i;while(++i<m){pi=points[i%n];px.shift();px.push(pi[0]);py.shift();py.push(pi[1]);d3_svg_lineBasisBezier(path,px,py)}return path.join("")}function d3_svg_lineBundle(points,tension){var n=points.length-1;if(n){var x0=points[0][0],y0=points[0][1],dx=points[n][0]-x0,dy=points[n][1]-y0,i=-1,p,t;while(++i<=n){p=points[i];t=i/n;p[0]=tension*p[0]+(1-tension)*(x0+t*dx);p[1]=tension*p[1]+(1-tension)*(y0+t*dy)}}return d3_svg_lineBasis(points)}function d3_svg_lineDot4(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+a[3]*b[3]}var d3_svg_lineBasisBezier1=[0,2/3,1/3,0],d3_svg_lineBasisBezier2=[0,1/3,2/3,0],d3_svg_lineBasisBezier3=[0,1/6,2/3,1/6];function d3_svg_lineBasisBezier(path,x,y){path.push("C",d3_svg_lineDot4(d3_svg_lineBasisBezier1,x),",",d3_svg_lineDot4(d3_svg_lineBasisBezier1,y),",",d3_svg_lineDot4(d3_svg_lineBasisBezier2,x),",",d3_svg_lineDot4(d3_svg_lineBasisBezier2,y),",",d3_svg_lineDot4(d3_svg_lineBasisBezier3,x),",",d3_svg_lineDot4(d3_svg_lineBasisBezier3,y))}function d3_svg_lineSlope(p0,p1){return(p1[1]-p0[1])/(p1[0]-p0[0])}function d3_svg_lineFiniteDifferences(points){var i=0,j=points.length-1,m=[],p0=points[0],p1=points[1],d=m[0]=d3_svg_lineSlope(p0,p1);while(++i<j){m[i]=(d+(d=d3_svg_lineSlope(p0=p1,p1=points[i+1])))/2}m[i]=d;return m}function d3_svg_lineMonotoneTangents(points){var tangents=[],d,a,b,s,m=d3_svg_lineFiniteDifferences(points),i=-1,j=points.length-1;while(++i<j){d=d3_svg_lineSlope(points[i],points[i+1]);if(abs(d)<ε){m[i]=m[i+1]=0}else{a=m[i]/d;b=m[i+1]/d;s=a*a+b*b;if(s>9){s=d*3/Math.sqrt(s);m[i]=s*a;m[i+1]=s*b}}}i=-1;while(++i<=j){s=(points[Math.min(j,i+1)][0]-points[Math.max(0,i-1)][0])/(6*(1+m[i]*m[i]));tangents.push([s||0,m[i]*s||0])}return tangents}function d3_svg_lineMonotone(points){return points.length<3?d3_svg_lineLinear(points):points[0]+d3_svg_lineHermite(points,d3_svg_lineMonotoneTangents(points))}d3.svg.line.radial=function(){var line=d3_svg_line(d3_svg_lineRadial);line.radius=line.x,delete line.x;line.angle=line.y,delete line.y;return line};function d3_svg_lineRadial(points){var point,i=-1,n=points.length,r,a;while(++i<n){point=points[i];r=point[0];a=point[1]-halfπ;point[0]=r*Math.cos(a);point[1]=r*Math.sin(a)}return points}function d3_svg_area(projection){var x0=d3_geom_pointX,x1=d3_geom_pointX,y0=0,y1=d3_geom_pointY,defined=d3_true,interpolate=d3_svg_lineLinear,interpolateKey=interpolate.key,interpolateReverse=interpolate,L="L",tension=.7;function area(data){var segments=[],points0=[],points1=[],i=-1,n=data.length,d,fx0=d3_functor(x0),fy0=d3_functor(y0),fx1=x0===x1?function(){return x}:d3_functor(x1),fy1=y0===y1?function(){return y}:d3_functor(y1),x,y;function segment(){segments.push("M",interpolate(projection(points1),tension),L,interpolateReverse(projection(points0.reverse()),tension),"Z")}while(++i<n){if(defined.call(this,d=data[i],i)){points0.push([x=+fx0.call(this,d,i),y=+fy0.call(this,d,i)]);points1.push([+fx1.call(this,d,i),+fy1.call(this,d,i)])}else if(points0.length){segment();points0=[];points1=[]}}if(points0.length)segment();return segments.length?segments.join(""):null}area.x=function(_){if(!arguments.length)return x1;x0=x1=_;return area};area.x0=function(_){if(!arguments.length)return x0;x0=_;return area};area.x1=function(_){if(!arguments.length)return x1;x1=_;return area};area.y=function(_){if(!arguments.length)return y1;y0=y1=_;return area};area.y0=function(_){if(!arguments.length)return y0;y0=_;return area};area.y1=function(_){if(!arguments.length)return y1;y1=_;return area};area.defined=function(_){if(!arguments.length)return defined;defined=_;return area};area.interpolate=function(_){if(!arguments.length)return interpolateKey;if(typeof _==="function")interpolateKey=interpolate=_;else interpolateKey=(interpolate=d3_svg_lineInterpolators.get(_)||d3_svg_lineLinear).key;interpolateReverse=interpolate.reverse||interpolate;L=interpolate.closed?"M":"L";return area};area.tension=function(_){if(!arguments.length)return tension;tension=_;return area};return area}d3_svg_lineStepBefore.reverse=d3_svg_lineStepAfter;d3_svg_lineStepAfter.reverse=d3_svg_lineStepBefore;d3.svg.area=function(){return d3_svg_area(d3_identity)};d3.svg.area.radial=function(){var area=d3_svg_area(d3_svg_lineRadial);area.radius=area.x,delete area.x;area.innerRadius=area.x0,delete area.x0;area.outerRadius=area.x1,delete area.x1;area.angle=area.y,delete area.y;area.startAngle=area.y0,delete area.y0;area.endAngle=area.y1,delete area.y1;return area};d3.svg.chord=function(){var source=d3_source,target=d3_target,radius=d3_svg_chordRadius,startAngle=d3_svg_arcStartAngle,endAngle=d3_svg_arcEndAngle;function chord(d,i){var s=subgroup(this,source,d,i),t=subgroup(this,target,d,i);return"M"+s.p0+arc(s.r,s.p1,s.a1-s.a0)+(equals(s,t)?curve(s.r,s.p1,s.r,s.p0):curve(s.r,s.p1,t.r,t.p0)+arc(t.r,t.p1,t.a1-t.a0)+curve(t.r,t.p1,s.r,s.p0))+"Z"}function subgroup(self,f,d,i){var subgroup=f.call(self,d,i),r=radius.call(self,subgroup,i),a0=startAngle.call(self,subgroup,i)-halfπ,a1=endAngle.call(self,subgroup,i)-halfπ;return{r:r,a0:a0,a1:a1,p0:[r*Math.cos(a0),r*Math.sin(a0)],p1:[r*Math.cos(a1),r*Math.sin(a1)]}}function equals(a,b){return a.a0==b.a0&&a.a1==b.a1}function arc(r,p,a){return"A"+r+","+r+" 0 "+ +(a>π)+",1 "+p}function curve(r0,p0,r1,p1){return"Q 0,0 "+p1}chord.radius=function(v){if(!arguments.length)return radius;radius=d3_functor(v);return chord};chord.source=function(v){if(!arguments.length)return source;source=d3_functor(v);return chord};chord.target=function(v){if(!arguments.length)return target;target=d3_functor(v);return chord};chord.startAngle=function(v){if(!arguments.length)return startAngle;startAngle=d3_functor(v);return chord};chord.endAngle=function(v){if(!arguments.length)return endAngle;endAngle=d3_functor(v);return chord};return chord};function d3_svg_chordRadius(d){return d.radius}d3.svg.diagonal=function(){var source=d3_source,target=d3_target,projection=d3_svg_diagonalProjection;function diagonal(d,i){var p0=source.call(this,d,i),p3=target.call(this,d,i),m=(p0.y+p3.y)/2,p=[p0,{x:p0.x,y:m},{x:p3.x,y:m},p3];p=p.map(projection);return"M"+p[0]+"C"+p[1]+" "+p[2]+" "+p[3]}diagonal.source=function(x){if(!arguments.length)return source;source=d3_functor(x);return diagonal};diagonal.target=function(x){if(!arguments.length)return target;target=d3_functor(x);return diagonal};diagonal.projection=function(x){if(!arguments.length)return projection;projection=x;return diagonal};return diagonal};function d3_svg_diagonalProjection(d){return[d.x,d.y]}d3.svg.diagonal.radial=function(){var diagonal=d3.svg.diagonal(),projection=d3_svg_diagonalProjection,projection_=diagonal.projection;diagonal.projection=function(x){return arguments.length?projection_(d3_svg_diagonalRadialProjection(projection=x)):projection};return diagonal};function d3_svg_diagonalRadialProjection(projection){return function(){var d=projection.apply(this,arguments),r=d[0],a=d[1]-halfπ;return[r*Math.cos(a),r*Math.sin(a)]}}d3.svg.symbol=function(){var type=d3_svg_symbolType,size=d3_svg_symbolSize;function symbol(d,i){return(d3_svg_symbols.get(type.call(this,d,i))||d3_svg_symbolCircle)(size.call(this,d,i))}symbol.type=function(x){if(!arguments.length)return type;type=d3_functor(x);return symbol};symbol.size=function(x){if(!arguments.length)return size;size=d3_functor(x);return symbol};return symbol};function d3_svg_symbolSize(){return 64}function d3_svg_symbolType(){return"circle"}function d3_svg_symbolCircle(size){var r=Math.sqrt(size/π);return"M0,"+r+"A"+r+","+r+" 0 1,1 0,"+-r+"A"+r+","+r+" 0 1,1 0,"+r+"Z"}var d3_svg_symbols=d3.map({circle:d3_svg_symbolCircle,cross:function(size){var r=Math.sqrt(size/5)/2;return"M"+-3*r+","+-r+"H"+-r+"V"+-3*r+"H"+r+"V"+-r+"H"+3*r+"V"+r+"H"+r+"V"+3*r+"H"+-r+"V"+r+"H"+-3*r+"Z"},diamond:function(size){var ry=Math.sqrt(size/(2*d3_svg_symbolTan30)),rx=ry*d3_svg_symbolTan30;return"M0,"+-ry+"L"+rx+",0"+" 0,"+ry+" "+-rx+",0"+"Z"},square:function(size){var r=Math.sqrt(size)/2;return"M"+-r+","+-r+"L"+r+","+-r+" "+r+","+r+" "+-r+","+r+"Z"},"triangle-down":function(size){var rx=Math.sqrt(size/d3_svg_symbolSqrt3),ry=rx*d3_svg_symbolSqrt3/2;return"M0,"+ry+"L"+rx+","+-ry+" "+-rx+","+-ry+"Z"},"triangle-up":function(size){var rx=Math.sqrt(size/d3_svg_symbolSqrt3),ry=rx*d3_svg_symbolSqrt3/2;return"M0,"+-ry+"L"+rx+","+ry+" "+-rx+","+ry+"Z"}});d3.svg.symbolTypes=d3_svg_symbols.keys();var d3_svg_symbolSqrt3=Math.sqrt(3),d3_svg_symbolTan30=Math.tan(30*d3_radians);d3_selectionPrototype.transition=function(name){var id=d3_transitionInheritId||++d3_transitionId,ns=d3_transitionNamespace(name),subgroups=[],subgroup,node,transition=d3_transitionInherit||{time:Date.now(),ease:d3_ease_cubicInOut,delay:0,duration:250};for(var j=-1,m=this.length;++j<m;){subgroups.push(subgroup=[]);for(var group=this[j],i=-1,n=group.length;++i<n;){if(node=group[i])d3_transitionNode(node,i,ns,id,transition);subgroup.push(node)}}return d3_transition(subgroups,ns,id)};d3_selectionPrototype.interrupt=function(name){return this.each(name==null?d3_selection_interrupt:d3_selection_interruptNS(d3_transitionNamespace(name)))};var d3_selection_interrupt=d3_selection_interruptNS(d3_transitionNamespace());function d3_selection_interruptNS(ns){return function(){var lock,active;if((lock=this[ns])&&(active=lock[lock.active])){if(--lock.count)delete lock[lock.active];else delete this[ns];lock.active+=.5;active.event&&active.event.interrupt.call(this,this.__data__,active.index)}}}function d3_transition(groups,ns,id){d3_subclass(groups,d3_transitionPrototype);groups.namespace=ns;groups.id=id;return groups}var d3_transitionPrototype=[],d3_transitionId=0,d3_transitionInheritId,d3_transitionInherit;d3_transitionPrototype.call=d3_selectionPrototype.call;d3_transitionPrototype.empty=d3_selectionPrototype.empty;d3_transitionPrototype.node=d3_selectionPrototype.node;d3_transitionPrototype.size=d3_selectionPrototype.size;d3.transition=function(selection,name){return selection&&selection.transition?d3_transitionInheritId?selection.transition(name):selection:d3.selection().transition(selection)};d3.transition.prototype=d3_transitionPrototype;d3_transitionPrototype.select=function(selector){var id=this.id,ns=this.namespace,subgroups=[],subgroup,subnode,node;selector=d3_selection_selector(selector);for(var j=-1,m=this.length;++j<m;){subgroups.push(subgroup=[]);for(var group=this[j],i=-1,n=group.length;++i<n;){if((node=group[i])&&(subnode=selector.call(node,node.__data__,i,j))){if("__data__"in node)subnode.__data__=node.__data__;d3_transitionNode(subnode,i,ns,id,node[ns][id]);subgroup.push(subnode)}else{subgroup.push(null)}}}return d3_transition(subgroups,ns,id)};d3_transitionPrototype.selectAll=function(selector){var id=this.id,ns=this.namespace,subgroups=[],subgroup,subnodes,node,subnode,transition;selector=d3_selection_selectorAll(selector);for(var j=-1,m=this.length;++j<m;){for(var group=this[j],i=-1,n=group.length;++i<n;){if(node=group[i]){transition=node[ns][id];subnodes=selector.call(node,node.__data__,i,j);subgroups.push(subgroup=[]);for(var k=-1,o=subnodes.length;++k<o;){if(subnode=subnodes[k])d3_transitionNode(subnode,k,ns,id,transition);subgroup.push(subnode)}}}}return d3_transition(subgroups,ns,id)};d3_transitionPrototype.filter=function(filter){var subgroups=[],subgroup,group,node;if(typeof filter!=="function")filter=d3_selection_filter(filter);for(var j=0,m=this.length;j<m;j++){subgroups.push(subgroup=[]);for(var group=this[j],i=0,n=group.length;i<n;i++){if((node=group[i])&&filter.call(node,node.__data__,i,j)){subgroup.push(node)}}}return d3_transition(subgroups,this.namespace,this.id)};d3_transitionPrototype.tween=function(name,tween){var id=this.id,ns=this.namespace;if(arguments.length<2)return this.node()[ns][id].tween.get(name);return d3_selection_each(this,tween==null?function(node){node[ns][id].tween.remove(name)}:function(node){node[ns][id].tween.set(name,tween)})};function d3_transition_tween(groups,name,value,tween){var id=groups.id,ns=groups.namespace;return d3_selection_each(groups,typeof value==="function"?function(node,i,j){node[ns][id].tween.set(name,tween(value.call(node,node.__data__,i,j)))}:(value=tween(value),function(node){node[ns][id].tween.set(name,value)}))}d3_transitionPrototype.attr=function(nameNS,value){if(arguments.length<2){for(value in nameNS)this.attr(value,nameNS[value]);return this}var interpolate=nameNS=="transform"?d3_interpolateTransform:d3_interpolate,name=d3.ns.qualify(nameNS);function attrNull(){this.removeAttribute(name)}function attrNullNS(){this.removeAttributeNS(name.space,name.local)}function attrTween(b){return b==null?attrNull:(b+="",function(){var a=this.getAttribute(name),i;return a!==b&&(i=interpolate(a,b),function(t){this.setAttribute(name,i(t))})})}function attrTweenNS(b){return b==null?attrNullNS:(b+="",function(){var a=this.getAttributeNS(name.space,name.local),i;return a!==b&&(i=interpolate(a,b),function(t){this.setAttributeNS(name.space,name.local,i(t))})})}return d3_transition_tween(this,"attr."+nameNS,value,name.local?attrTweenNS:attrTween)};d3_transitionPrototype.attrTween=function(nameNS,tween){var name=d3.ns.qualify(nameNS);function attrTween(d,i){var f=tween.call(this,d,i,this.getAttribute(name));return f&&function(t){this.setAttribute(name,f(t))}}function attrTweenNS(d,i){var f=tween.call(this,d,i,this.getAttributeNS(name.space,name.local));return f&&function(t){this.setAttributeNS(name.space,name.local,f(t))}}return this.tween("attr."+nameNS,name.local?attrTweenNS:attrTween)};d3_transitionPrototype.style=function(name,value,priority){var n=arguments.length;if(n<3){if(typeof name!=="string"){if(n<2)value="";for(priority in name)this.style(priority,name[priority],value);return this}priority=""}function styleNull(){this.style.removeProperty(name)}function styleString(b){return b==null?styleNull:(b+="",function(){var a=d3_window(this).getComputedStyle(this,null).getPropertyValue(name),i;return a!==b&&(i=d3_interpolate(a,b),function(t){this.style.setProperty(name,i(t),priority)})})}return d3_transition_tween(this,"style."+name,value,styleString)};d3_transitionPrototype.styleTween=function(name,tween,priority){if(arguments.length<3)priority="";function styleTween(d,i){var f=tween.call(this,d,i,d3_window(this).getComputedStyle(this,null).getPropertyValue(name));return f&&function(t){this.style.setProperty(name,f(t),priority)}}return this.tween("style."+name,styleTween)};d3_transitionPrototype.text=function(value){return d3_transition_tween(this,"text",value,d3_transition_text)};function d3_transition_text(b){if(b==null)b="";return function(){this.textContent=b}}d3_transitionPrototype.remove=function(){var ns=this.namespace;return this.each("end.transition",function(){var p;if(this[ns].count<2&&(p=this.parentNode))p.removeChild(this)})};d3_transitionPrototype.ease=function(value){var id=this.id,ns=this.namespace;if(arguments.length<1)return this.node()[ns][id].ease;if(typeof value!=="function")value=d3.ease.apply(d3,arguments);return d3_selection_each(this,function(node){node[ns][id].ease=value})};d3_transitionPrototype.delay=function(value){var id=this.id,ns=this.namespace;if(arguments.length<1)return this.node()[ns][id].delay;return d3_selection_each(this,typeof value==="function"?function(node,i,j){node[ns][id].delay=+value.call(node,node.__data__,i,j)}:(value=+value,function(node){node[ns][id].delay=value}))};d3_transitionPrototype.duration=function(value){var id=this.id,ns=this.namespace;if(arguments.length<1)return this.node()[ns][id].duration;return d3_selection_each(this,typeof value==="function"?function(node,i,j){node[ns][id].duration=Math.max(1,value.call(node,node.__data__,i,j))}:(value=Math.max(1,value),function(node){node[ns][id].duration=value}))};d3_transitionPrototype.each=function(type,listener){var id=this.id,ns=this.namespace;if(arguments.length<2){var inherit=d3_transitionInherit,inheritId=d3_transitionInheritId;try{d3_transitionInheritId=id;d3_selection_each(this,function(node,i,j){d3_transitionInherit=node[ns][id];type.call(node,node.__data__,i,j)})}finally{d3_transitionInherit=inherit;d3_transitionInheritId=inheritId}}else{d3_selection_each(this,function(node){var transition=node[ns][id];(transition.event||(transition.event=d3.dispatch("start","end","interrupt"))).on(type,listener)})}return this};d3_transitionPrototype.transition=function(){var id0=this.id,id1=++d3_transitionId,ns=this.namespace,subgroups=[],subgroup,group,node,transition;for(var j=0,m=this.length;j<m;j++){subgroups.push(subgroup=[]);for(var group=this[j],i=0,n=group.length;i<n;i++){if(node=group[i]){transition=node[ns][id0];d3_transitionNode(node,i,ns,id1,{time:transition.time,ease:transition.ease,delay:transition.delay+transition.duration,duration:transition.duration})}subgroup.push(node)}}return d3_transition(subgroups,ns,id1)};function d3_transitionNamespace(name){return name==null?"__transition__":"__transition_"+name+"__"}function d3_transitionNode(node,i,ns,id,inherit){var lock=node[ns]||(node[ns]={active:0,count:0}),transition=lock[id];if(!transition){var time=inherit.time;transition=lock[id]={tween:new d3_Map,time:time,delay:inherit.delay,duration:inherit.duration,ease:inherit.ease,index:i};inherit=null;++lock.count;d3.timer(function(elapsed){var delay=transition.delay,duration,ease,timer=d3_timer_active,tweened=[];timer.t=delay+time;if(delay<=elapsed)return start(elapsed-delay);timer.c=start;function start(elapsed){if(lock.active>id)return stop();var active=lock[lock.active];if(active){--lock.count;delete lock[lock.active];active.event&&active.event.interrupt.call(node,node.__data__,active.index)}lock.active=id;transition.event&&transition.event.start.call(node,node.__data__,i);transition.tween.forEach(function(key,value){if(value=value.call(node,node.__data__,i)){tweened.push(value)}});ease=transition.ease;duration=transition.duration;d3.timer(function(){timer.c=tick(elapsed||1)?d3_true:tick;return 1},0,time)}function tick(elapsed){if(lock.active!==id)return 1;var t=elapsed/duration,e=ease(t),n=tweened.length;while(n>0){tweened[--n].call(node,e)}if(t>=1){transition.event&&transition.event.end.call(node,node.__data__,i);return stop()}}function stop(){if(--lock.count)delete lock[id];else delete node[ns];return 1}},0,time)}}d3.svg.axis=function(){var scale=d3.scale.linear(),orient=d3_svg_axisDefaultOrient,innerTickSize=6,outerTickSize=6,tickPadding=3,tickArguments_=[10],tickValues=null,tickFormat_;function axis(g){g.each(function(){var g=d3.select(this);var scale0=this.__chart__||scale,scale1=this.__chart__=scale.copy();var ticks=tickValues==null?scale1.ticks?scale1.ticks.apply(scale1,tickArguments_):scale1.domain():tickValues,tickFormat=tickFormat_==null?scale1.tickFormat?scale1.tickFormat.apply(scale1,tickArguments_):d3_identity:tickFormat_,tick=g.selectAll(".tick").data(ticks,scale1),tickEnter=tick.enter().insert("g",".domain").attr("class","tick").style("opacity",ε),tickExit=d3.transition(tick.exit()).style("opacity",ε).remove(),tickUpdate=d3.transition(tick.order()).style("opacity",1),tickSpacing=Math.max(innerTickSize,0)+tickPadding,tickTransform;var range=d3_scaleRange(scale1),path=g.selectAll(".domain").data([0]),pathUpdate=(path.enter().append("path").attr("class","domain"),d3.transition(path));tickEnter.append("line");tickEnter.append("text");var lineEnter=tickEnter.select("line"),lineUpdate=tickUpdate.select("line"),text=tick.select("text").text(tickFormat),textEnter=tickEnter.select("text"),textUpdate=tickUpdate.select("text"),sign=orient==="top"||orient==="left"?-1:1,x1,x2,y1,y2;if(orient==="bottom"||orient==="top"){tickTransform=d3_svg_axisX,x1="x",y1="y",x2="x2",y2="y2";text.attr("dy",sign<0?"0em":".71em").style("text-anchor","middle");pathUpdate.attr("d","M"+range[0]+","+sign*outerTickSize+"V0H"+range[1]+"V"+sign*outerTickSize)}else{tickTransform=d3_svg_axisY,x1="y",y1="x",x2="y2",y2="x2";text.attr("dy",".32em").style("text-anchor",sign<0?"end":"start");pathUpdate.attr("d","M"+sign*outerTickSize+","+range[0]+"H0V"+range[1]+"H"+sign*outerTickSize)}lineEnter.attr(y2,sign*innerTickSize);textEnter.attr(y1,sign*tickSpacing);lineUpdate.attr(x2,0).attr(y2,sign*innerTickSize);textUpdate.attr(x1,0).attr(y1,sign*tickSpacing);if(scale1.rangeBand){var x=scale1,dx=x.rangeBand()/2;scale0=scale1=function(d){return x(d)+dx}}else if(scale0.rangeBand){scale0=scale1
+}else{tickExit.call(tickTransform,scale1,scale0)}tickEnter.call(tickTransform,scale0,scale1);tickUpdate.call(tickTransform,scale1,scale1)})}axis.scale=function(x){if(!arguments.length)return scale;scale=x;return axis};axis.orient=function(x){if(!arguments.length)return orient;orient=x in d3_svg_axisOrients?x+"":d3_svg_axisDefaultOrient;return axis};axis.ticks=function(){if(!arguments.length)return tickArguments_;tickArguments_=arguments;return axis};axis.tickValues=function(x){if(!arguments.length)return tickValues;tickValues=x;return axis};axis.tickFormat=function(x){if(!arguments.length)return tickFormat_;tickFormat_=x;return axis};axis.tickSize=function(x){var n=arguments.length;if(!n)return innerTickSize;innerTickSize=+x;outerTickSize=+arguments[n-1];return axis};axis.innerTickSize=function(x){if(!arguments.length)return innerTickSize;innerTickSize=+x;return axis};axis.outerTickSize=function(x){if(!arguments.length)return outerTickSize;outerTickSize=+x;return axis};axis.tickPadding=function(x){if(!arguments.length)return tickPadding;tickPadding=+x;return axis};axis.tickSubdivide=function(){return arguments.length&&axis};return axis};var d3_svg_axisDefaultOrient="bottom",d3_svg_axisOrients={top:1,right:1,bottom:1,left:1};function d3_svg_axisX(selection,x0,x1){selection.attr("transform",function(d){var v0=x0(d);return"translate("+(isFinite(v0)?v0:x1(d))+",0)"})}function d3_svg_axisY(selection,y0,y1){selection.attr("transform",function(d){var v0=y0(d);return"translate(0,"+(isFinite(v0)?v0:y1(d))+")"})}d3.svg.brush=function(){var event=d3_eventDispatch(brush,"brushstart","brush","brushend"),x=null,y=null,xExtent=[0,0],yExtent=[0,0],xExtentDomain,yExtentDomain,xClamp=true,yClamp=true,resizes=d3_svg_brushResizes[0];function brush(g){g.each(function(){var g=d3.select(this).style("pointer-events","all").style("-webkit-tap-highlight-color","rgba(0,0,0,0)").on("mousedown.brush",brushstart).on("touchstart.brush",brushstart);var background=g.selectAll(".background").data([0]);background.enter().append("rect").attr("class","background").style("visibility","hidden").style("cursor","crosshair");g.selectAll(".extent").data([0]).enter().append("rect").attr("class","extent").style("cursor","move");var resize=g.selectAll(".resize").data(resizes,d3_identity);resize.exit().remove();resize.enter().append("g").attr("class",function(d){return"resize "+d}).style("cursor",function(d){return d3_svg_brushCursor[d]}).append("rect").attr("x",function(d){return/[ew]$/.test(d)?-3:null}).attr("y",function(d){return/^[ns]/.test(d)?-3:null}).attr("width",6).attr("height",6).style("visibility","hidden");resize.style("display",brush.empty()?"none":null);var gUpdate=d3.transition(g),backgroundUpdate=d3.transition(background),range;if(x){range=d3_scaleRange(x);backgroundUpdate.attr("x",range[0]).attr("width",range[1]-range[0]);redrawX(gUpdate)}if(y){range=d3_scaleRange(y);backgroundUpdate.attr("y",range[0]).attr("height",range[1]-range[0]);redrawY(gUpdate)}redraw(gUpdate)})}brush.event=function(g){g.each(function(){var event_=event.of(this,arguments),extent1={x:xExtent,y:yExtent,i:xExtentDomain,j:yExtentDomain},extent0=this.__chart__||extent1;this.__chart__=extent1;if(d3_transitionInheritId){d3.select(this).transition().each("start.brush",function(){xExtentDomain=extent0.i;yExtentDomain=extent0.j;xExtent=extent0.x;yExtent=extent0.y;event_({type:"brushstart"})}).tween("brush:brush",function(){var xi=d3_interpolateArray(xExtent,extent1.x),yi=d3_interpolateArray(yExtent,extent1.y);xExtentDomain=yExtentDomain=null;return function(t){xExtent=extent1.x=xi(t);yExtent=extent1.y=yi(t);event_({type:"brush",mode:"resize"})}}).each("end.brush",function(){xExtentDomain=extent1.i;yExtentDomain=extent1.j;event_({type:"brush",mode:"resize"});event_({type:"brushend"})})}else{event_({type:"brushstart"});event_({type:"brush",mode:"resize"});event_({type:"brushend"})}})};function redraw(g){g.selectAll(".resize").attr("transform",function(d){return"translate("+xExtent[+/e$/.test(d)]+","+yExtent[+/^s/.test(d)]+")"})}function redrawX(g){g.select(".extent").attr("x",xExtent[0]);g.selectAll(".extent,.n>rect,.s>rect").attr("width",xExtent[1]-xExtent[0])}function redrawY(g){g.select(".extent").attr("y",yExtent[0]);g.selectAll(".extent,.e>rect,.w>rect").attr("height",yExtent[1]-yExtent[0])}function brushstart(){var target=this,eventTarget=d3.select(d3.event.target),event_=event.of(target,arguments),g=d3.select(target),resizing=eventTarget.datum(),resizingX=!/^(n|s)$/.test(resizing)&&x,resizingY=!/^(e|w)$/.test(resizing)&&y,dragging=eventTarget.classed("extent"),dragRestore=d3_event_dragSuppress(target),center,origin=d3.mouse(target),offset;var w=d3.select(d3_window(target)).on("keydown.brush",keydown).on("keyup.brush",keyup);if(d3.event.changedTouches){w.on("touchmove.brush",brushmove).on("touchend.brush",brushend)}else{w.on("mousemove.brush",brushmove).on("mouseup.brush",brushend)}g.interrupt().selectAll("*").interrupt();if(dragging){origin[0]=xExtent[0]-origin[0];origin[1]=yExtent[0]-origin[1]}else if(resizing){var ex=+/w$/.test(resizing),ey=+/^n/.test(resizing);offset=[xExtent[1-ex]-origin[0],yExtent[1-ey]-origin[1]];origin[0]=xExtent[ex];origin[1]=yExtent[ey]}else if(d3.event.altKey)center=origin.slice();g.style("pointer-events","none").selectAll(".resize").style("display",null);d3.select("body").style("cursor",eventTarget.style("cursor"));event_({type:"brushstart"});brushmove();function keydown(){if(d3.event.keyCode==32){if(!dragging){center=null;origin[0]-=xExtent[1];origin[1]-=yExtent[1];dragging=2}d3_eventPreventDefault()}}function keyup(){if(d3.event.keyCode==32&&dragging==2){origin[0]+=xExtent[1];origin[1]+=yExtent[1];dragging=0;d3_eventPreventDefault()}}function brushmove(){var point=d3.mouse(target),moved=false;if(offset){point[0]+=offset[0];point[1]+=offset[1]}if(!dragging){if(d3.event.altKey){if(!center)center=[(xExtent[0]+xExtent[1])/2,(yExtent[0]+yExtent[1])/2];origin[0]=xExtent[+(point[0]<center[0])];origin[1]=yExtent[+(point[1]<center[1])]}else center=null}if(resizingX&&move1(point,x,0)){redrawX(g);moved=true}if(resizingY&&move1(point,y,1)){redrawY(g);moved=true}if(moved){redraw(g);event_({type:"brush",mode:dragging?"move":"resize"})}}function move1(point,scale,i){var range=d3_scaleRange(scale),r0=range[0],r1=range[1],position=origin[i],extent=i?yExtent:xExtent,size=extent[1]-extent[0],min,max;if(dragging){r0-=position;r1-=size+position}min=(i?yClamp:xClamp)?Math.max(r0,Math.min(r1,point[i])):point[i];if(dragging){max=(min+=position)+size}else{if(center)position=Math.max(r0,Math.min(r1,2*center[i]-min));if(position<min){max=min;min=position}else{max=position}}if(extent[0]!=min||extent[1]!=max){if(i)yExtentDomain=null;else xExtentDomain=null;extent[0]=min;extent[1]=max;return true}}function brushend(){brushmove();g.style("pointer-events","all").selectAll(".resize").style("display",brush.empty()?"none":null);d3.select("body").style("cursor",null);w.on("mousemove.brush",null).on("mouseup.brush",null).on("touchmove.brush",null).on("touchend.brush",null).on("keydown.brush",null).on("keyup.brush",null);dragRestore();event_({type:"brushend"})}}brush.x=function(z){if(!arguments.length)return x;x=z;resizes=d3_svg_brushResizes[!x<<1|!y];return brush};brush.y=function(z){if(!arguments.length)return y;y=z;resizes=d3_svg_brushResizes[!x<<1|!y];return brush};brush.clamp=function(z){if(!arguments.length)return x&&y?[xClamp,yClamp]:x?xClamp:y?yClamp:null;if(x&&y)xClamp=!!z[0],yClamp=!!z[1];else if(x)xClamp=!!z;else if(y)yClamp=!!z;return brush};brush.extent=function(z){var x0,x1,y0,y1,t;if(!arguments.length){if(x){if(xExtentDomain){x0=xExtentDomain[0],x1=xExtentDomain[1]}else{x0=xExtent[0],x1=xExtent[1];if(x.invert)x0=x.invert(x0),x1=x.invert(x1);if(x1<x0)t=x0,x0=x1,x1=t}}if(y){if(yExtentDomain){y0=yExtentDomain[0],y1=yExtentDomain[1]}else{y0=yExtent[0],y1=yExtent[1];if(y.invert)y0=y.invert(y0),y1=y.invert(y1);if(y1<y0)t=y0,y0=y1,y1=t}}return x&&y?[[x0,y0],[x1,y1]]:x?[x0,x1]:y&&[y0,y1]}if(x){x0=z[0],x1=z[1];if(y)x0=x0[0],x1=x1[0];xExtentDomain=[x0,x1];if(x.invert)x0=x(x0),x1=x(x1);if(x1<x0)t=x0,x0=x1,x1=t;if(x0!=xExtent[0]||x1!=xExtent[1])xExtent=[x0,x1]}if(y){y0=z[0],y1=z[1];if(x)y0=y0[1],y1=y1[1];yExtentDomain=[y0,y1];if(y.invert)y0=y(y0),y1=y(y1);if(y1<y0)t=y0,y0=y1,y1=t;if(y0!=yExtent[0]||y1!=yExtent[1])yExtent=[y0,y1]}return brush};brush.clear=function(){if(!brush.empty()){xExtent=[0,0],yExtent=[0,0];xExtentDomain=yExtentDomain=null}return brush};brush.empty=function(){return!!x&&xExtent[0]==xExtent[1]||!!y&&yExtent[0]==yExtent[1]};return d3.rebind(brush,event,"on")};var d3_svg_brushCursor={n:"ns-resize",e:"ew-resize",s:"ns-resize",w:"ew-resize",nw:"nwse-resize",ne:"nesw-resize",se:"nwse-resize",sw:"nesw-resize"};var d3_svg_brushResizes=[["n","e","s","w","nw","ne","se","sw"],["e","w"],["n","s"],[]];var d3_time_format=d3_time.format=d3_locale_enUS.timeFormat;var d3_time_formatUtc=d3_time_format.utc;var d3_time_formatIso=d3_time_formatUtc("%Y-%m-%dT%H:%M:%S.%LZ");d3_time_format.iso=Date.prototype.toISOString&&+new Date("2000-01-01T00:00:00.000Z")?d3_time_formatIsoNative:d3_time_formatIso;function d3_time_formatIsoNative(date){return date.toISOString()}d3_time_formatIsoNative.parse=function(string){var date=new Date(string);return isNaN(date)?null:date};d3_time_formatIsoNative.toString=d3_time_formatIso.toString;d3_time.second=d3_time_interval(function(date){return new d3_date(Math.floor(date/1e3)*1e3)},function(date,offset){date.setTime(date.getTime()+Math.floor(offset)*1e3)},function(date){return date.getSeconds()});d3_time.seconds=d3_time.second.range;d3_time.seconds.utc=d3_time.second.utc.range;d3_time.minute=d3_time_interval(function(date){return new d3_date(Math.floor(date/6e4)*6e4)},function(date,offset){date.setTime(date.getTime()+Math.floor(offset)*6e4)},function(date){return date.getMinutes()});d3_time.minutes=d3_time.minute.range;d3_time.minutes.utc=d3_time.minute.utc.range;d3_time.hour=d3_time_interval(function(date){var timezone=date.getTimezoneOffset()/60;return new d3_date((Math.floor(date/36e5-timezone)+timezone)*36e5)},function(date,offset){date.setTime(date.getTime()+Math.floor(offset)*36e5)},function(date){return date.getHours()});d3_time.hours=d3_time.hour.range;d3_time.hours.utc=d3_time.hour.utc.range;d3_time.month=d3_time_interval(function(date){date=d3_time.day(date);date.setDate(1);return date},function(date,offset){date.setMonth(date.getMonth()+offset)},function(date){return date.getMonth()});d3_time.months=d3_time.month.range;d3_time.months.utc=d3_time.month.utc.range;function d3_time_scale(linear,methods,format){function scale(x){return linear(x)}scale.invert=function(x){return d3_time_scaleDate(linear.invert(x))};scale.domain=function(x){if(!arguments.length)return linear.domain().map(d3_time_scaleDate);linear.domain(x);return scale};function tickMethod(extent,count){var span=extent[1]-extent[0],target=span/count,i=d3.bisect(d3_time_scaleSteps,target);return i==d3_time_scaleSteps.length?[methods.year,d3_scale_linearTickRange(extent.map(function(d){return d/31536e6}),count)[2]]:!i?[d3_time_scaleMilliseconds,d3_scale_linearTickRange(extent,count)[2]]:methods[target/d3_time_scaleSteps[i-1]<d3_time_scaleSteps[i]/target?i-1:i]}scale.nice=function(interval,skip){var domain=scale.domain(),extent=d3_scaleExtent(domain),method=interval==null?tickMethod(extent,10):typeof interval==="number"&&tickMethod(extent,interval);if(method)interval=method[0],skip=method[1];function skipped(date){return!isNaN(date)&&!interval.range(date,d3_time_scaleDate(+date+1),skip).length}return scale.domain(d3_scale_nice(domain,skip>1?{floor:function(date){while(skipped(date=interval.floor(date)))date=d3_time_scaleDate(date-1);return date},ceil:function(date){while(skipped(date=interval.ceil(date)))date=d3_time_scaleDate(+date+1);return date}}:interval))};scale.ticks=function(interval,skip){var extent=d3_scaleExtent(scale.domain()),method=interval==null?tickMethod(extent,10):typeof interval==="number"?tickMethod(extent,interval):!interval.range&&[{range:interval},skip];if(method)interval=method[0],skip=method[1];return interval.range(extent[0],d3_time_scaleDate(+extent[1]+1),skip<1?1:skip)};scale.tickFormat=function(){return format};scale.copy=function(){return d3_time_scale(linear.copy(),methods,format)};return d3_scale_linearRebind(scale,linear)}function d3_time_scaleDate(t){return new Date(t)}var d3_time_scaleSteps=[1e3,5e3,15e3,3e4,6e4,3e5,9e5,18e5,36e5,108e5,216e5,432e5,864e5,1728e5,6048e5,2592e6,7776e6,31536e6];var d3_time_scaleLocalMethods=[[d3_time.second,1],[d3_time.second,5],[d3_time.second,15],[d3_time.second,30],[d3_time.minute,1],[d3_time.minute,5],[d3_time.minute,15],[d3_time.minute,30],[d3_time.hour,1],[d3_time.hour,3],[d3_time.hour,6],[d3_time.hour,12],[d3_time.day,1],[d3_time.day,2],[d3_time.week,1],[d3_time.month,1],[d3_time.month,3],[d3_time.year,1]];var d3_time_scaleLocalFormat=d3_time_format.multi([[".%L",function(d){return d.getMilliseconds()}],[":%S",function(d){return d.getSeconds()}],["%I:%M",function(d){return d.getMinutes()}],["%I %p",function(d){return d.getHours()}],["%a %d",function(d){return d.getDay()&&d.getDate()!=1}],["%b %d",function(d){return d.getDate()!=1}],["%B",function(d){return d.getMonth()}],["%Y",d3_true]]);var d3_time_scaleMilliseconds={range:function(start,stop,step){return d3.range(Math.ceil(start/step)*step,+stop,step).map(d3_time_scaleDate)},floor:d3_identity,ceil:d3_identity};d3_time_scaleLocalMethods.year=d3_time.year;d3_time.scale=function(){return d3_time_scale(d3.scale.linear(),d3_time_scaleLocalMethods,d3_time_scaleLocalFormat)};var d3_time_scaleUtcMethods=d3_time_scaleLocalMethods.map(function(m){return[m[0].utc,m[1]]});var d3_time_scaleUtcFormat=d3_time_formatUtc.multi([[".%L",function(d){return d.getUTCMilliseconds()}],[":%S",function(d){return d.getUTCSeconds()}],["%I:%M",function(d){return d.getUTCMinutes()}],["%I %p",function(d){return d.getUTCHours()}],["%a %d",function(d){return d.getUTCDay()&&d.getUTCDate()!=1}],["%b %d",function(d){return d.getUTCDate()!=1}],["%B",function(d){return d.getUTCMonth()}],["%Y",d3_true]]);d3_time_scaleUtcMethods.year=d3_time.year.utc;d3_time.scale.utc=function(){return d3_time_scale(d3.scale.linear(),d3_time_scaleUtcMethods,d3_time_scaleUtcFormat)};d3.text=d3_xhrType(function(request){return request.responseText});d3.json=function(url,callback){return d3_xhr(url,"application/json",d3_json,callback)};function d3_json(request){return JSON.parse(request.responseText)}d3.html=function(url,callback){return d3_xhr(url,"text/html",d3_html,callback)};function d3_html(request){var range=d3_document.createRange();range.selectNode(d3_document.body);return range.createContextualFragment(request.responseText)}d3.xml=d3_xhrType(function(request){return request.responseXML});if(typeof define==="function"&&define.amd)define(d3);else if(typeof module==="object"&&module.exports)module.exports=d3;this.d3=d3}();
\ No newline at end of file
diff --git a/core/Test/build/js/holder.min.js b/core/Test/build/js/holder.min.js
new file mode 100644
index 0000000000000000000000000000000000000000..89cc7ac380a96a3e2ea1c816dd31d8f68d84f7f8
--- /dev/null
+++ b/core/Test/build/js/holder.min.js
@@ -0,0 +1,2 @@
+(function(window){if(!window.document)return;var document=window.document;if(!document.querySelectorAll){document.querySelectorAll=function(selectors){var style=document.createElement("style"),elements=[],element;document.documentElement.firstChild.appendChild(style);document._qsa=[];style.styleSheet.cssText=selectors+"{x-qsa:expression(document._qsa && document._qsa.push(this))}";window.scrollBy(0,0);style.parentNode.removeChild(style);while(document._qsa.length){element=document._qsa.shift();element.style.removeAttribute("x-qsa");elements.push(element)}document._qsa=null;return elements}}if(!document.querySelector){document.querySelector=function(selectors){var elements=document.querySelectorAll(selectors);return elements.length?elements[0]:null}}if(!document.getElementsByClassName){document.getElementsByClassName=function(classNames){classNames=String(classNames).replace(/^|\s+/g,".");return document.querySelectorAll(classNames)}}if(!Object.keys){Object.keys=function(o){if(o!==Object(o)){throw TypeError("Object.keys called on non-object")}var ret=[],p;for(p in o){if(Object.prototype.hasOwnProperty.call(o,p)){ret.push(p)}}return ret}}(function(global){var B64_ALPHABET="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";global.atob=global.atob||function(input){input=String(input);var position=0,output=[],buffer=0,bits=0,n;input=input.replace(/\s/g,"");if(input.length%4===0){input=input.replace(/=+$/,"")}if(input.length%4===1){throw Error("InvalidCharacterError")}if(/[^+\/0-9A-Za-z]/.test(input)){throw Error("InvalidCharacterError")}while(position<input.length){n=B64_ALPHABET.indexOf(input.charAt(position));buffer=buffer<<6|n;bits+=6;if(bits===24){output.push(String.fromCharCode(buffer>>16&255));output.push(String.fromCharCode(buffer>>8&255));output.push(String.fromCharCode(buffer&255));bits=0;buffer=0}position+=1}if(bits===12){buffer=buffer>>4;output.push(String.fromCharCode(buffer&255))}else if(bits===18){buffer=buffer>>2;output.push(String.fromCharCode(buffer>>8&255));output.push(String.fromCharCode(buffer&255))}return output.join("")};global.btoa=global.btoa||function(input){input=String(input);var position=0,out=[],o1,o2,o3,e1,e2,e3,e4;if(/[^\x00-\xFF]/.test(input)){throw Error("InvalidCharacterError")}while(position<input.length){o1=input.charCodeAt(position++);o2=input.charCodeAt(position++);o3=input.charCodeAt(position++);e1=o1>>2;e2=(o1&3)<<4|o2>>4;e3=(o2&15)<<2|o3>>6;e4=o3&63;if(position===input.length+2){e3=64;e4=64}else if(position===input.length+1){e4=64}out.push(B64_ALPHABET.charAt(e1),B64_ALPHABET.charAt(e2),B64_ALPHABET.charAt(e3),B64_ALPHABET.charAt(e4))}return out.join("")}})(window);if(!Object.prototype.hasOwnProperty){Object.prototype.hasOwnProperty=function(prop){var proto=this.__proto__||this.constructor.prototype;return prop in this&&(!(prop in proto)||proto[prop]!==this[prop])}}(function(){if("performance"in window===false){window.performance={}}Date.now=Date.now||function(){return(new Date).getTime()};if("now"in window.performance===false){var nowOffset=Date.now();if(performance.timing&&performance.timing.navigationStart){nowOffset=performance.timing.navigationStart}window.performance.now=function now(){return Date.now()-nowOffset}}})();if(!window.requestAnimationFrame){if(window.webkitRequestAnimationFrame){(function(global){global.requestAnimationFrame=function(callback){return webkitRequestAnimationFrame(function(){callback(global.performance.now())})};global.cancelAnimationFrame=webkitCancelAnimationFrame})(window)}else if(window.mozRequestAnimationFrame){(function(global){global.requestAnimationFrame=function(callback){return mozRequestAnimationFrame(function(){callback(global.performance.now())})};global.cancelAnimationFrame=mozCancelAnimationFrame})(window)}else{(function(global){global.requestAnimationFrame=function(callback){return global.setTimeout(callback,1e3/60)};global.cancelAnimationFrame=global.clearTimeout})(window)}}})(this);(function webpackUniversalModuleDefinition(root,factory){if(typeof exports==="object"&&typeof module==="object")module.exports=factory();else if(typeof define==="function"&&define.amd)define(factory);else if(typeof exports==="object")exports["Holder"]=factory();else root["Holder"]=factory()})(this,function(){return function(modules){var installedModules={};function __webpack_require__(moduleId){if(installedModules[moduleId])return installedModules[moduleId].exports;var module=installedModules[moduleId]={exports:{},id:moduleId,loaded:false};modules[moduleId].call(module.exports,module,module.exports,__webpack_require__);module.loaded=true;return module.exports}__webpack_require__.m=modules;__webpack_require__.c=installedModules;__webpack_require__.p="";return __webpack_require__(0)}([function(module,exports,__webpack_require__){(function(global){var onDomReady=__webpack_require__(1);var SceneGraph=__webpack_require__(2);var utils=__webpack_require__(3);var querystring=__webpack_require__(4);var extend=utils.extend;var getNodeArray=utils.getNodeArray;var dimensionCheck=utils.dimensionCheck;var SVG_NS="http://www.w3.org/2000/svg";var NODE_TYPE_COMMENT=8;var version="2.7.1";var generatorComment="\n"+"Created with Holder.js "+version+".\n"+"Learn more at http://holderjs.com\n"+"(c) 2012-2015 Ivan Malopinsky - http://imsky.co\n";var Holder={version:version,addTheme:function(name,theme){name!=null&&theme!=null&&(App.settings.themes[name]=theme);delete App.vars.cache.themeKeys;return this},addImage:function(src,el){var node=document.querySelectorAll(el);if(node.length){for(var i=0,l=node.length;i<l;i++){var img=newEl("img");var domProps={};domProps[App.vars.dataAttr]=src;setAttr(img,domProps);node[i].appendChild(img)}}return this},setResizeUpdate:function(el,value){if(el.holderData){el.holderData.resizeUpdate=!!value;if(el.holderData.resizeUpdate){updateResizableElements(el)}}},run:function(userOptions){userOptions=userOptions||{};var engineSettings={};var options=extend(App.settings,userOptions);App.vars.preempted=true;App.vars.dataAttr=options.dataAttr||App.vars.dataAttr;engineSettings.renderer=options.renderer?options.renderer:App.setup.renderer;if(App.setup.renderers.join(",").indexOf(engineSettings.renderer)===-1){engineSettings.renderer=App.setup.supportsSVG?"svg":App.setup.supportsCanvas?"canvas":"html"}var images=getNodeArray(options.images);var bgnodes=getNodeArray(options.bgnodes);var stylenodes=getNodeArray(options.stylenodes);var objects=getNodeArray(options.objects);engineSettings.stylesheets=[];engineSettings.svgXMLStylesheet=true;engineSettings.noFontFallback=options.noFontFallback?options.noFontFallback:false;for(var i=0;i<stylenodes.length;i++){var styleNode=stylenodes[i];if(styleNode.attributes.rel&&styleNode.attributes.href&&styleNode.attributes.rel.value=="stylesheet"){var href=styleNode.attributes.href.value;var proxyLink=newEl("a");proxyLink.href=href;var stylesheetURL=proxyLink.protocol+"//"+proxyLink.host+proxyLink.pathname+proxyLink.search;engineSettings.stylesheets.push(stylesheetURL)}}for(i=0;i<bgnodes.length;i++){if(!global.getComputedStyle)continue;var backgroundImage=global.getComputedStyle(bgnodes[i],null).getPropertyValue("background-image");var dataBackgroundImage=bgnodes[i].getAttribute("data-background-src");var rawURL=null;if(dataBackgroundImage==null){rawURL=backgroundImage}else{rawURL=dataBackgroundImage}var holderURL=null;var holderString="?"+options.domain+"/";if(rawURL.indexOf(holderString)===0){holderURL=rawURL.slice(1)}else if(rawURL.indexOf(holderString)!=-1){var fragment=rawURL.substr(rawURL.indexOf(holderString)).slice(1);var fragmentMatch=fragment.match(/([^\"]*)"?\)/);if(fragmentMatch!=null){holderURL=fragmentMatch[1]}}if(holderURL!=null){var holderFlags=parseURL(holderURL,options);if(holderFlags){prepareDOMElement({mode:"background",el:bgnodes[i],flags:holderFlags,engineSettings:engineSettings})}}}for(i=0;i<objects.length;i++){var object=objects[i];var objectAttr={};try{objectAttr.data=object.getAttribute("data");objectAttr.dataSrc=object.getAttribute(App.vars.dataAttr)}catch(e){}var objectHasSrcURL=objectAttr.data!=null&&objectAttr.data.indexOf(options.domain)===0;var objectHasDataSrcURL=objectAttr.dataSrc!=null&&objectAttr.dataSrc.indexOf(options.domain)===0;if(objectHasSrcURL){prepareImageElement(options,engineSettings,objectAttr.data,object)}else if(objectHasDataSrcURL){prepareImageElement(options,engineSettings,objectAttr.dataSrc,object)}}for(i=0;i<images.length;i++){var image=images[i];var imageAttr={};try{imageAttr.src=image.getAttribute("src");imageAttr.dataSrc=image.getAttribute(App.vars.dataAttr);imageAttr.rendered=image.getAttribute("data-holder-rendered")}catch(e){}var imageHasSrc=imageAttr.src!=null;var imageHasDataSrcURL=imageAttr.dataSrc!=null&&imageAttr.dataSrc.indexOf(options.domain)===0;var imageRendered=imageAttr.rendered!=null&&imageAttr.rendered=="true";if(imageHasSrc){if(imageAttr.src.indexOf(options.domain)===0){prepareImageElement(options,engineSettings,imageAttr.src,image)}else if(imageHasDataSrcURL){if(imageRendered){prepareImageElement(options,engineSettings,imageAttr.dataSrc,image)}else{(function(src,options,engineSettings,dataSrc,image){utils.imageExists(src,function(exists){if(!exists){prepareImageElement(options,engineSettings,dataSrc,image)}})})(imageAttr.src,options,engineSettings,imageAttr.dataSrc,image)}}}else if(imageHasDataSrcURL){prepareImageElement(options,engineSettings,imageAttr.dataSrc,image)}}return this}};var App={settings:{domain:"holder.js",images:"img",objects:"object",bgnodes:"body .holderjs",stylenodes:"head link.holderjs",stylesheets:[],themes:{gray:{background:"#EEEEEE",foreground:"#AAAAAA"},social:{background:"#3a5a97",foreground:"#FFFFFF"},industrial:{background:"#434A52",foreground:"#C2F200"},sky:{background:"#0D8FDB",foreground:"#FFFFFF"},vine:{background:"#39DBAC",foreground:"#1E292C"},lava:{background:"#F8591A",foreground:"#1C2846"}}},defaults:{size:10,units:"pt",scale:1/16},flags:{dimensions:{regex:/^(\d+)x(\d+)$/,output:function(val){var exec=this.regex.exec(val);return{width:+exec[1],height:+exec[2]}}},fluid:{regex:/^([0-9]+%?)x([0-9]+%?)$/,output:function(val){var exec=this.regex.exec(val);return{width:exec[1],height:exec[2]}}},colors:{regex:/(?:#|\^)([0-9a-f]{3,})\:(?:#|\^)([0-9a-f]{3,})/i,output:function(val){var exec=this.regex.exec(val);return{foreground:"#"+exec[2],background:"#"+exec[1]}}},text:{regex:/text\:(.*)/,output:function(val){return this.regex.exec(val)[1].replace("\\/","/")}},font:{regex:/font\:(.*)/,output:function(val){return this.regex.exec(val)[1]}},auto:{regex:/^auto$/},textmode:{regex:/textmode\:(.*)/,output:function(val){return this.regex.exec(val)[1]}},random:{regex:/^random$/},size:{regex:/size\:(\d+)/,output:function(val){return this.regex.exec(val)[1]}}}};function prepareImageElement(options,engineSettings,src,el){var holderFlags=parseURL(src.substr(src.lastIndexOf(options.domain)),options);if(holderFlags){prepareDOMElement({mode:null,el:el,flags:holderFlags,engineSettings:engineSettings})}}function parseURL(url,options){var holder={theme:extend(App.settings.themes.gray,null),stylesheets:options.stylesheets,instanceOptions:options};if(url.match(/([\d]+p?)x([\d]+p?)(?:\?|$)/)){return parseQueryString(url,holder)}else{return parseFlags(url,holder)}}function parseQueryString(url,holder){var parts=url.split("?");var basics=parts[0].split("/");holder.holderURL=url;var dimensions=basics[1];var dimensionData=dimensions.match(/([\d]+p?)x([\d]+p?)/);if(!dimensionData)return false;holder.fluid=dimensions.indexOf("p")!==-1;holder.dimensions={width:dimensionData[1].replace("p","%"),height:dimensionData[2].replace("p","%")};if(parts.length===2){var options=querystring.parse(parts[1]);if(options.bg){holder.theme.background=(options.bg.indexOf("#")===-1?"#":"")+options.bg}if(options.fg){holder.theme.foreground=(options.fg.indexOf("#")===-1?"#":"")+options.fg}if(options.theme&&holder.instanceOptions.themes.hasOwnProperty(options.theme)){holder.theme=extend(holder.instanceOptions.themes[options.theme],null)}if(options.text){holder.text=options.text}if(options.textmode){holder.textmode=options.textmode}if(options.size){holder.size=options.size}if(options.font){holder.font=options.font}if(options.align){holder.align=options.align}holder.nowrap=utils.truthy(options.nowrap);holder.auto=utils.truthy(options.auto);if(utils.truthy(options.random)){App.vars.cache.themeKeys=App.vars.cache.themeKeys||Object.keys(holder.instanceOptions.themes);var _theme=App.vars.cache.themeKeys[0|Math.random()*App.vars.cache.themeKeys.length];holder.theme=extend(holder.instanceOptions.themes[_theme],null)}}return holder}function parseFlags(url,holder){var render=false;var vtab=String.fromCharCode(11);var flags=url.replace(/([^\\])\//g,"$1"+vtab).split(vtab);var uriRegex=/%[0-9a-f]{2}/gi;var options=holder.instanceOptions;holder.holderURL=[];for(var fl=flags.length,j=0;j<fl;j++){var flag=flags[j];if(flag.match(uriRegex)){try{flag=decodeURIComponent(flag)}catch(e){flag=flags[j]}}var push=false;if(App.flags.dimensions.match(flag)){render=true;holder.dimensions=App.flags.dimensions.output(flag);push=true}else if(App.flags.fluid.match(flag)){render=true;holder.dimensions=App.flags.fluid.output(flag);holder.fluid=true;push=true}else if(App.flags.textmode.match(flag)){holder.textmode=App.flags.textmode.output(flag);push=true}else if(App.flags.colors.match(flag)){var colors=App.flags.colors.output(flag);holder.theme=extend(holder.theme,colors);push=true}else if(options.themes[flag]){if(options.themes.hasOwnProperty(flag)){holder.theme=extend(options.themes[flag],null)}push=true}else if(App.flags.font.match(flag)){holder.font=App.flags.font.output(flag);push=true}else if(App.flags.auto.match(flag)){holder.auto=true;push=true}else if(App.flags.text.match(flag)){holder.text=App.flags.text.output(flag);push=true}else if(App.flags.size.match(flag)){holder.size=App.flags.size.output(flag);push=true}else if(App.flags.random.match(flag)){if(App.vars.cache.themeKeys==null){App.vars.cache.themeKeys=Object.keys(options.themes)}var theme=App.vars.cache.themeKeys[0|Math.random()*App.vars.cache.themeKeys.length];holder.theme=extend(options.themes[theme],null);push=true}if(push){holder.holderURL.push(flag)}}holder.holderURL.unshift(options.domain);holder.holderURL=holder.holderURL.join("/");return render?holder:false}function prepareDOMElement(prepSettings){var mode=prepSettings.mode;var el=prepSettings.el;var flags=prepSettings.flags;var _engineSettings=prepSettings.engineSettings;var dimensions=flags.dimensions,theme=flags.theme;var dimensionsCaption=dimensions.width+"x"+dimensions.height;mode=mode==null?flags.fluid?"fluid":"image":mode;if(flags.text!=null){theme.text=flags.text;if(el.nodeName.toLowerCase()==="object"){var textLines=theme.text.split("\\n");for(var k=0;k<textLines.length;k++){textLines[k]=utils.encodeHtmlEntity(textLines[k])}theme.text=textLines.join("\\n")}}var holderURL=flags.holderURL;var engineSettings=extend(_engineSettings,null);if(flags.font){theme.font=flags.font;if(!engineSettings.noFontFallback&&el.nodeName.toLowerCase()==="img"&&App.setup.supportsCanvas&&engineSettings.renderer==="svg"){engineSettings=extend(engineSettings,{renderer:"canvas"})}}if(flags.font&&engineSettings.renderer=="canvas"){engineSettings.reRender=true}if(mode=="background"){if(el.getAttribute("data-background-src")==null){setAttr(el,{"data-background-src":holderURL})}}else{var domProps={};domProps[App.vars.dataAttr]=holderURL;setAttr(el,domProps)}flags.theme=theme;el.holderData={flags:flags,engineSettings:engineSettings};if(mode=="image"||mode=="fluid"){setAttr(el,{alt:theme.text?theme.text+" ["+dimensionsCaption+"]":dimensionsCaption})}var renderSettings={mode:mode,el:el,holderSettings:{dimensions:dimensions,theme:theme,flags:flags},engineSettings:engineSettings};if(mode=="image"){if(engineSettings.renderer=="html"||!flags.auto){el.style.width=dimensions.width+"px";el.style.height=dimensions.height+"px"}if(engineSettings.renderer=="html"){el.style.backgroundColor=theme.background}else{render(renderSettings);if(flags.textmode=="exact"){el.holderData.resizeUpdate=true;App.vars.resizableImages.push(el);updateResizableElements(el)}}}else if(mode=="background"&&engineSettings.renderer!="html"){render(renderSettings)}else if(mode=="fluid"){el.holderData.resizeUpdate=true;if(dimensions.height.slice(-1)=="%"){el.style.height=dimensions.height}else if(flags.auto==null||!flags.auto){el.style.height=dimensions.height+"px"}if(dimensions.width.slice(-1)=="%"){el.style.width=dimensions.width}else if(flags.auto==null||!flags.auto){el.style.width=dimensions.width+"px"}if(el.style.display=="inline"||el.style.display===""||el.style.display=="none"){el.style.display="block"}setInitialDimensions(el);if(engineSettings.renderer=="html"){el.style.backgroundColor=theme.background}else{App.vars.resizableImages.push(el);updateResizableElements(el)}}}function render(renderSettings){var image=null;var mode=renderSettings.mode;var holderSettings=renderSettings.holderSettings;var el=renderSettings.el;var engineSettings=renderSettings.engineSettings;switch(engineSettings.renderer){case"svg":if(!App.setup.supportsSVG)return;break;case"canvas":if(!App.setup.supportsCanvas)return;break;default:return}var scene={width:holderSettings.dimensions.width,height:holderSettings.dimensions.height,theme:holderSettings.theme,flags:holderSettings.flags};var sceneGraph=buildSceneGraph(scene);function getRenderedImage(){var image=null;switch(engineSettings.renderer){case"canvas":image=sgCanvasRenderer(sceneGraph,renderSettings);break;case"svg":image=sgSVGRenderer(sceneGraph,renderSettings);break;default:throw"Holder: invalid renderer: "+engineSettings.renderer}return image}image=getRenderedImage();if(image==null){throw"Holder: couldn't render placeholder"}if(mode=="background"){el.style.backgroundImage="url("+image+")";el.style.backgroundSize=scene.width+"px "+scene.height+"px"}else{if(el.nodeName.toLowerCase()==="img"){setAttr(el,{src:image})}else if(el.nodeName.toLowerCase()==="object"){setAttr(el,{data:image});setAttr(el,{type:"image/svg+xml"})}if(engineSettings.reRender){global.setTimeout(function(){var image=getRenderedImage();if(image==null){throw"Holder: couldn't render placeholder"}if(el.nodeName.toLowerCase()==="img"){setAttr(el,{src:image})}else if(el.nodeName.toLowerCase()==="object"){setAttr(el,{data:image});setAttr(el,{type:"image/svg+xml"})}},100)}}setAttr(el,{"data-holder-rendered":true})}function buildSceneGraph(scene){var fontSize=App.defaults.size;if(parseFloat(scene.theme.size)){fontSize=scene.theme.size}else if(parseFloat(scene.flags.size)){fontSize=scene.flags.size}scene.font={family:scene.theme.font?scene.theme.font:"Arial, Helvetica, Open Sans, sans-serif",size:textSize(scene.width,scene.height,fontSize),units:scene.theme.units?scene.theme.units:App.defaults.units,weight:scene.theme.fontweight?scene.theme.fontweight:"bold"};scene.text=scene.theme.text||Math.floor(scene.width)+"x"+Math.floor(scene.height);scene.noWrap=scene.theme.nowrap||scene.flags.nowrap;scene.align=scene.theme.align||scene.flags.align||"center";switch(scene.flags.textmode){case"literal":scene.text=scene.flags.dimensions.width+"x"+scene.flags.dimensions.height;break;case"exact":if(!scene.flags.exactDimensions)break;scene.text=Math.floor(scene.flags.exactDimensions.width)+"x"+Math.floor(scene.flags.exactDimensions.height);break}var sceneGraph=new SceneGraph({width:scene.width,height:scene.height});var Shape=sceneGraph.Shape;var holderBg=new Shape.Rect("holderBg",{fill:scene.theme.background});holderBg.resize(scene.width,scene.height);sceneGraph.root.add(holderBg);var holderTextGroup=new Shape.Group("holderTextGroup",{text:scene.text,align:scene.align,font:scene.font,fill:scene.theme.foreground});holderTextGroup.moveTo(null,null,1);sceneGraph.root.add(holderTextGroup);var tpdata=holderTextGroup.textPositionData=stagingRenderer(sceneGraph);if(!tpdata){throw"Holder: staging fallback not supported yet."}holderTextGroup.properties.leading=tpdata.boundingBox.height;var textNode=null;var line=null;function finalizeLine(parent,line,width,height){line.width=width;line.height=height;parent.width=Math.max(parent.width,line.width);parent.height+=line.height}var sceneMargin=scene.width*App.setup.lineWrapRatio;var maxLineWidth=sceneMargin;if(tpdata.lineCount>1){var offsetX=0;var offsetY=0;var lineIndex=0;var lineKey;line=new Shape.Group("line"+lineIndex);if(scene.align==="left"||scene.align==="right"){maxLineWidth=scene.width*(1-(1-App.setup.lineWrapRatio)*2)}for(var i=0;i<tpdata.words.length;i++){var word=tpdata.words[i];textNode=new Shape.Text(word.text);var newline=word.text=="\\n";if(!scene.noWrap&&(offsetX+word.width>=maxLineWidth||newline===true)){finalizeLine(holderTextGroup,line,offsetX,holderTextGroup.properties.leading);holderTextGroup.add(line);offsetX=0;offsetY+=holderTextGroup.properties.leading;lineIndex+=1;line=new Shape.Group("line"+lineIndex);line.y=offsetY}if(newline===true){continue}textNode.moveTo(offsetX,0);offsetX+=tpdata.spaceWidth+word.width;line.add(textNode)}finalizeLine(holderTextGroup,line,offsetX,holderTextGroup.properties.leading);holderTextGroup.add(line);if(scene.align==="left"){holderTextGroup.moveTo(scene.width-sceneMargin,null,null)}else if(scene.align==="right"){for(lineKey in holderTextGroup.children){line=holderTextGroup.children[lineKey];line.moveTo(scene.width-line.width,null,null)}holderTextGroup.moveTo(0-(scene.width-sceneMargin),null,null)}else{for(lineKey in holderTextGroup.children){line=holderTextGroup.children[lineKey];line.moveTo((holderTextGroup.width-line.width)/2,null,null)}holderTextGroup.moveTo((scene.width-holderTextGroup.width)/2,null,null)}holderTextGroup.moveTo(null,(scene.height-holderTextGroup.height)/2,null);if((scene.height-holderTextGroup.height)/2<0){holderTextGroup.moveTo(null,0,null)}}else{textNode=new Shape.Text(scene.text);line=new Shape.Group("line0");line.add(textNode);holderTextGroup.add(line);if(scene.align==="left"){holderTextGroup.moveTo(scene.width-sceneMargin,null,null)}else if(scene.align==="right"){holderTextGroup.moveTo(0-(scene.width-sceneMargin),null,null)}else{holderTextGroup.moveTo((scene.width-tpdata.boundingBox.width)/2,null,null)}holderTextGroup.moveTo(null,(scene.height-tpdata.boundingBox.height)/2,null)}return sceneGraph}function textSize(width,height,fontSize){var stageWidth=parseInt(width,10);var stageHeight=parseInt(height,10);var bigSide=Math.max(stageWidth,stageHeight);var smallSide=Math.min(stageWidth,stageHeight);var newHeight=.8*Math.min(smallSide,bigSide*App.defaults.scale);return Math.round(Math.max(fontSize,newHeight))}function updateResizableElements(element){var images;if(element==null||element.nodeType==null){images=App.vars.resizableImages}else{images=[element]}for(var i=0,l=images.length;i<l;i++){var el=images[i];if(el.holderData){var flags=el.holderData.flags;var dimensions=dimensionCheck(el);if(dimensions){if(!el.holderData.resizeUpdate){continue}if(flags.fluid&&flags.auto){var fluidConfig=el.holderData.fluidConfig;switch(fluidConfig.mode){case"width":dimensions.height=dimensions.width/fluidConfig.ratio;break;case"height":dimensions.width=dimensions.height*fluidConfig.ratio;break}}var settings={mode:"image",holderSettings:{dimensions:dimensions,theme:flags.theme,flags:flags},el:el,engineSettings:el.holderData.engineSettings};if(flags.textmode=="exact"){flags.exactDimensions=dimensions;settings.holderSettings.dimensions=flags.dimensions}render(settings)}else{setInvisible(el)}}}}function setInitialDimensions(el){if(el.holderData){var dimensions=dimensionCheck(el);if(dimensions){var flags=el.holderData.flags;var fluidConfig={fluidHeight:flags.dimensions.height.slice(-1)=="%",fluidWidth:flags.dimensions.width.slice(-1)=="%",mode:null,initialDimensions:dimensions};if(fluidConfig.fluidWidth&&!fluidConfig.fluidHeight){fluidConfig.mode="width";fluidConfig.ratio=fluidConfig.initialDimensions.width/parseFloat(flags.dimensions.height)}else if(!fluidConfig.fluidWidth&&fluidConfig.fluidHeight){fluidConfig.mode="height";fluidConfig.ratio=parseFloat(flags.dimensions.width)/fluidConfig.initialDimensions.height}el.holderData.fluidConfig=fluidConfig}else{setInvisible(el)}}}function visibilityCheck(){var renderableImages=[];var keys=Object.keys(App.vars.invisibleImages);var el;for(var i=0,l=keys.length;i<l;i++){el=App.vars.invisibleImages[keys[i]];if(dimensionCheck(el)&&el.nodeName.toLowerCase()=="img"){renderableImages.push(el);delete App.vars.invisibleImages[keys[i]]}}if(renderableImages.length){Holder.run({images:renderableImages})}global.requestAnimationFrame(visibilityCheck)}function startVisibilityCheck(){if(!App.vars.visibilityCheckStarted){global.requestAnimationFrame(visibilityCheck);App.vars.visibilityCheckStarted=true}}function setInvisible(el){if(!el.holderData.invisibleId){App.vars.invisibleId+=1;App.vars.invisibleImages["i"+App.vars.invisibleId]=el;el.holderData.invisibleId=App.vars.invisibleId}}var stagingRenderer=function(){var svg=null,stagingText=null,stagingTextNode=null;return function(graph){var rootNode=graph.root;if(App.setup.supportsSVG){var firstTimeSetup=false;var tnode=function(text){return document.createTextNode(text)};if(svg==null||svg.parentNode!==document.body){firstTimeSetup=true}svg=initSVG(svg,rootNode.properties.width,rootNode.properties.height);svg.style.display="block";if(firstTimeSetup){stagingText=newEl("text",SVG_NS);stagingTextNode=tnode(null);setAttr(stagingText,{x:0});stagingText.appendChild(stagingTextNode);svg.appendChild(stagingText);document.body.appendChild(svg);svg.style.visibility="hidden";svg.style.position="absolute";svg.style.top="-100%";svg.style.left="-100%"}var holderTextGroup=rootNode.children.holderTextGroup;var htgProps=holderTextGroup.properties;setAttr(stagingText,{y:htgProps.font.size,style:utils.cssProps({"font-weight":htgProps.font.weight,"font-size":htgProps.font.size+htgProps.font.units,"font-family":htgProps.font.family})});stagingTextNode.nodeValue=htgProps.text;var stagingTextBBox=stagingText.getBBox();var lineCount=Math.ceil(stagingTextBBox.width/(rootNode.properties.width*App.setup.lineWrapRatio));var words=htgProps.text.split(" ");var newlines=htgProps.text.match(/\\n/g);lineCount+=newlines==null?0:newlines.length;stagingTextNode.nodeValue=htgProps.text.replace(/[ ]+/g,"");var computedNoSpaceLength=stagingText.getComputedTextLength();var diffLength=stagingTextBBox.width-computedNoSpaceLength;var spaceWidth=Math.round(diffLength/Math.max(1,words.length-1));var wordWidths=[];if(lineCount>1){stagingTextNode.nodeValue="";for(var i=0;i<words.length;i++){if(words[i].length===0)continue;stagingTextNode.nodeValue=utils.decodeHtmlEntity(words[i]);var bbox=stagingText.getBBox();wordWidths.push({text:words[i],width:bbox.width})}}svg.style.display="none";return{spaceWidth:spaceWidth,lineCount:lineCount,boundingBox:stagingTextBBox,words:wordWidths}}else{return false}}}();var sgCanvasRenderer=function(){var canvas=newEl("canvas");var ctx=null;return function(sceneGraph){if(ctx==null){ctx=canvas.getContext("2d")}var root=sceneGraph.root;canvas.width=App.dpr(root.properties.width);canvas.height=App.dpr(root.properties.height);ctx.textBaseline="middle";ctx.fillStyle=root.children.holderBg.properties.fill;ctx.fillRect(0,0,App.dpr(root.children.holderBg.width),App.dpr(root.children.holderBg.height));var textGroup=root.children.holderTextGroup;var tgProps=textGroup.properties;ctx.font=textGroup.properties.font.weight+" "+App.dpr(textGroup.properties.font.size)+textGroup.properties.font.units+" "+textGroup.properties.font.family+", monospace";ctx.fillStyle=textGroup.properties.fill;for(var lineKey in textGroup.children){var line=textGroup.children[lineKey];for(var wordKey in line.children){var word=line.children[wordKey];var x=App.dpr(textGroup.x+line.x+word.x);var y=App.dpr(textGroup.y+line.y+word.y+textGroup.properties.leading/2);ctx.fillText(word.properties.text,x,y)}}return canvas.toDataURL("image/png")}}();var sgSVGRenderer=function(){if(!global.XMLSerializer)return;var xml=createXML();var svg=initSVG(null,0,0);var bgEl=newEl("rect",SVG_NS);svg.appendChild(bgEl);return function(sceneGraph,renderSettings){var root=sceneGraph.root;initSVG(svg,root.properties.width,root.properties.height);var groups=svg.querySelectorAll("g");for(var i=0;i<groups.length;i++){groups[i].parentNode.removeChild(groups[i])}var holderURL=renderSettings.holderSettings.flags.holderURL;var holderId="holder_"+(Number(new Date)+32768+(0|Math.random()*32768)).toString(16);var sceneGroupEl=newEl("g",SVG_NS);var textGroup=root.children.holderTextGroup;var tgProps=textGroup.properties;var textGroupEl=newEl("g",SVG_NS);var tpdata=textGroup.textPositionData;var textCSSRule="#"+holderId+" text { "+utils.cssProps({fill:tgProps.fill,"font-weight":tgProps.font.weight,"font-family":tgProps.font.family+", monospace","font-size":tgProps.font.size+tgProps.font.units})+" } ";var commentNode=xml.createComment("\n"+"Source URL: "+holderURL+generatorComment);var holderCSS=xml.createCDATASection(textCSSRule);var styleEl=svg.querySelector("style");setAttr(sceneGroupEl,{id:holderId});svg.insertBefore(commentNode,svg.firstChild);styleEl.appendChild(holderCSS);sceneGroupEl.appendChild(bgEl);sceneGroupEl.appendChild(textGroupEl);svg.appendChild(sceneGroupEl);setAttr(bgEl,{width:root.children.holderBg.width,height:root.children.holderBg.height,fill:root.children.holderBg.properties.fill});textGroup.y+=tpdata.boundingBox.height*.8;for(var lineKey in textGroup.children){var line=textGroup.children[lineKey];for(var wordKey in line.children){var word=line.children[wordKey];var x=textGroup.x+line.x+word.x;var y=textGroup.y+line.y+word.y;var textEl=newEl("text",SVG_NS);var textNode=document.createTextNode(null);setAttr(textEl,{x:x,y:y});textNode.nodeValue=word.properties.text;textEl.appendChild(textNode);textGroupEl.appendChild(textEl)}}var svgString=svgStringToDataURI(serializeSVG(svg,renderSettings.engineSettings),renderSettings.mode==="background");return svgString}}();var svgStringToDataURI=function(){var rawPrefix="data:image/svg+xml;charset=UTF-8,";var base64Prefix="data:image/svg+xml;charset=UTF-8;base64,";return function(svgString,base64){if(base64){return base64Prefix+btoa(unescape(encodeURIComponent(svgString)))}else{return rawPrefix+encodeURIComponent(svgString)}}}();function newEl(tag,namespace){if(namespace==null){return document.createElement(tag)}else{return document.createElementNS(namespace,tag)}}function setAttr(el,attrs){for(var a in attrs){el.setAttribute(a,attrs[a])}}function initSVG(svg,width,height){var defs,style;if(svg==null){svg=newEl("svg",SVG_NS);defs=newEl("defs",SVG_NS);style=newEl("style",SVG_NS);setAttr(style,{type:"text/css"});defs.appendChild(style);svg.appendChild(defs)}else{style=svg.querySelector("style")}if(svg.webkitMatchesSelector){svg.setAttribute("xmlns",SVG_NS)}for(var i=0;i<svg.childNodes.length;i++){if(svg.childNodes[i].nodeType===NODE_TYPE_COMMENT){svg.removeChild(svg.childNodes[i])}}while(style.childNodes.length){style.removeChild(style.childNodes[0])}setAttr(svg,{width:width,height:height,viewBox:"0 0 "+width+" "+height,preserveAspectRatio:"none"});return svg}function serializeSVG(svg,engineSettings){if(!global.XMLSerializer)return;var serializer=new XMLSerializer;var svgCSS="";var stylesheets=engineSettings.stylesheets;if(engineSettings.svgXMLStylesheet){var xml=createXML();for(var i=stylesheets.length-1;i>=0;i--){var csspi=xml.createProcessingInstruction("xml-stylesheet",'href="'+stylesheets[i]+'" rel="stylesheet"');xml.insertBefore(csspi,xml.firstChild)}xml.removeChild(xml.documentElement);svgCSS=serializer.serializeToString(xml)}var svgText=serializer.serializeToString(svg);svgText=svgText.replace(/\&amp;(\#[0-9]{2,}\;)/g,"&$1");return svgCSS+svgText}function createXML(){if(!global.DOMParser)return;return(new DOMParser).parseFromString("<xml />","application/xml")}function debounce(fn){if(!App.vars.debounceTimer)fn.call(this);if(App.vars.debounceTimer)global.clearTimeout(App.vars.debounceTimer);
+App.vars.debounceTimer=global.setTimeout(function(){App.vars.debounceTimer=null;fn.call(this)},App.setup.debounce)}function resizeEvent(){debounce(function(){updateResizableElements(null)})}for(var flag in App.flags){if(!App.flags.hasOwnProperty(flag))continue;App.flags[flag].match=function(val){return val.match(this.regex)}}App.setup={renderer:"html",debounce:100,ratio:1,supportsCanvas:false,supportsSVG:false,lineWrapRatio:.9,renderers:["html","canvas","svg"]};App.dpr=function(val){return val*App.setup.ratio};App.vars={preempted:false,resizableImages:[],invisibleImages:{},invisibleId:0,visibilityCheckStarted:false,debounceTimer:null,cache:{},dataAttr:"data-src"};(function(){var devicePixelRatio=1,backingStoreRatio=1;var canvas=newEl("canvas");var ctx=null;if(canvas.getContext){if(canvas.toDataURL("image/png").indexOf("data:image/png")!=-1){App.setup.renderer="canvas";ctx=canvas.getContext("2d");App.setup.supportsCanvas=true}}if(App.setup.supportsCanvas){devicePixelRatio=global.devicePixelRatio||1;backingStoreRatio=ctx.webkitBackingStorePixelRatio||ctx.mozBackingStorePixelRatio||ctx.msBackingStorePixelRatio||ctx.oBackingStorePixelRatio||ctx.backingStorePixelRatio||1}App.setup.ratio=devicePixelRatio/backingStoreRatio;if(!!document.createElementNS&&!!document.createElementNS(SVG_NS,"svg").createSVGRect){App.setup.renderer="svg";App.setup.supportsSVG=true}})();startVisibilityCheck();if(onDomReady){onDomReady(function(){if(!App.vars.preempted){Holder.run()}if(global.addEventListener){global.addEventListener("resize",resizeEvent,false);global.addEventListener("orientationchange",resizeEvent,false)}else{global.attachEvent("onresize",resizeEvent)}if(typeof global.Turbolinks=="object"){global.document.addEventListener("page:change",function(){Holder.run()})}})}module.exports=Holder}).call(exports,function(){return this}())},function(module,exports,__webpack_require__){function _onDomReady(win){if(document.readyState==null&&document.addEventListener){document.addEventListener("DOMContentLoaded",function DOMContentLoaded(){document.removeEventListener("DOMContentLoaded",DOMContentLoaded,false);document.readyState="complete"},false);document.readyState="loading"}var doc=win.document,docElem=doc.documentElement,LOAD="load",FALSE=false,ONLOAD="on"+LOAD,COMPLETE="complete",READYSTATE="readyState",ATTACHEVENT="attachEvent",DETACHEVENT="detachEvent",ADDEVENTLISTENER="addEventListener",DOMCONTENTLOADED="DOMContentLoaded",ONREADYSTATECHANGE="onreadystatechange",REMOVEEVENTLISTENER="removeEventListener",w3c=ADDEVENTLISTENER in doc,_top=FALSE,isReady=FALSE,callbacks=[];function ready(fn){if(!isReady){if(!doc.body){return defer(ready)}isReady=true;while(fn=callbacks.shift()){defer(fn)}}}function completed(event){if(w3c||event.type===LOAD||doc[READYSTATE]===COMPLETE){detach();ready()}}function detach(){if(w3c){doc[REMOVEEVENTLISTENER](DOMCONTENTLOADED,completed,FALSE);win[REMOVEEVENTLISTENER](LOAD,completed,FALSE)}else{doc[DETACHEVENT](ONREADYSTATECHANGE,completed);win[DETACHEVENT](ONLOAD,completed)}}function defer(fn,wait){setTimeout(fn,+wait>=0?wait:1)}if(doc[READYSTATE]===COMPLETE){defer(ready)}else if(w3c){doc[ADDEVENTLISTENER](DOMCONTENTLOADED,completed,FALSE);win[ADDEVENTLISTENER](LOAD,completed,FALSE)}else{doc[ATTACHEVENT](ONREADYSTATECHANGE,completed);win[ATTACHEVENT](ONLOAD,completed);try{_top=win.frameElement==null&&docElem}catch(e){}if(_top&&_top.doScroll){(function doScrollCheck(){if(!isReady){try{_top.doScroll("left")}catch(e){return defer(doScrollCheck,50)}detach();ready()}})()}}function onDomReady(fn){isReady?defer(fn):callbacks.push(fn)}onDomReady.version="1.4.0";onDomReady.isReady=function(){return isReady};return onDomReady}module.exports=typeof window!=="undefined"&&_onDomReady(window)},function(module,exports,__webpack_require__){var augment=__webpack_require__(5);var SceneGraph=function(sceneProperties){var nodeCount=1;function merge(parent,child){for(var prop in child){parent[prop]=child[prop]}return parent}var SceneNode=augment.defclass({constructor:function(name){nodeCount++;this.parent=null;this.children={};this.id=nodeCount;this.name="n"+nodeCount;if(name!=null){this.name=name}this.x=0;this.y=0;this.z=0;this.width=0;this.height=0},resize:function(width,height){if(width!=null){this.width=width}if(height!=null){this.height=height}},moveTo:function(x,y,z){this.x=x!=null?x:this.x;this.y=y!=null?y:this.y;this.z=z!=null?z:this.z},add:function(child){var name=child.name;if(this.children[name]==null){this.children[name]=child;child.parent=this}else{throw"SceneGraph: child with that name already exists: "+name}}});var RootNode=augment(SceneNode,function(uber){this.constructor=function(){uber.constructor.call(this,"root");this.properties=sceneProperties}});var Shape=augment(SceneNode,function(uber){function constructor(name,props){uber.constructor.call(this,name);this.properties={fill:"#000"};if(props!=null){merge(this.properties,props)}else if(name!=null&&typeof name!=="string"){throw"SceneGraph: invalid node name"}}this.Group=augment.extend(this,{constructor:constructor,type:"group"});this.Rect=augment.extend(this,{constructor:constructor,type:"rect"});this.Text=augment.extend(this,{constructor:function(text){constructor.call(this);this.properties.text=text},type:"text"})});var root=new RootNode;this.Shape=Shape;this.root=root;return this};module.exports=SceneGraph},function(module,exports,__webpack_require__){(function(global){exports.extend=function(a,b){var c={};for(var x in a){if(a.hasOwnProperty(x)){c[x]=a[x]}}if(b!=null){for(var y in b){if(b.hasOwnProperty(y)){c[y]=b[y]}}}return c};exports.cssProps=function(props){var ret=[];for(var p in props){if(props.hasOwnProperty(p)){ret.push(p+":"+props[p])}}return ret.join(";")};exports.encodeHtmlEntity=function(str){var buf=[];var charCode=0;for(var i=str.length-1;i>=0;i--){charCode=str.charCodeAt(i);if(charCode>128){buf.unshift(["&#",charCode,";"].join(""))}else{buf.unshift(str[i])}}return buf.join("")};exports.getNodeArray=function(val){var retval=null;if(typeof val=="string"){retval=document.querySelectorAll(val)}else if(global.NodeList&&val instanceof global.NodeList){retval=val}else if(global.Node&&val instanceof global.Node){retval=[val]}else if(global.HTMLCollection&&val instanceof global.HTMLCollection){retval=val}else if(val instanceof Array){retval=val}else if(val===null){retval=[]}return retval};exports.imageExists=function(src,callback){var image=new Image;image.onerror=function(){callback.call(this,false)};image.onload=function(){callback.call(this,true)};image.src=src};exports.decodeHtmlEntity=function(str){return str.replace(/&#(\d+);/g,function(match,dec){return String.fromCharCode(dec)})};exports.dimensionCheck=function(el){var dimensions={height:el.clientHeight,width:el.clientWidth};if(dimensions.height&&dimensions.width){return dimensions}else{return false}};exports.truthy=function(val){if(typeof val==="string"){return val==="true"||val==="yes"||val==="1"||val==="on"||val==="✓"}return!!val}}).call(exports,function(){return this}())},function(module,exports,__webpack_require__){var encode=encodeURIComponent;var decode=decodeURIComponent;var trim=__webpack_require__(6);var type=__webpack_require__(7);var arrayRegex=/(\w+)\[(\d+)\]/;var objectRegex=/\w+\.\w+/;exports.parse=function(str){if("string"!==typeof str)return{};str=trim(str);if(""===str)return{};if("?"===str.charAt(0))str=str.slice(1);var obj={};var pairs=str.split("&");for(var i=0;i<pairs.length;i++){var parts=pairs[i].split("=");var key=decode(parts[0]);var m,ctx,prop;if(m=arrayRegex.exec(key)){obj[m[1]]=obj[m[1]]||[];obj[m[1]][m[2]]=decode(parts[1]);continue}if(m=objectRegex.test(key)){m=key.split(".");ctx=obj;while(m.length){prop=m.shift();if(!prop.length)continue;if(!ctx[prop]){ctx[prop]={}}else if(ctx[prop]&&typeof ctx[prop]!=="object"){break}if(!m.length){ctx[prop]=decode(parts[1])}ctx=ctx[prop]}continue}obj[parts[0]]=null==parts[1]?"":decode(parts[1])}return obj};exports.stringify=function(obj){if(!obj)return"";var pairs=[];for(var key in obj){var value=obj[key];if("array"==type(value)){for(var i=0;i<value.length;++i){pairs.push(encode(key+"["+i+"]")+"="+encode(value[i]))}continue}pairs.push(encode(key)+"="+encode(obj[key]))}return pairs.join("&")}},function(module,exports,__webpack_require__){var Factory=function(){};var slice=Array.prototype.slice;var augment=function(base,body){var uber=Factory.prototype=typeof base==="function"?base.prototype:base;var prototype=new Factory,properties=body.apply(prototype,slice.call(arguments,2).concat(uber));if(typeof properties==="object")for(var key in properties)prototype[key]=properties[key];if(!prototype.hasOwnProperty("constructor"))return prototype;var constructor=prototype.constructor;constructor.prototype=prototype;return constructor};augment.defclass=function(prototype){var constructor=prototype.constructor;constructor.prototype=prototype;return constructor};augment.extend=function(base,body){return augment(base,function(uber){this.uber=uber;return body})};module.exports=augment},function(module,exports,__webpack_require__){exports=module.exports=trim;function trim(str){return str.replace(/^\s*|\s*$/g,"")}exports.left=function(str){return str.replace(/^\s*/,"")};exports.right=function(str){return str.replace(/\s*$/,"")}},function(module,exports,__webpack_require__){var toString=Object.prototype.toString;module.exports=function(val){switch(toString.call(val)){case"[object Date]":return"date";case"[object RegExp]":return"regexp";case"[object Arguments]":return"arguments";case"[object Array]":return"array";case"[object Error]":return"error"}if(val===null)return"null";if(val===undefined)return"undefined";if(val!==val)return"nan";if(val&&val.nodeType===1)return"element";val=val.valueOf?val.valueOf():Object.prototype.valueOf.apply(val);return typeof val}}])});(function(ctx,isMeteorPackage){if(isMeteorPackage){Holder=ctx.Holder}})(this,typeof Meteor!=="undefined"&&typeof Package!=="undefined");
\ No newline at end of file
diff --git a/core/Test/build/js/html5shiv.min.js b/core/Test/build/js/html5shiv.min.js
new file mode 100644
index 0000000000000000000000000000000000000000..0d57994d787d9d602a4caf73712041fa170f259b
--- /dev/null
+++ b/core/Test/build/js/html5shiv.min.js
@@ -0,0 +1,2 @@
+/* HTML5 Shiv vpre3.4 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed */
+(function(g,i){var k=g.html5||{};var c=/^<|^(?:button|form|map|select|textarea)$/i;var b;var d;(function(){var o,n=i.createElement("a"),m=g.getComputedStyle,p=i.documentElement,l=i.body||(o=p.insertBefore(i.createElement("body"),p.firstChild));l.insertBefore(n,l.firstChild);n.hidden=true;n.innerHTML="<xyz></xyz>";b=(n.currentStyle||m(n,null)).display=="none";d=n.childNodes.length==1||(function(){try{(i.createElement)("a")}catch(q){return true}var r=i.createDocumentFragment();return(typeof r.cloneNode=="undefined"||typeof r.createDocumentFragment=="undefined"||typeof r.createElement=="undefined")}());l.removeChild(n);o&&p.removeChild(o)}());function j(l,n){var o=l.createElement("p"),m=l.getElementsByTagName("head")[0]||l.documentElement;o.innerHTML="x<style>"+n+"</style>";return m.insertBefore(o.lastChild,m.firstChild)}function f(){var l=e.elements;return typeof l=="string"?l.split(" "):l}function h(u){var q,m={},r=u.createElement,o=u.createDocumentFragment,l=f(),s=o(),p=l.length;function t(){var v=s.cloneNode(false);return e.shivMethods?(h(v),v):v}function n(w){var v=(m[w]||(m[w]=r(w))).cloneNode(false);return e.shivMethods&&v.canHaveChildren&&!c.test(w)?s.appendChild(v):v}while(p--){q=l[p];m[q]=r(q);s.createElement(q)}u.createElement=n;u.createDocumentFragment=t}function a(m){var l;if(m.documentShived){return m}if(e.shivCSS&&!b){l=!!j(m,"article,aside,details,figcaption,figure,footer,header,hgroup,nav,section{display:block}audio{display:none}canvas,video{display:inline-block;*display:inline;*zoom:1}[hidden]{display:none}audio[controls]{display:inline-block;*display:inline;*zoom:1}mark{background:#FF0;color:#000}")}if(e.shivMethods&&!d){l=!h(m)}if(l){m.documentShived=l}return m}var e={elements:k.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video".split(" "),shivCSS:!(k.shivCSS===false),shivMethods:!(k.shivMethods===false),type:"default",shivDocument:a};g.html5=e;a(i)}(this,document));
\ No newline at end of file
diff --git a/core/Test/build/js/jquery.min.js b/core/Test/build/js/jquery.min.js
new file mode 100644
index 0000000000000000000000000000000000000000..0363dfeac2d0f8bf8a5e8c65f017fc602a9e8bdf
--- /dev/null
+++ b/core/Test/build/js/jquery.min.js
@@ -0,0 +1,5 @@
+(function(global,factory){if(typeof module==="object"&&typeof module.exports==="object"){module.exports=global.document?factory(global,true):function(w){if(!w.document){throw new Error("jQuery requires a window with a document")}return factory(w)}}else{factory(global)}})(typeof window!=="undefined"?window:this,function(window,noGlobal){var deletedIds=[];var slice=deletedIds.slice;var concat=deletedIds.concat;var push=deletedIds.push;var indexOf=deletedIds.indexOf;var class2type={};var toString=class2type.toString;var hasOwn=class2type.hasOwnProperty;var support={};var version="1.11.3",jQuery=function(selector,context){return new jQuery.fn.init(selector,context)},rtrim=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,rmsPrefix=/^-ms-/,rdashAlpha=/-([\da-z])/gi,fcamelCase=function(all,letter){return letter.toUpperCase()};jQuery.fn=jQuery.prototype={jquery:version,constructor:jQuery,selector:"",length:0,toArray:function(){return slice.call(this)},get:function(num){return num!=null?num<0?this[num+this.length]:this[num]:slice.call(this)},pushStack:function(elems){var ret=jQuery.merge(this.constructor(),elems);ret.prevObject=this;ret.context=this.context;return ret},each:function(callback,args){return jQuery.each(this,callback,args)},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem)}))},slice:function(){return this.pushStack(slice.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(i){var len=this.length,j=+i+(i<0?len:0);return this.pushStack(j>=0&&j<len?[this[j]]:[])},end:function(){return this.prevObject||this.constructor(null)},push:push,sort:deletedIds.sort,splice:deletedIds.splice};jQuery.extend=jQuery.fn.extend=function(){var src,copyIsArray,copy,name,options,clone,target=arguments[0]||{},i=1,length=arguments.length,deep=false;if(typeof target==="boolean"){deep=target;target=arguments[i]||{};i++}if(typeof target!=="object"&&!jQuery.isFunction(target)){target={}}if(i===length){target=this;i--}for(;i<length;i++){if((options=arguments[i])!=null){for(name in options){src=target[name];copy=options[name];if(target===copy){continue}if(deep&&copy&&(jQuery.isPlainObject(copy)||(copyIsArray=jQuery.isArray(copy)))){if(copyIsArray){copyIsArray=false;clone=src&&jQuery.isArray(src)?src:[]}else{clone=src&&jQuery.isPlainObject(src)?src:{}}target[name]=jQuery.extend(deep,clone,copy)}else if(copy!==undefined){target[name]=copy}}}}return target};jQuery.extend({expando:"jQuery"+(version+Math.random()).replace(/\D/g,""),isReady:true,error:function(msg){throw new Error(msg)},noop:function(){},isFunction:function(obj){return jQuery.type(obj)==="function"},isArray:Array.isArray||function(obj){return jQuery.type(obj)==="array"},isWindow:function(obj){return obj!=null&&obj==obj.window},isNumeric:function(obj){return!jQuery.isArray(obj)&&obj-parseFloat(obj)+1>=0},isEmptyObject:function(obj){var name;for(name in obj){return false}return true},isPlainObject:function(obj){var key;if(!obj||jQuery.type(obj)!=="object"||obj.nodeType||jQuery.isWindow(obj)){return false}try{if(obj.constructor&&!hasOwn.call(obj,"constructor")&&!hasOwn.call(obj.constructor.prototype,"isPrototypeOf")){return false}}catch(e){return false}if(support.ownLast){for(key in obj){return hasOwn.call(obj,key)}}for(key in obj){}return key===undefined||hasOwn.call(obj,key)},type:function(obj){if(obj==null){return obj+""}return typeof obj==="object"||typeof obj==="function"?class2type[toString.call(obj)]||"object":typeof obj},globalEval:function(data){if(data&&jQuery.trim(data)){(window.execScript||function(data){window["eval"].call(window,data)})(data)}},camelCase:function(string){return string.replace(rmsPrefix,"ms-").replace(rdashAlpha,fcamelCase)},nodeName:function(elem,name){return elem.nodeName&&elem.nodeName.toLowerCase()===name.toLowerCase()},each:function(obj,callback,args){var value,i=0,length=obj.length,isArray=isArraylike(obj);if(args){if(isArray){for(;i<length;i++){value=callback.apply(obj[i],args);if(value===false){break}}}else{for(i in obj){value=callback.apply(obj[i],args);if(value===false){break}}}}else{if(isArray){for(;i<length;i++){value=callback.call(obj[i],i,obj[i]);if(value===false){break}}}else{for(i in obj){value=callback.call(obj[i],i,obj[i]);if(value===false){break}}}}return obj},trim:function(text){return text==null?"":(text+"").replace(rtrim,"")},makeArray:function(arr,results){var ret=results||[];if(arr!=null){if(isArraylike(Object(arr))){jQuery.merge(ret,typeof arr==="string"?[arr]:arr)}else{push.call(ret,arr)}}return ret},inArray:function(elem,arr,i){var len;if(arr){if(indexOf){return indexOf.call(arr,elem,i)}len=arr.length;i=i?i<0?Math.max(0,len+i):i:0;for(;i<len;i++){if(i in arr&&arr[i]===elem){return i}}}return-1},merge:function(first,second){var len=+second.length,j=0,i=first.length;while(j<len){first[i++]=second[j++]}if(len!==len){while(second[j]!==undefined){first[i++]=second[j++]}}first.length=i;return first},grep:function(elems,callback,invert){var callbackInverse,matches=[],i=0,length=elems.length,callbackExpect=!invert;for(;i<length;i++){callbackInverse=!callback(elems[i],i);if(callbackInverse!==callbackExpect){matches.push(elems[i])}}return matches},map:function(elems,callback,arg){var value,i=0,length=elems.length,isArray=isArraylike(elems),ret=[];if(isArray){for(;i<length;i++){value=callback(elems[i],i,arg);if(value!=null){ret.push(value)}}}else{for(i in elems){value=callback(elems[i],i,arg);if(value!=null){ret.push(value)}}}return concat.apply([],ret)},guid:1,proxy:function(fn,context){var args,proxy,tmp;if(typeof context==="string"){tmp=fn[context];context=fn;fn=tmp}if(!jQuery.isFunction(fn)){return undefined}args=slice.call(arguments,2);proxy=function(){return fn.apply(context||this,args.concat(slice.call(arguments)))};proxy.guid=fn.guid=fn.guid||jQuery.guid++;return proxy},now:function(){return+new Date},support:support});jQuery.each("Boolean Number String Function Array Date RegExp Object Error".split(" "),function(i,name){class2type["[object "+name+"]"]=name.toLowerCase()});function isArraylike(obj){var length="length"in obj&&obj.length,type=jQuery.type(obj);if(type==="function"||jQuery.isWindow(obj)){return false}if(obj.nodeType===1&&length){return true}return type==="array"||length===0||typeof length==="number"&&length>0&&length-1 in obj}var Sizzle=function(window){var i,support,Expr,getText,isXML,tokenize,compile,select,outermostContext,sortInput,hasDuplicate,setDocument,document,docElem,documentIsHTML,rbuggyQSA,rbuggyMatches,matches,contains,expando="sizzle"+1*new Date,preferredDoc=window.document,dirruns=0,done=0,classCache=createCache(),tokenCache=createCache(),compilerCache=createCache(),sortOrder=function(a,b){if(a===b){hasDuplicate=true}return 0},MAX_NEGATIVE=1<<31,hasOwn={}.hasOwnProperty,arr=[],pop=arr.pop,push_native=arr.push,push=arr.push,slice=arr.slice,indexOf=function(list,elem){var i=0,len=list.length;for(;i<len;i++){if(list[i]===elem){return i}}return-1},booleans="checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped",whitespace="[\\x20\\t\\r\\n\\f]",characterEncoding="(?:\\\\.|[\\w-]|[^\\x00-\\xa0])+",identifier=characterEncoding.replace("w","w#"),attributes="\\["+whitespace+"*("+characterEncoding+")(?:"+whitespace+"*([*^$|!~]?=)"+whitespace+"*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|("+identifier+"))|)"+whitespace+"*\\]",pseudos=":("+characterEncoding+")(?:\\(("+"('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|"+"((?:\\\\.|[^\\\\()[\\]]|"+attributes+")*)|"+".*"+")\\)|)",rwhitespace=new RegExp(whitespace+"+","g"),rtrim=new RegExp("^"+whitespace+"+|((?:^|[^\\\\])(?:\\\\.)*)"+whitespace+"+$","g"),rcomma=new RegExp("^"+whitespace+"*,"+whitespace+"*"),rcombinators=new RegExp("^"+whitespace+"*([>+~]|"+whitespace+")"+whitespace+"*"),rattributeQuotes=new RegExp("="+whitespace+"*([^\\]'\"]*?)"+whitespace+"*\\]","g"),rpseudo=new RegExp(pseudos),ridentifier=new RegExp("^"+identifier+"$"),matchExpr={ID:new RegExp("^#("+characterEncoding+")"),CLASS:new RegExp("^\\.("+characterEncoding+")"),TAG:new RegExp("^("+characterEncoding.replace("w","w*")+")"),ATTR:new RegExp("^"+attributes),PSEUDO:new RegExp("^"+pseudos),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+whitespace+"*(even|odd|(([+-]|)(\\d*)n|)"+whitespace+"*(?:([+-]|)"+whitespace+"*(\\d+)|))"+whitespace+"*\\)|)","i"),bool:new RegExp("^(?:"+booleans+")$","i"),needsContext:new RegExp("^"+whitespace+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+whitespace+"*((?:-\\d)?\\d*)"+whitespace+"*\\)|)(?=[^-]|$)","i")},rinputs=/^(?:input|select|textarea|button)$/i,rheader=/^h\d$/i,rnative=/^[^{]+\{\s*\[native \w/,rquickExpr=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,rsibling=/[+~]/,rescape=/'|\\/g,runescape=new RegExp("\\\\([\\da-f]{1,6}"+whitespace+"?|("+whitespace+")|.)","ig"),funescape=function(_,escaped,escapedWhitespace){var high="0x"+escaped-65536;return high!==high||escapedWhitespace?escaped:high<0?String.fromCharCode(high+65536):String.fromCharCode(high>>10|55296,high&1023|56320)},unloadHandler=function(){setDocument()};try{push.apply(arr=slice.call(preferredDoc.childNodes),preferredDoc.childNodes);arr[preferredDoc.childNodes.length].nodeType}catch(e){push={apply:arr.length?function(target,els){push_native.apply(target,slice.call(els))}:function(target,els){var j=target.length,i=0;while(target[j++]=els[i++]){}target.length=j-1}}}function Sizzle(selector,context,results,seed){var match,elem,m,nodeType,i,groups,old,nid,newContext,newSelector;if((context?context.ownerDocument||context:preferredDoc)!==document){setDocument(context)}context=context||document;results=results||[];nodeType=context.nodeType;if(typeof selector!=="string"||!selector||nodeType!==1&&nodeType!==9&&nodeType!==11){return results}if(!seed&&documentIsHTML){if(nodeType!==11&&(match=rquickExpr.exec(selector))){if(m=match[1]){if(nodeType===9){elem=context.getElementById(m);if(elem&&elem.parentNode){if(elem.id===m){results.push(elem);return results}}else{return results}}else{if(context.ownerDocument&&(elem=context.ownerDocument.getElementById(m))&&contains(context,elem)&&elem.id===m){results.push(elem);return results}}}else if(match[2]){push.apply(results,context.getElementsByTagName(selector));return results}else if((m=match[3])&&support.getElementsByClassName){push.apply(results,context.getElementsByClassName(m));return results}}if(support.qsa&&(!rbuggyQSA||!rbuggyQSA.test(selector))){nid=old=expando;newContext=context;newSelector=nodeType!==1&&selector;if(nodeType===1&&context.nodeName.toLowerCase()!=="object"){groups=tokenize(selector);if(old=context.getAttribute("id")){nid=old.replace(rescape,"\\$&")}else{context.setAttribute("id",nid)}nid="[id='"+nid+"'] ";i=groups.length;while(i--){groups[i]=nid+toSelector(groups[i])}newContext=rsibling.test(selector)&&testContext(context.parentNode)||context;newSelector=groups.join(",")}if(newSelector){try{push.apply(results,newContext.querySelectorAll(newSelector));return results}catch(qsaError){}finally{if(!old){context.removeAttribute("id")}}}}}return select(selector.replace(rtrim,"$1"),context,results,seed)}function createCache(){var keys=[];function cache(key,value){if(keys.push(key+" ")>Expr.cacheLength){delete cache[keys.shift()]}return cache[key+" "]=value}return cache}function markFunction(fn){fn[expando]=true;return fn}function assert(fn){var div=document.createElement("div");try{return!!fn(div)}catch(e){return false}finally{if(div.parentNode){div.parentNode.removeChild(div)}div=null}}function addHandle(attrs,handler){var arr=attrs.split("|"),i=attrs.length;while(i--){Expr.attrHandle[arr[i]]=handler}}function siblingCheck(a,b){var cur=b&&a,diff=cur&&a.nodeType===1&&b.nodeType===1&&(~b.sourceIndex||MAX_NEGATIVE)-(~a.sourceIndex||MAX_NEGATIVE);if(diff){return diff}if(cur){while(cur=cur.nextSibling){if(cur===b){return-1}}}return a?1:-1}function createInputPseudo(type){return function(elem){var name=elem.nodeName.toLowerCase();return name==="input"&&elem.type===type}}function createButtonPseudo(type){return function(elem){var name=elem.nodeName.toLowerCase();return(name==="input"||name==="button")&&elem.type===type}}function createPositionalPseudo(fn){return markFunction(function(argument){argument=+argument;return markFunction(function(seed,matches){var j,matchIndexes=fn([],seed.length,argument),i=matchIndexes.length;while(i--){if(seed[j=matchIndexes[i]]){seed[j]=!(matches[j]=seed[j])}}})})}function testContext(context){return context&&typeof context.getElementsByTagName!=="undefined"&&context}support=Sizzle.support={};isXML=Sizzle.isXML=function(elem){var documentElement=elem&&(elem.ownerDocument||elem).documentElement;return documentElement?documentElement.nodeName!=="HTML":false};setDocument=Sizzle.setDocument=function(node){var hasCompare,parent,doc=node?node.ownerDocument||node:preferredDoc;if(doc===document||doc.nodeType!==9||!doc.documentElement){return document}document=doc;docElem=doc.documentElement;parent=doc.defaultView;if(parent&&parent!==parent.top){if(parent.addEventListener){parent.addEventListener("unload",unloadHandler,false)}else if(parent.attachEvent){parent.attachEvent("onunload",unloadHandler)}}documentIsHTML=!isXML(doc);support.attributes=assert(function(div){div.className="i";return!div.getAttribute("className")});support.getElementsByTagName=assert(function(div){div.appendChild(doc.createComment(""));return!div.getElementsByTagName("*").length});support.getElementsByClassName=rnative.test(doc.getElementsByClassName);support.getById=assert(function(div){docElem.appendChild(div).id=expando;return!doc.getElementsByName||!doc.getElementsByName(expando).length});if(support.getById){Expr.find["ID"]=function(id,context){if(typeof context.getElementById!=="undefined"&&documentIsHTML){var m=context.getElementById(id);return m&&m.parentNode?[m]:[]}};Expr.filter["ID"]=function(id){var attrId=id.replace(runescape,funescape);return function(elem){return elem.getAttribute("id")===attrId}}}else{delete Expr.find["ID"];Expr.filter["ID"]=function(id){var attrId=id.replace(runescape,funescape);return function(elem){var node=typeof elem.getAttributeNode!=="undefined"&&elem.getAttributeNode("id");return node&&node.value===attrId}}}Expr.find["TAG"]=support.getElementsByTagName?function(tag,context){if(typeof context.getElementsByTagName!=="undefined"){return context.getElementsByTagName(tag)}else if(support.qsa){return context.querySelectorAll(tag)}}:function(tag,context){var elem,tmp=[],i=0,results=context.getElementsByTagName(tag);if(tag==="*"){while(elem=results[i++]){if(elem.nodeType===1){tmp.push(elem)}}return tmp}return results};Expr.find["CLASS"]=support.getElementsByClassName&&function(className,context){if(documentIsHTML){return context.getElementsByClassName(className)}};rbuggyMatches=[];rbuggyQSA=[];if(support.qsa=rnative.test(doc.querySelectorAll)){assert(function(div){docElem.appendChild(div).innerHTML="<a id='"+expando+"'></a>"+"<select id='"+expando+"-\f]' msallowcapture=''>"+"<option selected=''></option></select>";if(div.querySelectorAll("[msallowcapture^='']").length){rbuggyQSA.push("[*^$]="+whitespace+"*(?:''|\"\")")}if(!div.querySelectorAll("[selected]").length){rbuggyQSA.push("\\["+whitespace+"*(?:value|"+booleans+")")}if(!div.querySelectorAll("[id~="+expando+"-]").length){rbuggyQSA.push("~=")}if(!div.querySelectorAll(":checked").length){rbuggyQSA.push(":checked")}if(!div.querySelectorAll("a#"+expando+"+*").length){rbuggyQSA.push(".#.+[+~]")}});assert(function(div){var input=doc.createElement("input");input.setAttribute("type","hidden");div.appendChild(input).setAttribute("name","D");if(div.querySelectorAll("[name=d]").length){rbuggyQSA.push("name"+whitespace+"*[*^$|!~]?=")}if(!div.querySelectorAll(":enabled").length){rbuggyQSA.push(":enabled",":disabled")}div.querySelectorAll("*,:x");rbuggyQSA.push(",.*:")})}if(support.matchesSelector=rnative.test(matches=docElem.matches||docElem.webkitMatchesSelector||docElem.mozMatchesSelector||docElem.oMatchesSelector||docElem.msMatchesSelector)){assert(function(div){support.disconnectedMatch=matches.call(div,"div");matches.call(div,"[s!='']:x");rbuggyMatches.push("!=",pseudos)})}rbuggyQSA=rbuggyQSA.length&&new RegExp(rbuggyQSA.join("|"));rbuggyMatches=rbuggyMatches.length&&new RegExp(rbuggyMatches.join("|"));hasCompare=rnative.test(docElem.compareDocumentPosition);contains=hasCompare||rnative.test(docElem.contains)?function(a,b){var adown=a.nodeType===9?a.documentElement:a,bup=b&&b.parentNode;return a===bup||!!(bup&&bup.nodeType===1&&(adown.contains?adown.contains(bup):a.compareDocumentPosition&&a.compareDocumentPosition(bup)&16))}:function(a,b){if(b){while(b=b.parentNode){if(b===a){return true}}}return false};sortOrder=hasCompare?function(a,b){if(a===b){hasDuplicate=true;return 0}var compare=!a.compareDocumentPosition-!b.compareDocumentPosition;if(compare){return compare}compare=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1;if(compare&1||!support.sortDetached&&b.compareDocumentPosition(a)===compare){if(a===doc||a.ownerDocument===preferredDoc&&contains(preferredDoc,a)){return-1}if(b===doc||b.ownerDocument===preferredDoc&&contains(preferredDoc,b)){return 1}return sortInput?indexOf(sortInput,a)-indexOf(sortInput,b):0}return compare&4?-1:1}:function(a,b){if(a===b){hasDuplicate=true;return 0}var cur,i=0,aup=a.parentNode,bup=b.parentNode,ap=[a],bp=[b];if(!aup||!bup){return a===doc?-1:b===doc?1:aup?-1:bup?1:sortInput?indexOf(sortInput,a)-indexOf(sortInput,b):0}else if(aup===bup){return siblingCheck(a,b)}cur=a;while(cur=cur.parentNode){ap.unshift(cur)}cur=b;while(cur=cur.parentNode){bp.unshift(cur)}while(ap[i]===bp[i]){i++}return i?siblingCheck(ap[i],bp[i]):ap[i]===preferredDoc?-1:bp[i]===preferredDoc?1:0};return doc};Sizzle.matches=function(expr,elements){return Sizzle(expr,null,null,elements)};Sizzle.matchesSelector=function(elem,expr){if((elem.ownerDocument||elem)!==document){setDocument(elem)}expr=expr.replace(rattributeQuotes,"='$1']");if(support.matchesSelector&&documentIsHTML&&(!rbuggyMatches||!rbuggyMatches.test(expr))&&(!rbuggyQSA||!rbuggyQSA.test(expr))){try{var ret=matches.call(elem,expr);if(ret||support.disconnectedMatch||elem.document&&elem.document.nodeType!==11){return ret}}catch(e){}}return Sizzle(expr,document,null,[elem]).length>0};Sizzle.contains=function(context,elem){if((context.ownerDocument||context)!==document){setDocument(context)}return contains(context,elem)};Sizzle.attr=function(elem,name){if((elem.ownerDocument||elem)!==document){setDocument(elem)}var fn=Expr.attrHandle[name.toLowerCase()],val=fn&&hasOwn.call(Expr.attrHandle,name.toLowerCase())?fn(elem,name,!documentIsHTML):undefined;return val!==undefined?val:support.attributes||!documentIsHTML?elem.getAttribute(name):(val=elem.getAttributeNode(name))&&val.specified?val.value:null};Sizzle.error=function(msg){throw new Error("Syntax error, unrecognized expression: "+msg)};Sizzle.uniqueSort=function(results){var elem,duplicates=[],j=0,i=0;hasDuplicate=!support.detectDuplicates;sortInput=!support.sortStable&&results.slice(0);results.sort(sortOrder);if(hasDuplicate){while(elem=results[i++]){if(elem===results[i]){j=duplicates.push(i)}}while(j--){results.splice(duplicates[j],1)}}sortInput=null;return results};getText=Sizzle.getText=function(elem){var node,ret="",i=0,nodeType=elem.nodeType;if(!nodeType){while(node=elem[i++]){ret+=getText(node)}}else if(nodeType===1||nodeType===9||nodeType===11){if(typeof elem.textContent==="string"){return elem.textContent}else{for(elem=elem.firstChild;elem;elem=elem.nextSibling){ret+=getText(elem)}}}else if(nodeType===3||nodeType===4){return elem.nodeValue}return ret};Expr=Sizzle.selectors={cacheLength:50,createPseudo:markFunction,match:matchExpr,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:true}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:true},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(match){match[1]=match[1].replace(runescape,funescape);match[3]=(match[3]||match[4]||match[5]||"").replace(runescape,funescape);if(match[2]==="~="){match[3]=" "+match[3]+" "}return match.slice(0,4)},CHILD:function(match){match[1]=match[1].toLowerCase();if(match[1].slice(0,3)==="nth"){if(!match[3]){Sizzle.error(match[0])}match[4]=+(match[4]?match[5]+(match[6]||1):2*(match[3]==="even"||match[3]==="odd"));match[5]=+(match[7]+match[8]||match[3]==="odd")}else if(match[3]){Sizzle.error(match[0])}return match},PSEUDO:function(match){var excess,unquoted=!match[6]&&match[2];if(matchExpr["CHILD"].test(match[0])){return null}if(match[3]){match[2]=match[4]||match[5]||""}else if(unquoted&&rpseudo.test(unquoted)&&(excess=tokenize(unquoted,true))&&(excess=unquoted.indexOf(")",unquoted.length-excess)-unquoted.length)){match[0]=match[0].slice(0,excess);match[2]=unquoted.slice(0,excess)}return match.slice(0,3)}},filter:{TAG:function(nodeNameSelector){var nodeName=nodeNameSelector.replace(runescape,funescape).toLowerCase();return nodeNameSelector==="*"?function(){return true}:function(elem){return elem.nodeName&&elem.nodeName.toLowerCase()===nodeName}},CLASS:function(className){var pattern=classCache[className+" "];return pattern||(pattern=new RegExp("(^|"+whitespace+")"+className+"("+whitespace+"|$)"))&&classCache(className,function(elem){return pattern.test(typeof elem.className==="string"&&elem.className||typeof elem.getAttribute!=="undefined"&&elem.getAttribute("class")||"")})},ATTR:function(name,operator,check){return function(elem){var result=Sizzle.attr(elem,name);if(result==null){return operator==="!="}if(!operator){return true}result+="";return operator==="="?result===check:operator==="!="?result!==check:operator==="^="?check&&result.indexOf(check)===0:operator==="*="?check&&result.indexOf(check)>-1:operator==="$="?check&&result.slice(-check.length)===check:operator==="~="?(" "+result.replace(rwhitespace," ")+" ").indexOf(check)>-1:operator==="|="?result===check||result.slice(0,check.length+1)===check+"-":false}},CHILD:function(type,what,argument,first,last){var simple=type.slice(0,3)!=="nth",forward=type.slice(-4)!=="last",ofType=what==="of-type";return first===1&&last===0?function(elem){return!!elem.parentNode}:function(elem,context,xml){var cache,outerCache,node,diff,nodeIndex,start,dir=simple!==forward?"nextSibling":"previousSibling",parent=elem.parentNode,name=ofType&&elem.nodeName.toLowerCase(),useCache=!xml&&!ofType;if(parent){if(simple){while(dir){node=elem;while(node=node[dir]){if(ofType?node.nodeName.toLowerCase()===name:node.nodeType===1){return false}}start=dir=type==="only"&&!start&&"nextSibling"}return true}start=[forward?parent.firstChild:parent.lastChild];if(forward&&useCache){outerCache=parent[expando]||(parent[expando]={});cache=outerCache[type]||[];nodeIndex=cache[0]===dirruns&&cache[1];diff=cache[0]===dirruns&&cache[2];node=nodeIndex&&parent.childNodes[nodeIndex];while(node=++nodeIndex&&node&&node[dir]||(diff=nodeIndex=0)||start.pop()){if(node.nodeType===1&&++diff&&node===elem){outerCache[type]=[dirruns,nodeIndex,diff];break}}}else if(useCache&&(cache=(elem[expando]||(elem[expando]={}))[type])&&cache[0]===dirruns){diff=cache[1]}else{while(node=++nodeIndex&&node&&node[dir]||(diff=nodeIndex=0)||start.pop()){if((ofType?node.nodeName.toLowerCase()===name:node.nodeType===1)&&++diff){if(useCache){(node[expando]||(node[expando]={}))[type]=[dirruns,diff]}if(node===elem){break}}}}diff-=last;return diff===first||diff%first===0&&diff/first>=0}}},PSEUDO:function(pseudo,argument){var args,fn=Expr.pseudos[pseudo]||Expr.setFilters[pseudo.toLowerCase()]||Sizzle.error("unsupported pseudo: "+pseudo);if(fn[expando]){return fn(argument)}if(fn.length>1){args=[pseudo,pseudo,"",argument];return Expr.setFilters.hasOwnProperty(pseudo.toLowerCase())?markFunction(function(seed,matches){var idx,matched=fn(seed,argument),i=matched.length;while(i--){idx=indexOf(seed,matched[i]);seed[idx]=!(matches[idx]=matched[i])}}):function(elem){return fn(elem,0,args)}}return fn}},pseudos:{not:markFunction(function(selector){var input=[],results=[],matcher=compile(selector.replace(rtrim,"$1"));return matcher[expando]?markFunction(function(seed,matches,context,xml){var elem,unmatched=matcher(seed,null,xml,[]),i=seed.length;while(i--){if(elem=unmatched[i]){seed[i]=!(matches[i]=elem)}}}):function(elem,context,xml){input[0]=elem;matcher(input,null,xml,results);input[0]=null;return!results.pop()}}),has:markFunction(function(selector){return function(elem){return Sizzle(selector,elem).length>0}}),contains:markFunction(function(text){text=text.replace(runescape,funescape);return function(elem){return(elem.textContent||elem.innerText||getText(elem)).indexOf(text)>-1}}),lang:markFunction(function(lang){if(!ridentifier.test(lang||"")){Sizzle.error("unsupported lang: "+lang)}lang=lang.replace(runescape,funescape).toLowerCase();return function(elem){var elemLang;do{if(elemLang=documentIsHTML?elem.lang:elem.getAttribute("xml:lang")||elem.getAttribute("lang")){elemLang=elemLang.toLowerCase();return elemLang===lang||elemLang.indexOf(lang+"-")===0}}while((elem=elem.parentNode)&&elem.nodeType===1);return false}}),target:function(elem){var hash=window.location&&window.location.hash;return hash&&hash.slice(1)===elem.id},root:function(elem){return elem===docElem},focus:function(elem){return elem===document.activeElement&&(!document.hasFocus||document.hasFocus())&&!!(elem.type||elem.href||~elem.tabIndex)},enabled:function(elem){return elem.disabled===false},disabled:function(elem){return elem.disabled===true},checked:function(elem){var nodeName=elem.nodeName.toLowerCase();return nodeName==="input"&&!!elem.checked||nodeName==="option"&&!!elem.selected},selected:function(elem){if(elem.parentNode){elem.parentNode.selectedIndex}return elem.selected===true},empty:function(elem){for(elem=elem.firstChild;elem;elem=elem.nextSibling){if(elem.nodeType<6){return false}}return true},parent:function(elem){return!Expr.pseudos["empty"](elem)},header:function(elem){return rheader.test(elem.nodeName)},input:function(elem){return rinputs.test(elem.nodeName)},button:function(elem){var name=elem.nodeName.toLowerCase();return name==="input"&&elem.type==="button"||name==="button"},text:function(elem){var attr;return elem.nodeName.toLowerCase()==="input"&&elem.type==="text"&&((attr=elem.getAttribute("type"))==null||attr.toLowerCase()==="text")},first:createPositionalPseudo(function(){return[0]}),last:createPositionalPseudo(function(matchIndexes,length){return[length-1]}),eq:createPositionalPseudo(function(matchIndexes,length,argument){return[argument<0?argument+length:argument]}),even:createPositionalPseudo(function(matchIndexes,length){var i=0;for(;i<length;i+=2){matchIndexes.push(i)}return matchIndexes}),odd:createPositionalPseudo(function(matchIndexes,length){var i=1;for(;i<length;i+=2){matchIndexes.push(i)}return matchIndexes}),lt:createPositionalPseudo(function(matchIndexes,length,argument){var i=argument<0?argument+length:argument;for(;--i>=0;){matchIndexes.push(i)}return matchIndexes}),gt:createPositionalPseudo(function(matchIndexes,length,argument){var i=argument<0?argument+length:argument;for(;++i<length;){matchIndexes.push(i)}return matchIndexes})}};Expr.pseudos["nth"]=Expr.pseudos["eq"];for(i in{radio:true,checkbox:true,file:true,password:true,image:true}){Expr.pseudos[i]=createInputPseudo(i)}for(i in{submit:true,reset:true}){Expr.pseudos[i]=createButtonPseudo(i)}function setFilters(){}setFilters.prototype=Expr.filters=Expr.pseudos;Expr.setFilters=new setFilters;tokenize=Sizzle.tokenize=function(selector,parseOnly){var matched,match,tokens,type,soFar,groups,preFilters,cached=tokenCache[selector+" "];if(cached){return parseOnly?0:cached.slice(0)}soFar=selector;groups=[];preFilters=Expr.preFilter;while(soFar){if(!matched||(match=rcomma.exec(soFar))){if(match){soFar=soFar.slice(match[0].length)||soFar}groups.push(tokens=[])}matched=false;if(match=rcombinators.exec(soFar)){matched=match.shift();tokens.push({value:matched,type:match[0].replace(rtrim," ")});soFar=soFar.slice(matched.length)}for(type in Expr.filter){if((match=matchExpr[type].exec(soFar))&&(!preFilters[type]||(match=preFilters[type](match)))){matched=match.shift();tokens.push({value:matched,type:type,matches:match});soFar=soFar.slice(matched.length)}}if(!matched){break}}return parseOnly?soFar.length:soFar?Sizzle.error(selector):tokenCache(selector,groups).slice(0)};function toSelector(tokens){var i=0,len=tokens.length,selector="";for(;i<len;i++){selector+=tokens[i].value}return selector}function addCombinator(matcher,combinator,base){var dir=combinator.dir,checkNonElements=base&&dir==="parentNode",doneName=done++;return combinator.first?function(elem,context,xml){while(elem=elem[dir]){if(elem.nodeType===1||checkNonElements){return matcher(elem,context,xml)}}}:function(elem,context,xml){var oldCache,outerCache,newCache=[dirruns,doneName];if(xml){while(elem=elem[dir]){if(elem.nodeType===1||checkNonElements){if(matcher(elem,context,xml)){return true}}}}else{while(elem=elem[dir]){if(elem.nodeType===1||checkNonElements){outerCache=elem[expando]||(elem[expando]={});if((oldCache=outerCache[dir])&&oldCache[0]===dirruns&&oldCache[1]===doneName){return newCache[2]=oldCache[2]}else{outerCache[dir]=newCache;if(newCache[2]=matcher(elem,context,xml)){return true}}}}}}}function elementMatcher(matchers){return matchers.length>1?function(elem,context,xml){var i=matchers.length;while(i--){if(!matchers[i](elem,context,xml)){return false}}return true}:matchers[0]}function multipleContexts(selector,contexts,results){var i=0,len=contexts.length;for(;i<len;i++){Sizzle(selector,contexts[i],results)}return results}function condense(unmatched,map,filter,context,xml){var elem,newUnmatched=[],i=0,len=unmatched.length,mapped=map!=null;for(;i<len;i++){if(elem=unmatched[i]){if(!filter||filter(elem,context,xml)){newUnmatched.push(elem);if(mapped){map.push(i)}}}}return newUnmatched}function setMatcher(preFilter,selector,matcher,postFilter,postFinder,postSelector){if(postFilter&&!postFilter[expando]){postFilter=setMatcher(postFilter)}if(postFinder&&!postFinder[expando]){postFinder=setMatcher(postFinder,postSelector)}return markFunction(function(seed,results,context,xml){var temp,i,elem,preMap=[],postMap=[],preexisting=results.length,elems=seed||multipleContexts(selector||"*",context.nodeType?[context]:context,[]),matcherIn=preFilter&&(seed||!selector)?condense(elems,preMap,preFilter,context,xml):elems,matcherOut=matcher?postFinder||(seed?preFilter:preexisting||postFilter)?[]:results:matcherIn;if(matcher){matcher(matcherIn,matcherOut,context,xml)}if(postFilter){temp=condense(matcherOut,postMap);postFilter(temp,[],context,xml);i=temp.length;while(i--){if(elem=temp[i]){matcherOut[postMap[i]]=!(matcherIn[postMap[i]]=elem)}}}if(seed){if(postFinder||preFilter){if(postFinder){temp=[];i=matcherOut.length;while(i--){if(elem=matcherOut[i]){temp.push(matcherIn[i]=elem)}}postFinder(null,matcherOut=[],temp,xml)}i=matcherOut.length;while(i--){if((elem=matcherOut[i])&&(temp=postFinder?indexOf(seed,elem):preMap[i])>-1){seed[temp]=!(results[temp]=elem)}}}}else{matcherOut=condense(matcherOut===results?matcherOut.splice(preexisting,matcherOut.length):matcherOut);if(postFinder){postFinder(null,results,matcherOut,xml)}else{push.apply(results,matcherOut)}}})}function matcherFromTokens(tokens){var checkContext,matcher,j,len=tokens.length,leadingRelative=Expr.relative[tokens[0].type],implicitRelative=leadingRelative||Expr.relative[" "],i=leadingRelative?1:0,matchContext=addCombinator(function(elem){return elem===checkContext},implicitRelative,true),matchAnyContext=addCombinator(function(elem){return indexOf(checkContext,elem)>-1},implicitRelative,true),matchers=[function(elem,context,xml){var ret=!leadingRelative&&(xml||context!==outermostContext)||((checkContext=context).nodeType?matchContext(elem,context,xml):matchAnyContext(elem,context,xml));checkContext=null;return ret}];for(;i<len;i++){if(matcher=Expr.relative[tokens[i].type]){matchers=[addCombinator(elementMatcher(matchers),matcher)]
+}else{matcher=Expr.filter[tokens[i].type].apply(null,tokens[i].matches);if(matcher[expando]){j=++i;for(;j<len;j++){if(Expr.relative[tokens[j].type]){break}}return setMatcher(i>1&&elementMatcher(matchers),i>1&&toSelector(tokens.slice(0,i-1).concat({value:tokens[i-2].type===" "?"*":""})).replace(rtrim,"$1"),matcher,i<j&&matcherFromTokens(tokens.slice(i,j)),j<len&&matcherFromTokens(tokens=tokens.slice(j)),j<len&&toSelector(tokens))}matchers.push(matcher)}}return elementMatcher(matchers)}function matcherFromGroupMatchers(elementMatchers,setMatchers){var bySet=setMatchers.length>0,byElement=elementMatchers.length>0,superMatcher=function(seed,context,xml,results,outermost){var elem,j,matcher,matchedCount=0,i="0",unmatched=seed&&[],setMatched=[],contextBackup=outermostContext,elems=seed||byElement&&Expr.find["TAG"]("*",outermost),dirrunsUnique=dirruns+=contextBackup==null?1:Math.random()||.1,len=elems.length;if(outermost){outermostContext=context!==document&&context}for(;i!==len&&(elem=elems[i])!=null;i++){if(byElement&&elem){j=0;while(matcher=elementMatchers[j++]){if(matcher(elem,context,xml)){results.push(elem);break}}if(outermost){dirruns=dirrunsUnique}}if(bySet){if(elem=!matcher&&elem){matchedCount--}if(seed){unmatched.push(elem)}}}matchedCount+=i;if(bySet&&i!==matchedCount){j=0;while(matcher=setMatchers[j++]){matcher(unmatched,setMatched,context,xml)}if(seed){if(matchedCount>0){while(i--){if(!(unmatched[i]||setMatched[i])){setMatched[i]=pop.call(results)}}}setMatched=condense(setMatched)}push.apply(results,setMatched);if(outermost&&!seed&&setMatched.length>0&&matchedCount+setMatchers.length>1){Sizzle.uniqueSort(results)}}if(outermost){dirruns=dirrunsUnique;outermostContext=contextBackup}return unmatched};return bySet?markFunction(superMatcher):superMatcher}compile=Sizzle.compile=function(selector,match){var i,setMatchers=[],elementMatchers=[],cached=compilerCache[selector+" "];if(!cached){if(!match){match=tokenize(selector)}i=match.length;while(i--){cached=matcherFromTokens(match[i]);if(cached[expando]){setMatchers.push(cached)}else{elementMatchers.push(cached)}}cached=compilerCache(selector,matcherFromGroupMatchers(elementMatchers,setMatchers));cached.selector=selector}return cached};select=Sizzle.select=function(selector,context,results,seed){var i,tokens,token,type,find,compiled=typeof selector==="function"&&selector,match=!seed&&tokenize(selector=compiled.selector||selector);results=results||[];if(match.length===1){tokens=match[0]=match[0].slice(0);if(tokens.length>2&&(token=tokens[0]).type==="ID"&&support.getById&&context.nodeType===9&&documentIsHTML&&Expr.relative[tokens[1].type]){context=(Expr.find["ID"](token.matches[0].replace(runescape,funescape),context)||[])[0];if(!context){return results}else if(compiled){context=context.parentNode}selector=selector.slice(tokens.shift().value.length)}i=matchExpr["needsContext"].test(selector)?0:tokens.length;while(i--){token=tokens[i];if(Expr.relative[type=token.type]){break}if(find=Expr.find[type]){if(seed=find(token.matches[0].replace(runescape,funescape),rsibling.test(tokens[0].type)&&testContext(context.parentNode)||context)){tokens.splice(i,1);selector=seed.length&&toSelector(tokens);if(!selector){push.apply(results,seed);return results}break}}}}(compiled||compile(selector,match))(seed,context,!documentIsHTML,results,rsibling.test(selector)&&testContext(context.parentNode)||context);return results};support.sortStable=expando.split("").sort(sortOrder).join("")===expando;support.detectDuplicates=!!hasDuplicate;setDocument();support.sortDetached=assert(function(div1){return div1.compareDocumentPosition(document.createElement("div"))&1});if(!assert(function(div){div.innerHTML="<a href='#'></a>";return div.firstChild.getAttribute("href")==="#"})){addHandle("type|href|height|width",function(elem,name,isXML){if(!isXML){return elem.getAttribute(name,name.toLowerCase()==="type"?1:2)}})}if(!support.attributes||!assert(function(div){div.innerHTML="<input/>";div.firstChild.setAttribute("value","");return div.firstChild.getAttribute("value")===""})){addHandle("value",function(elem,name,isXML){if(!isXML&&elem.nodeName.toLowerCase()==="input"){return elem.defaultValue}})}if(!assert(function(div){return div.getAttribute("disabled")==null})){addHandle(booleans,function(elem,name,isXML){var val;if(!isXML){return elem[name]===true?name.toLowerCase():(val=elem.getAttributeNode(name))&&val.specified?val.value:null}})}return Sizzle}(window);jQuery.find=Sizzle;jQuery.expr=Sizzle.selectors;jQuery.expr[":"]=jQuery.expr.pseudos;jQuery.unique=Sizzle.uniqueSort;jQuery.text=Sizzle.getText;jQuery.isXMLDoc=Sizzle.isXML;jQuery.contains=Sizzle.contains;var rneedsContext=jQuery.expr.match.needsContext;var rsingleTag=/^<(\w+)\s*\/?>(?:<\/\1>|)$/;var risSimple=/^.[^:#\[\.,]*$/;function winnow(elements,qualifier,not){if(jQuery.isFunction(qualifier)){return jQuery.grep(elements,function(elem,i){return!!qualifier.call(elem,i,elem)!==not})}if(qualifier.nodeType){return jQuery.grep(elements,function(elem){return elem===qualifier!==not})}if(typeof qualifier==="string"){if(risSimple.test(qualifier)){return jQuery.filter(qualifier,elements,not)}qualifier=jQuery.filter(qualifier,elements)}return jQuery.grep(elements,function(elem){return jQuery.inArray(elem,qualifier)>=0!==not})}jQuery.filter=function(expr,elems,not){var elem=elems[0];if(not){expr=":not("+expr+")"}return elems.length===1&&elem.nodeType===1?jQuery.find.matchesSelector(elem,expr)?[elem]:[]:jQuery.find.matches(expr,jQuery.grep(elems,function(elem){return elem.nodeType===1}))};jQuery.fn.extend({find:function(selector){var i,ret=[],self=this,len=self.length;if(typeof selector!=="string"){return this.pushStack(jQuery(selector).filter(function(){for(i=0;i<len;i++){if(jQuery.contains(self[i],this)){return true}}}))}for(i=0;i<len;i++){jQuery.find(selector,self[i],ret)}ret=this.pushStack(len>1?jQuery.unique(ret):ret);ret.selector=this.selector?this.selector+" "+selector:selector;return ret},filter:function(selector){return this.pushStack(winnow(this,selector||[],false))},not:function(selector){return this.pushStack(winnow(this,selector||[],true))},is:function(selector){return!!winnow(this,typeof selector==="string"&&rneedsContext.test(selector)?jQuery(selector):selector||[],false).length}});var rootjQuery,document=window.document,rquickExpr=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]*))$/,init=jQuery.fn.init=function(selector,context){var match,elem;if(!selector){return this}if(typeof selector==="string"){if(selector.charAt(0)==="<"&&selector.charAt(selector.length-1)===">"&&selector.length>=3){match=[null,selector,null]}else{match=rquickExpr.exec(selector)}if(match&&(match[1]||!context)){if(match[1]){context=context instanceof jQuery?context[0]:context;jQuery.merge(this,jQuery.parseHTML(match[1],context&&context.nodeType?context.ownerDocument||context:document,true));if(rsingleTag.test(match[1])&&jQuery.isPlainObject(context)){for(match in context){if(jQuery.isFunction(this[match])){this[match](context[match])}else{this.attr(match,context[match])}}}return this}else{elem=document.getElementById(match[2]);if(elem&&elem.parentNode){if(elem.id!==match[2]){return rootjQuery.find(selector)}this.length=1;this[0]=elem}this.context=document;this.selector=selector;return this}}else if(!context||context.jquery){return(context||rootjQuery).find(selector)}else{return this.constructor(context).find(selector)}}else if(selector.nodeType){this.context=this[0]=selector;this.length=1;return this}else if(jQuery.isFunction(selector)){return typeof rootjQuery.ready!=="undefined"?rootjQuery.ready(selector):selector(jQuery)}if(selector.selector!==undefined){this.selector=selector.selector;this.context=selector.context}return jQuery.makeArray(selector,this)};init.prototype=jQuery.fn;rootjQuery=jQuery(document);var rparentsprev=/^(?:parents|prev(?:Until|All))/,guaranteedUnique={children:true,contents:true,next:true,prev:true};jQuery.extend({dir:function(elem,dir,until){var matched=[],cur=elem[dir];while(cur&&cur.nodeType!==9&&(until===undefined||cur.nodeType!==1||!jQuery(cur).is(until))){if(cur.nodeType===1){matched.push(cur)}cur=cur[dir]}return matched},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType===1&&n!==elem){r.push(n)}}return r}});jQuery.fn.extend({has:function(target){var i,targets=jQuery(target,this),len=targets.length;return this.filter(function(){for(i=0;i<len;i++){if(jQuery.contains(this,targets[i])){return true}}})},closest:function(selectors,context){var cur,i=0,l=this.length,matched=[],pos=rneedsContext.test(selectors)||typeof selectors!=="string"?jQuery(selectors,context||this.context):0;for(;i<l;i++){for(cur=this[i];cur&&cur!==context;cur=cur.parentNode){if(cur.nodeType<11&&(pos?pos.index(cur)>-1:cur.nodeType===1&&jQuery.find.matchesSelector(cur,selectors))){matched.push(cur);break}}}return this.pushStack(matched.length>1?jQuery.unique(matched):matched)},index:function(elem){if(!elem){return this[0]&&this[0].parentNode?this.first().prevAll().length:-1}if(typeof elem==="string"){return jQuery.inArray(this[0],jQuery(elem))}return jQuery.inArray(elem.jquery?elem[0]:elem,this)},add:function(selector,context){return this.pushStack(jQuery.unique(jQuery.merge(this.get(),jQuery(selector,context))))},addBack:function(selector){return this.add(selector==null?this.prevObject:this.prevObject.filter(selector))}});function sibling(cur,dir){do{cur=cur[dir]}while(cur&&cur.nodeType!==1);return cur}jQuery.each({parent:function(elem){var parent=elem.parentNode;return parent&&parent.nodeType!==11?parent:null},parents:function(elem){return jQuery.dir(elem,"parentNode")},parentsUntil:function(elem,i,until){return jQuery.dir(elem,"parentNode",until)},next:function(elem){return sibling(elem,"nextSibling")},prev:function(elem){return sibling(elem,"previousSibling")},nextAll:function(elem){return jQuery.dir(elem,"nextSibling")},prevAll:function(elem){return jQuery.dir(elem,"previousSibling")},nextUntil:function(elem,i,until){return jQuery.dir(elem,"nextSibling",until)},prevUntil:function(elem,i,until){return jQuery.dir(elem,"previousSibling",until)},siblings:function(elem){return jQuery.sibling((elem.parentNode||{}).firstChild,elem)},children:function(elem){return jQuery.sibling(elem.firstChild)},contents:function(elem){return jQuery.nodeName(elem,"iframe")?elem.contentDocument||elem.contentWindow.document:jQuery.merge([],elem.childNodes)}},function(name,fn){jQuery.fn[name]=function(until,selector){var ret=jQuery.map(this,fn,until);if(name.slice(-5)!=="Until"){selector=until}if(selector&&typeof selector==="string"){ret=jQuery.filter(selector,ret)}if(this.length>1){if(!guaranteedUnique[name]){ret=jQuery.unique(ret)}if(rparentsprev.test(name)){ret=ret.reverse()}}return this.pushStack(ret)}});var rnotwhite=/\S+/g;var optionsCache={};function createOptions(options){var object=optionsCache[options]={};jQuery.each(options.match(rnotwhite)||[],function(_,flag){object[flag]=true});return object}jQuery.Callbacks=function(options){options=typeof options==="string"?optionsCache[options]||createOptions(options):jQuery.extend({},options);var firing,memory,fired,firingLength,firingIndex,firingStart,list=[],stack=!options.once&&[],fire=function(data){memory=options.memory&&data;fired=true;firingIndex=firingStart||0;firingStart=0;firingLength=list.length;firing=true;for(;list&&firingIndex<firingLength;firingIndex++){if(list[firingIndex].apply(data[0],data[1])===false&&options.stopOnFalse){memory=false;break}}firing=false;if(list){if(stack){if(stack.length){fire(stack.shift())}}else if(memory){list=[]}else{self.disable()}}},self={add:function(){if(list){var start=list.length;(function add(args){jQuery.each(args,function(_,arg){var type=jQuery.type(arg);if(type==="function"){if(!options.unique||!self.has(arg)){list.push(arg)}}else if(arg&&arg.length&&type!=="string"){add(arg)}})})(arguments);if(firing){firingLength=list.length}else if(memory){firingStart=start;fire(memory)}}return this},remove:function(){if(list){jQuery.each(arguments,function(_,arg){var index;while((index=jQuery.inArray(arg,list,index))>-1){list.splice(index,1);if(firing){if(index<=firingLength){firingLength--}if(index<=firingIndex){firingIndex--}}}})}return this},has:function(fn){return fn?jQuery.inArray(fn,list)>-1:!!(list&&list.length)},empty:function(){list=[];firingLength=0;return this},disable:function(){list=stack=memory=undefined;return this},disabled:function(){return!list},lock:function(){stack=undefined;if(!memory){self.disable()}return this},locked:function(){return!stack},fireWith:function(context,args){if(list&&(!fired||stack)){args=args||[];args=[context,args.slice?args.slice():args];if(firing){stack.push(args)}else{fire(args)}}return this},fire:function(){self.fireWith(this,arguments);return this},fired:function(){return!!fired}};return self};jQuery.extend({Deferred:function(func){var tuples=[["resolve","done",jQuery.Callbacks("once memory"),"resolved"],["reject","fail",jQuery.Callbacks("once memory"),"rejected"],["notify","progress",jQuery.Callbacks("memory")]],state="pending",promise={state:function(){return state},always:function(){deferred.done(arguments).fail(arguments);return this},then:function(){var fns=arguments;return jQuery.Deferred(function(newDefer){jQuery.each(tuples,function(i,tuple){var fn=jQuery.isFunction(fns[i])&&fns[i];deferred[tuple[1]](function(){var returned=fn&&fn.apply(this,arguments);if(returned&&jQuery.isFunction(returned.promise)){returned.promise().done(newDefer.resolve).fail(newDefer.reject).progress(newDefer.notify)}else{newDefer[tuple[0]+"With"](this===promise?newDefer.promise():this,fn?[returned]:arguments)}})});fns=null}).promise()},promise:function(obj){return obj!=null?jQuery.extend(obj,promise):promise}},deferred={};promise.pipe=promise.then;jQuery.each(tuples,function(i,tuple){var list=tuple[2],stateString=tuple[3];promise[tuple[1]]=list.add;if(stateString){list.add(function(){state=stateString},tuples[i^1][2].disable,tuples[2][2].lock)}deferred[tuple[0]]=function(){deferred[tuple[0]+"With"](this===deferred?promise:this,arguments);return this};deferred[tuple[0]+"With"]=list.fireWith});promise.promise(deferred);if(func){func.call(deferred,deferred)}return deferred},when:function(subordinate){var i=0,resolveValues=slice.call(arguments),length=resolveValues.length,remaining=length!==1||subordinate&&jQuery.isFunction(subordinate.promise)?length:0,deferred=remaining===1?subordinate:jQuery.Deferred(),updateFunc=function(i,contexts,values){return function(value){contexts[i]=this;values[i]=arguments.length>1?slice.call(arguments):value;if(values===progressValues){deferred.notifyWith(contexts,values)}else if(!--remaining){deferred.resolveWith(contexts,values)}}},progressValues,progressContexts,resolveContexts;if(length>1){progressValues=new Array(length);progressContexts=new Array(length);resolveContexts=new Array(length);for(;i<length;i++){if(resolveValues[i]&&jQuery.isFunction(resolveValues[i].promise)){resolveValues[i].promise().done(updateFunc(i,resolveContexts,resolveValues)).fail(deferred.reject).progress(updateFunc(i,progressContexts,progressValues))}else{--remaining}}}if(!remaining){deferred.resolveWith(resolveContexts,resolveValues)}return deferred.promise()}});var readyList;jQuery.fn.ready=function(fn){jQuery.ready.promise().done(fn);return this};jQuery.extend({isReady:false,readyWait:1,holdReady:function(hold){if(hold){jQuery.readyWait++}else{jQuery.ready(true)}},ready:function(wait){if(wait===true?--jQuery.readyWait:jQuery.isReady){return}if(!document.body){return setTimeout(jQuery.ready)}jQuery.isReady=true;if(wait!==true&&--jQuery.readyWait>0){return}readyList.resolveWith(document,[jQuery]);if(jQuery.fn.triggerHandler){jQuery(document).triggerHandler("ready");jQuery(document).off("ready")}}});function detach(){if(document.addEventListener){document.removeEventListener("DOMContentLoaded",completed,false);window.removeEventListener("load",completed,false)}else{document.detachEvent("onreadystatechange",completed);window.detachEvent("onload",completed)}}function completed(){if(document.addEventListener||event.type==="load"||document.readyState==="complete"){detach();jQuery.ready()}}jQuery.ready.promise=function(obj){if(!readyList){readyList=jQuery.Deferred();if(document.readyState==="complete"){setTimeout(jQuery.ready)}else if(document.addEventListener){document.addEventListener("DOMContentLoaded",completed,false);window.addEventListener("load",completed,false)}else{document.attachEvent("onreadystatechange",completed);window.attachEvent("onload",completed);var top=false;try{top=window.frameElement==null&&document.documentElement}catch(e){}if(top&&top.doScroll){(function doScrollCheck(){if(!jQuery.isReady){try{top.doScroll("left")}catch(e){return setTimeout(doScrollCheck,50)}detach();jQuery.ready()}})()}}}return readyList.promise(obj)};var strundefined=typeof undefined;var i;for(i in jQuery(support)){break}support.ownLast=i!=="0";support.inlineBlockNeedsLayout=false;jQuery(function(){var val,div,body,container;body=document.getElementsByTagName("body")[0];if(!body||!body.style){return}div=document.createElement("div");container=document.createElement("div");container.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px";body.appendChild(container).appendChild(div);if(typeof div.style.zoom!==strundefined){div.style.cssText="display:inline;margin:0;border:0;padding:1px;width:1px;zoom:1";support.inlineBlockNeedsLayout=val=div.offsetWidth===3;if(val){body.style.zoom=1}}body.removeChild(container)});(function(){var div=document.createElement("div");if(support.deleteExpando==null){support.deleteExpando=true;try{delete div.test}catch(e){support.deleteExpando=false}}div=null})();jQuery.acceptData=function(elem){var noData=jQuery.noData[(elem.nodeName+" ").toLowerCase()],nodeType=+elem.nodeType||1;return nodeType!==1&&nodeType!==9?false:!noData||noData!==true&&elem.getAttribute("classid")===noData};var rbrace=/^(?:\{[\w\W]*\}|\[[\w\W]*\])$/,rmultiDash=/([A-Z])/g;function dataAttr(elem,key,data){if(data===undefined&&elem.nodeType===1){var name="data-"+key.replace(rmultiDash,"-$1").toLowerCase();data=elem.getAttribute(name);if(typeof data==="string"){try{data=data==="true"?true:data==="false"?false:data==="null"?null:+data+""===data?+data:rbrace.test(data)?jQuery.parseJSON(data):data}catch(e){}jQuery.data(elem,key,data)}else{data=undefined}}return data}function isEmptyDataObject(obj){var name;for(name in obj){if(name==="data"&&jQuery.isEmptyObject(obj[name])){continue}if(name!=="toJSON"){return false}}return true}function internalData(elem,name,data,pvt){if(!jQuery.acceptData(elem)){return}var ret,thisCache,internalKey=jQuery.expando,isNode=elem.nodeType,cache=isNode?jQuery.cache:elem,id=isNode?elem[internalKey]:elem[internalKey]&&internalKey;if((!id||!cache[id]||!pvt&&!cache[id].data)&&data===undefined&&typeof name==="string"){return}if(!id){if(isNode){id=elem[internalKey]=deletedIds.pop()||jQuery.guid++}else{id=internalKey}}if(!cache[id]){cache[id]=isNode?{}:{toJSON:jQuery.noop}}if(typeof name==="object"||typeof name==="function"){if(pvt){cache[id]=jQuery.extend(cache[id],name)}else{cache[id].data=jQuery.extend(cache[id].data,name)}}thisCache=cache[id];if(!pvt){if(!thisCache.data){thisCache.data={}}thisCache=thisCache.data}if(data!==undefined){thisCache[jQuery.camelCase(name)]=data}if(typeof name==="string"){ret=thisCache[name];if(ret==null){ret=thisCache[jQuery.camelCase(name)]}}else{ret=thisCache}return ret}function internalRemoveData(elem,name,pvt){if(!jQuery.acceptData(elem)){return}var thisCache,i,isNode=elem.nodeType,cache=isNode?jQuery.cache:elem,id=isNode?elem[jQuery.expando]:jQuery.expando;if(!cache[id]){return}if(name){thisCache=pvt?cache[id]:cache[id].data;if(thisCache){if(!jQuery.isArray(name)){if(name in thisCache){name=[name]}else{name=jQuery.camelCase(name);if(name in thisCache){name=[name]}else{name=name.split(" ")}}}else{name=name.concat(jQuery.map(name,jQuery.camelCase))}i=name.length;while(i--){delete thisCache[name[i]]}if(pvt?!isEmptyDataObject(thisCache):!jQuery.isEmptyObject(thisCache)){return}}}if(!pvt){delete cache[id].data;if(!isEmptyDataObject(cache[id])){return}}if(isNode){jQuery.cleanData([elem],true)}else if(support.deleteExpando||cache!=cache.window){delete cache[id]}else{cache[id]=null}}jQuery.extend({cache:{},noData:{"applet ":true,"embed ":true,"object ":"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"},hasData:function(elem){elem=elem.nodeType?jQuery.cache[elem[jQuery.expando]]:elem[jQuery.expando];return!!elem&&!isEmptyDataObject(elem)},data:function(elem,name,data){return internalData(elem,name,data)},removeData:function(elem,name){return internalRemoveData(elem,name)},_data:function(elem,name,data){return internalData(elem,name,data,true)},_removeData:function(elem,name){return internalRemoveData(elem,name,true)}});jQuery.fn.extend({data:function(key,value){var i,name,data,elem=this[0],attrs=elem&&elem.attributes;if(key===undefined){if(this.length){data=jQuery.data(elem);if(elem.nodeType===1&&!jQuery._data(elem,"parsedAttrs")){i=attrs.length;while(i--){if(attrs[i]){name=attrs[i].name;if(name.indexOf("data-")===0){name=jQuery.camelCase(name.slice(5));dataAttr(elem,name,data[name])}}}jQuery._data(elem,"parsedAttrs",true)}}return data}if(typeof key==="object"){return this.each(function(){jQuery.data(this,key)})}return arguments.length>1?this.each(function(){jQuery.data(this,key,value)}):elem?dataAttr(elem,key,jQuery.data(elem,key)):undefined},removeData:function(key){return this.each(function(){jQuery.removeData(this,key)})}});jQuery.extend({queue:function(elem,type,data){var queue;if(elem){type=(type||"fx")+"queue";queue=jQuery._data(elem,type);if(data){if(!queue||jQuery.isArray(data)){queue=jQuery._data(elem,type,jQuery.makeArray(data))}else{queue.push(data)}}return queue||[]}},dequeue:function(elem,type){type=type||"fx";var queue=jQuery.queue(elem,type),startLength=queue.length,fn=queue.shift(),hooks=jQuery._queueHooks(elem,type),next=function(){jQuery.dequeue(elem,type)};if(fn==="inprogress"){fn=queue.shift();startLength--}if(fn){if(type==="fx"){queue.unshift("inprogress")}delete hooks.stop;fn.call(elem,next,hooks)}if(!startLength&&hooks){hooks.empty.fire()}},_queueHooks:function(elem,type){var key=type+"queueHooks";return jQuery._data(elem,key)||jQuery._data(elem,key,{empty:jQuery.Callbacks("once memory").add(function(){jQuery._removeData(elem,type+"queue");jQuery._removeData(elem,key)})})}});jQuery.fn.extend({queue:function(type,data){var setter=2;if(typeof type!=="string"){data=type;type="fx";setter--}if(arguments.length<setter){return jQuery.queue(this[0],type)}return data===undefined?this:this.each(function(){var queue=jQuery.queue(this,type,data);jQuery._queueHooks(this,type);if(type==="fx"&&queue[0]!=="inprogress"){jQuery.dequeue(this,type)}})},dequeue:function(type){return this.each(function(){jQuery.dequeue(this,type)})},clearQueue:function(type){return this.queue(type||"fx",[])},promise:function(type,obj){var tmp,count=1,defer=jQuery.Deferred(),elements=this,i=this.length,resolve=function(){if(!--count){defer.resolveWith(elements,[elements])}};if(typeof type!=="string"){obj=type;type=undefined}type=type||"fx";while(i--){tmp=jQuery._data(elements[i],type+"queueHooks");if(tmp&&tmp.empty){count++;tmp.empty.add(resolve)}}resolve();return defer.promise(obj)}});var pnum=/[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source;var cssExpand=["Top","Right","Bottom","Left"];var isHidden=function(elem,el){elem=el||elem;return jQuery.css(elem,"display")==="none"||!jQuery.contains(elem.ownerDocument,elem)};var access=jQuery.access=function(elems,fn,key,value,chainable,emptyGet,raw){var i=0,length=elems.length,bulk=key==null;if(jQuery.type(key)==="object"){chainable=true;for(i in key){jQuery.access(elems,fn,i,key[i],true,emptyGet,raw)}}else if(value!==undefined){chainable=true;if(!jQuery.isFunction(value)){raw=true}if(bulk){if(raw){fn.call(elems,value);fn=null}else{bulk=fn;fn=function(elem,key,value){return bulk.call(jQuery(elem),value)}}}if(fn){for(;i<length;i++){fn(elems[i],key,raw?value:value.call(elems[i],i,fn(elems[i],key)))}}}return chainable?elems:bulk?fn.call(elems):length?fn(elems[0],key):emptyGet};var rcheckableType=/^(?:checkbox|radio)$/i;(function(){var input=document.createElement("input"),div=document.createElement("div"),fragment=document.createDocumentFragment();div.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>";support.leadingWhitespace=div.firstChild.nodeType===3;support.tbody=!div.getElementsByTagName("tbody").length;support.htmlSerialize=!!div.getElementsByTagName("link").length;support.html5Clone=document.createElement("nav").cloneNode(true).outerHTML!=="<:nav></:nav>";input.type="checkbox";input.checked=true;fragment.appendChild(input);support.appendChecked=input.checked;div.innerHTML="<textarea>x</textarea>";support.noCloneChecked=!!div.cloneNode(true).lastChild.defaultValue;fragment.appendChild(div);div.innerHTML="<input type='radio' checked='checked' name='t'/>";support.checkClone=div.cloneNode(true).cloneNode(true).lastChild.checked;support.noCloneEvent=true;if(div.attachEvent){div.attachEvent("onclick",function(){support.noCloneEvent=false});div.cloneNode(true).click()}if(support.deleteExpando==null){support.deleteExpando=true;try{delete div.test}catch(e){support.deleteExpando=false}}})();(function(){var i,eventName,div=document.createElement("div");for(i in{submit:true,change:true,focusin:true}){eventName="on"+i;if(!(support[i+"Bubbles"]=eventName in window)){div.setAttribute(eventName,"t");support[i+"Bubbles"]=div.attributes[eventName].expando===false}}div=null})();var rformElems=/^(?:input|select|textarea)$/i,rkeyEvent=/^key/,rmouseEvent=/^(?:mouse|pointer|contextmenu)|click/,rfocusMorph=/^(?:focusinfocus|focusoutblur)$/,rtypenamespace=/^([^.]*)(?:\.(.+)|)$/;function returnTrue(){return true}function returnFalse(){return false}function safeActiveElement(){try{return document.activeElement}catch(err){}}jQuery.event={global:{},add:function(elem,types,handler,data,selector){var tmp,events,t,handleObjIn,special,eventHandle,handleObj,handlers,type,namespaces,origType,elemData=jQuery._data(elem);if(!elemData){return}if(handler.handler){handleObjIn=handler;handler=handleObjIn.handler;selector=handleObjIn.selector}if(!handler.guid){handler.guid=jQuery.guid++}if(!(events=elemData.events)){events=elemData.events={}}if(!(eventHandle=elemData.handle)){eventHandle=elemData.handle=function(e){return typeof jQuery!==strundefined&&(!e||jQuery.event.triggered!==e.type)?jQuery.event.dispatch.apply(eventHandle.elem,arguments):undefined};eventHandle.elem=elem}types=(types||"").match(rnotwhite)||[""];t=types.length;while(t--){tmp=rtypenamespace.exec(types[t])||[];type=origType=tmp[1];namespaces=(tmp[2]||"").split(".").sort();if(!type){continue}special=jQuery.event.special[type]||{};type=(selector?special.delegateType:special.bindType)||type;special=jQuery.event.special[type]||{};handleObj=jQuery.extend({type:type,origType:origType,data:data,handler:handler,guid:handler.guid,selector:selector,needsContext:selector&&jQuery.expr.match.needsContext.test(selector),namespace:namespaces.join(".")},handleObjIn);if(!(handlers=events[type])){handlers=events[type]=[];handlers.delegateCount=0;if(!special.setup||special.setup.call(elem,data,namespaces,eventHandle)===false){if(elem.addEventListener){elem.addEventListener(type,eventHandle,false)}else if(elem.attachEvent){elem.attachEvent("on"+type,eventHandle)}}}if(special.add){special.add.call(elem,handleObj);if(!handleObj.handler.guid){handleObj.handler.guid=handler.guid}}if(selector){handlers.splice(handlers.delegateCount++,0,handleObj)}else{handlers.push(handleObj)}jQuery.event.global[type]=true}elem=null},remove:function(elem,types,handler,selector,mappedTypes){var j,handleObj,tmp,origCount,t,events,special,handlers,type,namespaces,origType,elemData=jQuery.hasData(elem)&&jQuery._data(elem);if(!elemData||!(events=elemData.events)){return}types=(types||"").match(rnotwhite)||[""];t=types.length;while(t--){tmp=rtypenamespace.exec(types[t])||[];type=origType=tmp[1];namespaces=(tmp[2]||"").split(".").sort();if(!type){for(type in events){jQuery.event.remove(elem,type+types[t],handler,selector,true)}continue}special=jQuery.event.special[type]||{};type=(selector?special.delegateType:special.bindType)||type;handlers=events[type]||[];tmp=tmp[2]&&new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)");origCount=j=handlers.length;while(j--){handleObj=handlers[j];if((mappedTypes||origType===handleObj.origType)&&(!handler||handler.guid===handleObj.guid)&&(!tmp||tmp.test(handleObj.namespace))&&(!selector||selector===handleObj.selector||selector==="**"&&handleObj.selector)){handlers.splice(j,1);if(handleObj.selector){handlers.delegateCount--}if(special.remove){special.remove.call(elem,handleObj)}}}if(origCount&&!handlers.length){if(!special.teardown||special.teardown.call(elem,namespaces,elemData.handle)===false){jQuery.removeEvent(elem,type,elemData.handle)}delete events[type]}}if(jQuery.isEmptyObject(events)){delete elemData.handle;jQuery._removeData(elem,"events")}},trigger:function(event,data,elem,onlyHandlers){var handle,ontype,cur,bubbleType,special,tmp,i,eventPath=[elem||document],type=hasOwn.call(event,"type")?event.type:event,namespaces=hasOwn.call(event,"namespace")?event.namespace.split("."):[];cur=tmp=elem=elem||document;if(elem.nodeType===3||elem.nodeType===8){return}if(rfocusMorph.test(type+jQuery.event.triggered)){return}if(type.indexOf(".")>=0){namespaces=type.split(".");type=namespaces.shift();namespaces.sort()}ontype=type.indexOf(":")<0&&"on"+type;event=event[jQuery.expando]?event:new jQuery.Event(type,typeof event==="object"&&event);event.isTrigger=onlyHandlers?2:3;event.namespace=namespaces.join(".");event.namespace_re=event.namespace?new RegExp("(^|\\.)"+namespaces.join("\\.(?:.*\\.|)")+"(\\.|$)"):null;event.result=undefined;if(!event.target){event.target=elem}data=data==null?[event]:jQuery.makeArray(data,[event]);special=jQuery.event.special[type]||{};if(!onlyHandlers&&special.trigger&&special.trigger.apply(elem,data)===false){return}if(!onlyHandlers&&!special.noBubble&&!jQuery.isWindow(elem)){bubbleType=special.delegateType||type;if(!rfocusMorph.test(bubbleType+type)){cur=cur.parentNode}for(;cur;cur=cur.parentNode){eventPath.push(cur);tmp=cur}if(tmp===(elem.ownerDocument||document)){eventPath.push(tmp.defaultView||tmp.parentWindow||window)}}i=0;while((cur=eventPath[i++])&&!event.isPropagationStopped()){event.type=i>1?bubbleType:special.bindType||type;handle=(jQuery._data(cur,"events")||{})[event.type]&&jQuery._data(cur,"handle");if(handle){handle.apply(cur,data)}handle=ontype&&cur[ontype];if(handle&&handle.apply&&jQuery.acceptData(cur)){event.result=handle.apply(cur,data);if(event.result===false){event.preventDefault()}}}event.type=type;if(!onlyHandlers&&!event.isDefaultPrevented()){if((!special._default||special._default.apply(eventPath.pop(),data)===false)&&jQuery.acceptData(elem)){if(ontype&&elem[type]&&!jQuery.isWindow(elem)){tmp=elem[ontype];if(tmp){elem[ontype]=null}jQuery.event.triggered=type;try{elem[type]()}catch(e){}jQuery.event.triggered=undefined;if(tmp){elem[ontype]=tmp}}}}return event.result},dispatch:function(event){event=jQuery.event.fix(event);var i,ret,handleObj,matched,j,handlerQueue=[],args=slice.call(arguments),handlers=(jQuery._data(this,"events")||{})[event.type]||[],special=jQuery.event.special[event.type]||{};args[0]=event;event.delegateTarget=this;if(special.preDispatch&&special.preDispatch.call(this,event)===false){return}handlerQueue=jQuery.event.handlers.call(this,event,handlers);i=0;while((matched=handlerQueue[i++])&&!event.isPropagationStopped()){event.currentTarget=matched.elem;j=0;while((handleObj=matched.handlers[j++])&&!event.isImmediatePropagationStopped()){if(!event.namespace_re||event.namespace_re.test(handleObj.namespace)){event.handleObj=handleObj;event.data=handleObj.data;ret=((jQuery.event.special[handleObj.origType]||{}).handle||handleObj.handler).apply(matched.elem,args);
+if(ret!==undefined){if((event.result=ret)===false){event.preventDefault();event.stopPropagation()}}}}}if(special.postDispatch){special.postDispatch.call(this,event)}return event.result},handlers:function(event,handlers){var sel,handleObj,matches,i,handlerQueue=[],delegateCount=handlers.delegateCount,cur=event.target;if(delegateCount&&cur.nodeType&&(!event.button||event.type!=="click")){for(;cur!=this;cur=cur.parentNode||this){if(cur.nodeType===1&&(cur.disabled!==true||event.type!=="click")){matches=[];for(i=0;i<delegateCount;i++){handleObj=handlers[i];sel=handleObj.selector+" ";if(matches[sel]===undefined){matches[sel]=handleObj.needsContext?jQuery(sel,this).index(cur)>=0:jQuery.find(sel,this,null,[cur]).length}if(matches[sel]){matches.push(handleObj)}}if(matches.length){handlerQueue.push({elem:cur,handlers:matches})}}}}if(delegateCount<handlers.length){handlerQueue.push({elem:this,handlers:handlers.slice(delegateCount)})}return handlerQueue},fix:function(event){if(event[jQuery.expando]){return event}var i,prop,copy,type=event.type,originalEvent=event,fixHook=this.fixHooks[type];if(!fixHook){this.fixHooks[type]=fixHook=rmouseEvent.test(type)?this.mouseHooks:rkeyEvent.test(type)?this.keyHooks:{}}copy=fixHook.props?this.props.concat(fixHook.props):this.props;event=new jQuery.Event(originalEvent);i=copy.length;while(i--){prop=copy[i];event[prop]=originalEvent[prop]}if(!event.target){event.target=originalEvent.srcElement||document}if(event.target.nodeType===3){event.target=event.target.parentNode}event.metaKey=!!event.metaKey;return fixHook.filter?fixHook.filter(event,originalEvent):event},props:"altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(event,original){if(event.which==null){event.which=original.charCode!=null?original.charCode:original.keyCode}return event}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(event,original){var body,eventDoc,doc,button=original.button,fromElement=original.fromElement;if(event.pageX==null&&original.clientX!=null){eventDoc=event.target.ownerDocument||document;doc=eventDoc.documentElement;body=eventDoc.body;event.pageX=original.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc&&doc.clientLeft||body&&body.clientLeft||0);event.pageY=original.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc&&doc.clientTop||body&&body.clientTop||0)}if(!event.relatedTarget&&fromElement){event.relatedTarget=fromElement===event.target?original.toElement:fromElement}if(!event.which&&button!==undefined){event.which=button&1?1:button&2?3:button&4?2:0}return event}},special:{load:{noBubble:true},focus:{trigger:function(){if(this!==safeActiveElement()&&this.focus){try{this.focus();return false}catch(e){}}},delegateType:"focusin"},blur:{trigger:function(){if(this===safeActiveElement()&&this.blur){this.blur();return false}},delegateType:"focusout"},click:{trigger:function(){if(jQuery.nodeName(this,"input")&&this.type==="checkbox"&&this.click){this.click();return false}},_default:function(event){return jQuery.nodeName(event.target,"a")}},beforeunload:{postDispatch:function(event){if(event.result!==undefined&&event.originalEvent){event.originalEvent.returnValue=event.result}}}},simulate:function(type,elem,event,bubble){var e=jQuery.extend(new jQuery.Event,event,{type:type,isSimulated:true,originalEvent:{}});if(bubble){jQuery.event.trigger(e,null,elem)}else{jQuery.event.dispatch.call(elem,e)}if(e.isDefaultPrevented()){event.preventDefault()}}};jQuery.removeEvent=document.removeEventListener?function(elem,type,handle){if(elem.removeEventListener){elem.removeEventListener(type,handle,false)}}:function(elem,type,handle){var name="on"+type;if(elem.detachEvent){if(typeof elem[name]===strundefined){elem[name]=null}elem.detachEvent(name,handle)}};jQuery.Event=function(src,props){if(!(this instanceof jQuery.Event)){return new jQuery.Event(src,props)}if(src&&src.type){this.originalEvent=src;this.type=src.type;this.isDefaultPrevented=src.defaultPrevented||src.defaultPrevented===undefined&&src.returnValue===false?returnTrue:returnFalse}else{this.type=src}if(props){jQuery.extend(this,props)}this.timeStamp=src&&src.timeStamp||jQuery.now();this[jQuery.expando]=true};jQuery.Event.prototype={isDefaultPrevented:returnFalse,isPropagationStopped:returnFalse,isImmediatePropagationStopped:returnFalse,preventDefault:function(){var e=this.originalEvent;this.isDefaultPrevented=returnTrue;if(!e){return}if(e.preventDefault){e.preventDefault()}else{e.returnValue=false}},stopPropagation:function(){var e=this.originalEvent;this.isPropagationStopped=returnTrue;if(!e){return}if(e.stopPropagation){e.stopPropagation()}e.cancelBubble=true},stopImmediatePropagation:function(){var e=this.originalEvent;this.isImmediatePropagationStopped=returnTrue;if(e&&e.stopImmediatePropagation){e.stopImmediatePropagation()}this.stopPropagation()}};jQuery.each({mouseenter:"mouseover",mouseleave:"mouseout",pointerenter:"pointerover",pointerleave:"pointerout"},function(orig,fix){jQuery.event.special[orig]={delegateType:fix,bindType:fix,handle:function(event){var ret,target=this,related=event.relatedTarget,handleObj=event.handleObj;if(!related||related!==target&&!jQuery.contains(target,related)){event.type=handleObj.origType;ret=handleObj.handler.apply(this,arguments);event.type=fix}return ret}}});if(!support.submitBubbles){jQuery.event.special.submit={setup:function(){if(jQuery.nodeName(this,"form")){return false}jQuery.event.add(this,"click._submit keypress._submit",function(e){var elem=e.target,form=jQuery.nodeName(elem,"input")||jQuery.nodeName(elem,"button")?elem.form:undefined;if(form&&!jQuery._data(form,"submitBubbles")){jQuery.event.add(form,"submit._submit",function(event){event._submit_bubble=true});jQuery._data(form,"submitBubbles",true)}})},postDispatch:function(event){if(event._submit_bubble){delete event._submit_bubble;if(this.parentNode&&!event.isTrigger){jQuery.event.simulate("submit",this.parentNode,event,true)}}},teardown:function(){if(jQuery.nodeName(this,"form")){return false}jQuery.event.remove(this,"._submit")}}}if(!support.changeBubbles){jQuery.event.special.change={setup:function(){if(rformElems.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio"){jQuery.event.add(this,"propertychange._change",function(event){if(event.originalEvent.propertyName==="checked"){this._just_changed=true}});jQuery.event.add(this,"click._change",function(event){if(this._just_changed&&!event.isTrigger){this._just_changed=false}jQuery.event.simulate("change",this,event,true)})}return false}jQuery.event.add(this,"beforeactivate._change",function(e){var elem=e.target;if(rformElems.test(elem.nodeName)&&!jQuery._data(elem,"changeBubbles")){jQuery.event.add(elem,"change._change",function(event){if(this.parentNode&&!event.isSimulated&&!event.isTrigger){jQuery.event.simulate("change",this.parentNode,event,true)}});jQuery._data(elem,"changeBubbles",true)}})},handle:function(event){var elem=event.target;if(this!==elem||event.isSimulated||event.isTrigger||elem.type!=="radio"&&elem.type!=="checkbox"){return event.handleObj.handler.apply(this,arguments)}},teardown:function(){jQuery.event.remove(this,"._change");return!rformElems.test(this.nodeName)}}}if(!support.focusinBubbles){jQuery.each({focus:"focusin",blur:"focusout"},function(orig,fix){var handler=function(event){jQuery.event.simulate(fix,event.target,jQuery.event.fix(event),true)};jQuery.event.special[fix]={setup:function(){var doc=this.ownerDocument||this,attaches=jQuery._data(doc,fix);if(!attaches){doc.addEventListener(orig,handler,true)}jQuery._data(doc,fix,(attaches||0)+1)},teardown:function(){var doc=this.ownerDocument||this,attaches=jQuery._data(doc,fix)-1;if(!attaches){doc.removeEventListener(orig,handler,true);jQuery._removeData(doc,fix)}else{jQuery._data(doc,fix,attaches)}}}})}jQuery.fn.extend({on:function(types,selector,data,fn,one){var type,origFn;if(typeof types==="object"){if(typeof selector!=="string"){data=data||selector;selector=undefined}for(type in types){this.on(type,selector,data,types[type],one)}return this}if(data==null&&fn==null){fn=selector;data=selector=undefined}else if(fn==null){if(typeof selector==="string"){fn=data;data=undefined}else{fn=data;data=selector;selector=undefined}}if(fn===false){fn=returnFalse}else if(!fn){return this}if(one===1){origFn=fn;fn=function(event){jQuery().off(event);return origFn.apply(this,arguments)};fn.guid=origFn.guid||(origFn.guid=jQuery.guid++)}return this.each(function(){jQuery.event.add(this,types,fn,data,selector)})},one:function(types,selector,data,fn){return this.on(types,selector,data,fn,1)},off:function(types,selector,fn){var handleObj,type;if(types&&types.preventDefault&&types.handleObj){handleObj=types.handleObj;jQuery(types.delegateTarget).off(handleObj.namespace?handleObj.origType+"."+handleObj.namespace:handleObj.origType,handleObj.selector,handleObj.handler);return this}if(typeof types==="object"){for(type in types){this.off(type,selector,types[type])}return this}if(selector===false||typeof selector==="function"){fn=selector;selector=undefined}if(fn===false){fn=returnFalse}return this.each(function(){jQuery.event.remove(this,types,fn,selector)})},trigger:function(type,data){return this.each(function(){jQuery.event.trigger(type,data,this)})},triggerHandler:function(type,data){var elem=this[0];if(elem){return jQuery.event.trigger(type,data,elem,true)}}});function createSafeFragment(document){var list=nodeNames.split("|"),safeFrag=document.createDocumentFragment();if(safeFrag.createElement){while(list.length){safeFrag.createElement(list.pop())}}return safeFrag}var nodeNames="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|"+"header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",rinlinejQuery=/ jQuery\d+="(?:null|\d+)"/g,rnoshimcache=new RegExp("<(?:"+nodeNames+")[\\s/>]","i"),rleadingWhitespace=/^\s+/,rxhtmlTag=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,rtagName=/<([\w:]+)/,rtbody=/<tbody/i,rhtml=/<|&#?\w+;/,rnoInnerhtml=/<(?:script|style|link)/i,rchecked=/checked\s*(?:[^=]|=\s*.checked.)/i,rscriptType=/^$|\/(?:java|ecma)script/i,rscriptTypeMasked=/^true\/(.*)/,rcleanScript=/^\s*<!(?:\[CDATA\[|--)|(?:\]\]|--)>\s*$/g,wrapMap={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],area:[1,"<map>","</map>"],param:[1,"<object>","</object>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],_default:support.htmlSerialize?[0,"",""]:[1,"X<div>","</div>"]},safeFragment=createSafeFragment(document),fragmentDiv=safeFragment.appendChild(document.createElement("div"));wrapMap.optgroup=wrapMap.option;wrapMap.tbody=wrapMap.tfoot=wrapMap.colgroup=wrapMap.caption=wrapMap.thead;wrapMap.th=wrapMap.td;function getAll(context,tag){var elems,elem,i=0,found=typeof context.getElementsByTagName!==strundefined?context.getElementsByTagName(tag||"*"):typeof context.querySelectorAll!==strundefined?context.querySelectorAll(tag||"*"):undefined;if(!found){for(found=[],elems=context.childNodes||context;(elem=elems[i])!=null;i++){if(!tag||jQuery.nodeName(elem,tag)){found.push(elem)}else{jQuery.merge(found,getAll(elem,tag))}}}return tag===undefined||tag&&jQuery.nodeName(context,tag)?jQuery.merge([context],found):found}function fixDefaultChecked(elem){if(rcheckableType.test(elem.type)){elem.defaultChecked=elem.checked}}function manipulationTarget(elem,content){return jQuery.nodeName(elem,"table")&&jQuery.nodeName(content.nodeType!==11?content:content.firstChild,"tr")?elem.getElementsByTagName("tbody")[0]||elem.appendChild(elem.ownerDocument.createElement("tbody")):elem}function disableScript(elem){elem.type=(jQuery.find.attr(elem,"type")!==null)+"/"+elem.type;return elem}function restoreScript(elem){var match=rscriptTypeMasked.exec(elem.type);if(match){elem.type=match[1]}else{elem.removeAttribute("type")}return elem}function setGlobalEval(elems,refElements){var elem,i=0;for(;(elem=elems[i])!=null;i++){jQuery._data(elem,"globalEval",!refElements||jQuery._data(refElements[i],"globalEval"))}}function cloneCopyEvent(src,dest){if(dest.nodeType!==1||!jQuery.hasData(src)){return}var type,i,l,oldData=jQuery._data(src),curData=jQuery._data(dest,oldData),events=oldData.events;if(events){delete curData.handle;curData.events={};for(type in events){for(i=0,l=events[type].length;i<l;i++){jQuery.event.add(dest,type,events[type][i])}}}if(curData.data){curData.data=jQuery.extend({},curData.data)}}function fixCloneNodeIssues(src,dest){var nodeName,e,data;if(dest.nodeType!==1){return}nodeName=dest.nodeName.toLowerCase();if(!support.noCloneEvent&&dest[jQuery.expando]){data=jQuery._data(dest);for(e in data.events){jQuery.removeEvent(dest,e,data.handle)}dest.removeAttribute(jQuery.expando)}if(nodeName==="script"&&dest.text!==src.text){disableScript(dest).text=src.text;restoreScript(dest)}else if(nodeName==="object"){if(dest.parentNode){dest.outerHTML=src.outerHTML}if(support.html5Clone&&(src.innerHTML&&!jQuery.trim(dest.innerHTML))){dest.innerHTML=src.innerHTML}}else if(nodeName==="input"&&rcheckableType.test(src.type)){dest.defaultChecked=dest.checked=src.checked;if(dest.value!==src.value){dest.value=src.value}}else if(nodeName==="option"){dest.defaultSelected=dest.selected=src.defaultSelected}else if(nodeName==="input"||nodeName==="textarea"){dest.defaultValue=src.defaultValue}}jQuery.extend({clone:function(elem,dataAndEvents,deepDataAndEvents){var destElements,node,clone,i,srcElements,inPage=jQuery.contains(elem.ownerDocument,elem);if(support.html5Clone||jQuery.isXMLDoc(elem)||!rnoshimcache.test("<"+elem.nodeName+">")){clone=elem.cloneNode(true)}else{fragmentDiv.innerHTML=elem.outerHTML;fragmentDiv.removeChild(clone=fragmentDiv.firstChild)}if((!support.noCloneEvent||!support.noCloneChecked)&&(elem.nodeType===1||elem.nodeType===11)&&!jQuery.isXMLDoc(elem)){destElements=getAll(clone);srcElements=getAll(elem);for(i=0;(node=srcElements[i])!=null;++i){if(destElements[i]){fixCloneNodeIssues(node,destElements[i])}}}if(dataAndEvents){if(deepDataAndEvents){srcElements=srcElements||getAll(elem);destElements=destElements||getAll(clone);for(i=0;(node=srcElements[i])!=null;i++){cloneCopyEvent(node,destElements[i])}}else{cloneCopyEvent(elem,clone)}}destElements=getAll(clone,"script");if(destElements.length>0){setGlobalEval(destElements,!inPage&&getAll(elem,"script"))}destElements=srcElements=node=null;return clone},buildFragment:function(elems,context,scripts,selection){var j,elem,contains,tmp,tag,tbody,wrap,l=elems.length,safe=createSafeFragment(context),nodes=[],i=0;for(;i<l;i++){elem=elems[i];if(elem||elem===0){if(jQuery.type(elem)==="object"){jQuery.merge(nodes,elem.nodeType?[elem]:elem)}else if(!rhtml.test(elem)){nodes.push(context.createTextNode(elem))}else{tmp=tmp||safe.appendChild(context.createElement("div"));tag=(rtagName.exec(elem)||["",""])[1].toLowerCase();wrap=wrapMap[tag]||wrapMap._default;tmp.innerHTML=wrap[1]+elem.replace(rxhtmlTag,"<$1></$2>")+wrap[2];j=wrap[0];while(j--){tmp=tmp.lastChild}if(!support.leadingWhitespace&&rleadingWhitespace.test(elem)){nodes.push(context.createTextNode(rleadingWhitespace.exec(elem)[0]))}if(!support.tbody){elem=tag==="table"&&!rtbody.test(elem)?tmp.firstChild:wrap[1]==="<table>"&&!rtbody.test(elem)?tmp:0;j=elem&&elem.childNodes.length;while(j--){if(jQuery.nodeName(tbody=elem.childNodes[j],"tbody")&&!tbody.childNodes.length){elem.removeChild(tbody)}}}jQuery.merge(nodes,tmp.childNodes);tmp.textContent="";while(tmp.firstChild){tmp.removeChild(tmp.firstChild)}tmp=safe.lastChild}}}if(tmp){safe.removeChild(tmp)}if(!support.appendChecked){jQuery.grep(getAll(nodes,"input"),fixDefaultChecked)}i=0;while(elem=nodes[i++]){if(selection&&jQuery.inArray(elem,selection)!==-1){continue}contains=jQuery.contains(elem.ownerDocument,elem);tmp=getAll(safe.appendChild(elem),"script");if(contains){setGlobalEval(tmp)}if(scripts){j=0;while(elem=tmp[j++]){if(rscriptType.test(elem.type||"")){scripts.push(elem)}}}}tmp=null;return safe},cleanData:function(elems,acceptData){var elem,type,id,data,i=0,internalKey=jQuery.expando,cache=jQuery.cache,deleteExpando=support.deleteExpando,special=jQuery.event.special;for(;(elem=elems[i])!=null;i++){if(acceptData||jQuery.acceptData(elem)){id=elem[internalKey];data=id&&cache[id];if(data){if(data.events){for(type in data.events){if(special[type]){jQuery.event.remove(elem,type)}else{jQuery.removeEvent(elem,type,data.handle)}}}if(cache[id]){delete cache[id];if(deleteExpando){delete elem[internalKey]}else if(typeof elem.removeAttribute!==strundefined){elem.removeAttribute(internalKey)}else{elem[internalKey]=null}deletedIds.push(id)}}}}}});jQuery.fn.extend({text:function(value){return access(this,function(value){return value===undefined?jQuery.text(this):this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(value))},null,value,arguments.length)},append:function(){return this.domManip(arguments,function(elem){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var target=manipulationTarget(this,elem);target.appendChild(elem)}})},prepend:function(){return this.domManip(arguments,function(elem){if(this.nodeType===1||this.nodeType===11||this.nodeType===9){var target=manipulationTarget(this,elem);target.insertBefore(elem,target.firstChild)}})},before:function(){return this.domManip(arguments,function(elem){if(this.parentNode){this.parentNode.insertBefore(elem,this)}})},after:function(){return this.domManip(arguments,function(elem){if(this.parentNode){this.parentNode.insertBefore(elem,this.nextSibling)}})},remove:function(selector,keepData){var elem,elems=selector?jQuery.filter(selector,this):this,i=0;for(;(elem=elems[i])!=null;i++){if(!keepData&&elem.nodeType===1){jQuery.cleanData(getAll(elem))}if(elem.parentNode){if(keepData&&jQuery.contains(elem.ownerDocument,elem)){setGlobalEval(getAll(elem,"script"))}elem.parentNode.removeChild(elem)}}return this},empty:function(){var elem,i=0;for(;(elem=this[i])!=null;i++){if(elem.nodeType===1){jQuery.cleanData(getAll(elem,false))}while(elem.firstChild){elem.removeChild(elem.firstChild)}if(elem.options&&jQuery.nodeName(elem,"select")){elem.options.length=0}}return this},clone:function(dataAndEvents,deepDataAndEvents){dataAndEvents=dataAndEvents==null?false:dataAndEvents;deepDataAndEvents=deepDataAndEvents==null?dataAndEvents:deepDataAndEvents;return this.map(function(){return jQuery.clone(this,dataAndEvents,deepDataAndEvents)})},html:function(value){return access(this,function(value){var elem=this[0]||{},i=0,l=this.length;if(value===undefined){return elem.nodeType===1?elem.innerHTML.replace(rinlinejQuery,""):undefined}if(typeof value==="string"&&!rnoInnerhtml.test(value)&&(support.htmlSerialize||!rnoshimcache.test(value))&&(support.leadingWhitespace||!rleadingWhitespace.test(value))&&!wrapMap[(rtagName.exec(value)||["",""])[1].toLowerCase()]){value=value.replace(rxhtmlTag,"<$1></$2>");try{for(;i<l;i++){elem=this[i]||{};if(elem.nodeType===1){jQuery.cleanData(getAll(elem,false));elem.innerHTML=value}}elem=0}catch(e){}}if(elem){this.empty().append(value)}},null,value,arguments.length)},replaceWith:function(){var arg=arguments[0];this.domManip(arguments,function(elem){arg=this.parentNode;jQuery.cleanData(getAll(this));if(arg){arg.replaceChild(elem,this)}});return arg&&(arg.length||arg.nodeType)?this:this.remove()},detach:function(selector){return this.remove(selector,true)},domManip:function(args,callback){args=concat.apply([],args);var first,node,hasScripts,scripts,doc,fragment,i=0,l=this.length,set=this,iNoClone=l-1,value=args[0],isFunction=jQuery.isFunction(value);if(isFunction||l>1&&typeof value==="string"&&!support.checkClone&&rchecked.test(value)){return this.each(function(index){var self=set.eq(index);if(isFunction){args[0]=value.call(this,index,self.html())}self.domManip(args,callback)})}if(l){fragment=jQuery.buildFragment(args,this[0].ownerDocument,false,this);first=fragment.firstChild;if(fragment.childNodes.length===1){fragment=first}if(first){scripts=jQuery.map(getAll(fragment,"script"),disableScript);hasScripts=scripts.length;for(;i<l;i++){node=fragment;if(i!==iNoClone){node=jQuery.clone(node,true,true);if(hasScripts){jQuery.merge(scripts,getAll(node,"script"))}}callback.call(this[i],node,i)}if(hasScripts){doc=scripts[scripts.length-1].ownerDocument;jQuery.map(scripts,restoreScript);for(i=0;i<hasScripts;i++){node=scripts[i];if(rscriptType.test(node.type||"")&&!jQuery._data(node,"globalEval")&&jQuery.contains(doc,node)){if(node.src){if(jQuery._evalUrl){jQuery._evalUrl(node.src)}}else{jQuery.globalEval((node.text||node.textContent||node.innerHTML||"").replace(rcleanScript,""))}}}}fragment=first=null}}return this}});jQuery.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(name,original){jQuery.fn[name]=function(selector){var elems,i=0,ret=[],insert=jQuery(selector),last=insert.length-1;for(;i<=last;i++){elems=i===last?this:this.clone(true);jQuery(insert[i])[original](elems);push.apply(ret,elems.get())}return this.pushStack(ret)}});var iframe,elemdisplay={};function actualDisplay(name,doc){var style,elem=jQuery(doc.createElement(name)).appendTo(doc.body),display=window.getDefaultComputedStyle&&(style=window.getDefaultComputedStyle(elem[0]))?style.display:jQuery.css(elem[0],"display");elem.detach();return display}function defaultDisplay(nodeName){var doc=document,display=elemdisplay[nodeName];if(!display){display=actualDisplay(nodeName,doc);if(display==="none"||!display){iframe=(iframe||jQuery("<iframe frameborder='0' width='0' height='0'/>")).appendTo(doc.documentElement);doc=(iframe[0].contentWindow||iframe[0].contentDocument).document;doc.write();doc.close();display=actualDisplay(nodeName,doc);iframe.detach()}elemdisplay[nodeName]=display}return display}(function(){var shrinkWrapBlocksVal;support.shrinkWrapBlocks=function(){if(shrinkWrapBlocksVal!=null){return shrinkWrapBlocksVal}shrinkWrapBlocksVal=false;var div,body,container;body=document.getElementsByTagName("body")[0];if(!body||!body.style){return}div=document.createElement("div");container=document.createElement("div");container.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px";body.appendChild(container).appendChild(div);if(typeof div.style.zoom!==strundefined){div.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;"+"box-sizing:content-box;display:block;margin:0;border:0;"+"padding:1px;width:1px;zoom:1";div.appendChild(document.createElement("div")).style.width="5px";shrinkWrapBlocksVal=div.offsetWidth!==3}body.removeChild(container);return shrinkWrapBlocksVal}})();var rmargin=/^margin/;var rnumnonpx=new RegExp("^("+pnum+")(?!px)[a-z%]+$","i");var getStyles,curCSS,rposition=/^(top|right|bottom|left)$/;if(window.getComputedStyle){getStyles=function(elem){if(elem.ownerDocument.defaultView.opener){return elem.ownerDocument.defaultView.getComputedStyle(elem,null)}return window.getComputedStyle(elem,null)};curCSS=function(elem,name,computed){var width,minWidth,maxWidth,ret,style=elem.style;computed=computed||getStyles(elem);ret=computed?computed.getPropertyValue(name)||computed[name]:undefined;if(computed){if(ret===""&&!jQuery.contains(elem.ownerDocument,elem)){ret=jQuery.style(elem,name)}if(rnumnonpx.test(ret)&&rmargin.test(name)){width=style.width;minWidth=style.minWidth;maxWidth=style.maxWidth;style.minWidth=style.maxWidth=style.width=ret;ret=computed.width;style.width=width;style.minWidth=minWidth;style.maxWidth=maxWidth}}return ret===undefined?ret:ret+""}}else if(document.documentElement.currentStyle){getStyles=function(elem){return elem.currentStyle};curCSS=function(elem,name,computed){var left,rs,rsLeft,ret,style=elem.style;computed=computed||getStyles(elem);ret=computed?computed[name]:undefined;if(ret==null&&style&&style[name]){ret=style[name]}if(rnumnonpx.test(ret)&&!rposition.test(name)){left=style.left;rs=elem.runtimeStyle;rsLeft=rs&&rs.left;if(rsLeft){rs.left=elem.currentStyle.left}style.left=name==="fontSize"?"1em":ret;ret=style.pixelLeft+"px";style.left=left;if(rsLeft){rs.left=rsLeft}}return ret===undefined?ret:ret+""||"auto"}}function addGetHookIf(conditionFn,hookFn){return{get:function(){var condition=conditionFn();if(condition==null){return}if(condition){delete this.get;return}return(this.get=hookFn).apply(this,arguments)}}}(function(){var div,style,a,pixelPositionVal,boxSizingReliableVal,reliableHiddenOffsetsVal,reliableMarginRightVal;div=document.createElement("div");div.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>";a=div.getElementsByTagName("a")[0];style=a&&a.style;if(!style){return}style.cssText="float:left;opacity:.5";support.opacity=style.opacity==="0.5";support.cssFloat=!!style.cssFloat;div.style.backgroundClip="content-box";div.cloneNode(true).style.backgroundClip="";support.clearCloneStyle=div.style.backgroundClip==="content-box";support.boxSizing=style.boxSizing===""||style.MozBoxSizing===""||style.WebkitBoxSizing==="";jQuery.extend(support,{reliableHiddenOffsets:function(){if(reliableHiddenOffsetsVal==null){computeStyleTests()}return reliableHiddenOffsetsVal},boxSizingReliable:function(){if(boxSizingReliableVal==null){computeStyleTests()}return boxSizingReliableVal},pixelPosition:function(){if(pixelPositionVal==null){computeStyleTests()}return pixelPositionVal},reliableMarginRight:function(){if(reliableMarginRightVal==null){computeStyleTests()}return reliableMarginRightVal}});function computeStyleTests(){var div,body,container,contents;body=document.getElementsByTagName("body")[0];if(!body||!body.style){return}div=document.createElement("div");container=document.createElement("div");container.style.cssText="position:absolute;border:0;width:0;height:0;top:0;left:-9999px";body.appendChild(container).appendChild(div);div.style.cssText="-webkit-box-sizing:border-box;-moz-box-sizing:border-box;"+"box-sizing:border-box;display:block;margin-top:1%;top:1%;"+"border:1px;padding:1px;width:4px;position:absolute";pixelPositionVal=boxSizingReliableVal=false;reliableMarginRightVal=true;if(window.getComputedStyle){pixelPositionVal=(window.getComputedStyle(div,null)||{}).top!=="1%";boxSizingReliableVal=(window.getComputedStyle(div,null)||{width:"4px"}).width==="4px";contents=div.appendChild(document.createElement("div"));contents.style.cssText=div.style.cssText="-webkit-box-sizing:content-box;-moz-box-sizing:content-box;"+"box-sizing:content-box;display:block;margin:0;border:0;padding:0";contents.style.marginRight=contents.style.width="0";div.style.width="1px";reliableMarginRightVal=!parseFloat((window.getComputedStyle(contents,null)||{}).marginRight);div.removeChild(contents)}div.innerHTML="<table><tr><td></td><td>t</td></tr></table>";contents=div.getElementsByTagName("td");contents[0].style.cssText="margin:0;border:0;padding:0;display:none";reliableHiddenOffsetsVal=contents[0].offsetHeight===0;if(reliableHiddenOffsetsVal){contents[0].style.display="";contents[1].style.display="none";reliableHiddenOffsetsVal=contents[0].offsetHeight===0}body.removeChild(container)}})();jQuery.swap=function(elem,options,callback,args){var ret,name,old={};for(name in options){old[name]=elem.style[name];elem.style[name]=options[name]}ret=callback.apply(elem,args||[]);for(name in options){elem.style[name]=old[name]}return ret};var ralpha=/alpha\([^)]*\)/i,ropacity=/opacity\s*=\s*([^)]*)/,rdisplayswap=/^(none|table(?!-c[ea]).+)/,rnumsplit=new RegExp("^("+pnum+")(.*)$","i"),rrelNum=new RegExp("^([+-])=("+pnum+")","i"),cssShow={position:"absolute",visibility:"hidden",display:"block"},cssNormalTransform={letterSpacing:"0",fontWeight:"400"},cssPrefixes=["Webkit","O","Moz","ms"];function vendorPropName(style,name){if(name in style){return name}var capName=name.charAt(0).toUpperCase()+name.slice(1),origName=name,i=cssPrefixes.length;while(i--){name=cssPrefixes[i]+capName;if(name in style){return name}}return origName}function showHide(elements,show){var display,elem,hidden,values=[],index=0,length=elements.length;for(;index<length;index++){elem=elements[index];if(!elem.style){continue}values[index]=jQuery._data(elem,"olddisplay");display=elem.style.display;if(show){if(!values[index]&&display==="none"){elem.style.display=""}if(elem.style.display===""&&isHidden(elem)){values[index]=jQuery._data(elem,"olddisplay",defaultDisplay(elem.nodeName))}}else{hidden=isHidden(elem);if(display&&display!=="none"||!hidden){jQuery._data(elem,"olddisplay",hidden?display:jQuery.css(elem,"display"))}}}for(index=0;index<length;index++){elem=elements[index];if(!elem.style){continue}if(!show||elem.style.display==="none"||elem.style.display===""){elem.style.display=show?values[index]||"":"none"}}return elements}function setPositiveNumber(elem,value,subtract){var matches=rnumsplit.exec(value);return matches?Math.max(0,matches[1]-(subtract||0))+(matches[2]||"px"):value}function augmentWidthOrHeight(elem,name,extra,isBorderBox,styles){var i=extra===(isBorderBox?"border":"content")?4:name==="width"?1:0,val=0;for(;i<4;i+=2){if(extra==="margin"){val+=jQuery.css(elem,extra+cssExpand[i],true,styles)}if(isBorderBox){if(extra==="content"){val-=jQuery.css(elem,"padding"+cssExpand[i],true,styles)}if(extra!=="margin"){val-=jQuery.css(elem,"border"+cssExpand[i]+"Width",true,styles)}}else{val+=jQuery.css(elem,"padding"+cssExpand[i],true,styles);if(extra!=="padding"){val+=jQuery.css(elem,"border"+cssExpand[i]+"Width",true,styles)}}}return val}function getWidthOrHeight(elem,name,extra){var valueIsBorderBox=true,val=name==="width"?elem.offsetWidth:elem.offsetHeight,styles=getStyles(elem),isBorderBox=support.boxSizing&&jQuery.css(elem,"boxSizing",false,styles)==="border-box";if(val<=0||val==null){val=curCSS(elem,name,styles);if(val<0||val==null){val=elem.style[name]}if(rnumnonpx.test(val)){return val}valueIsBorderBox=isBorderBox&&(support.boxSizingReliable()||val===elem.style[name]);val=parseFloat(val)||0}return val+augmentWidthOrHeight(elem,name,extra||(isBorderBox?"border":"content"),valueIsBorderBox,styles)+"px"}jQuery.extend({cssHooks:{opacity:{get:function(elem,computed){if(computed){var ret=curCSS(elem,"opacity");return ret===""?"1":ret}}}},cssNumber:{columnCount:true,fillOpacity:true,flexGrow:true,flexShrink:true,fontWeight:true,lineHeight:true,opacity:true,order:true,orphans:true,widows:true,zIndex:true,zoom:true},cssProps:{"float":support.cssFloat?"cssFloat":"styleFloat"},style:function(elem,name,value,extra){if(!elem||elem.nodeType===3||elem.nodeType===8||!elem.style){return}var ret,type,hooks,origName=jQuery.camelCase(name),style=elem.style;name=jQuery.cssProps[origName]||(jQuery.cssProps[origName]=vendorPropName(style,origName));hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName];if(value!==undefined){type=typeof value;if(type==="string"&&(ret=rrelNum.exec(value))){value=(ret[1]+1)*ret[2]+parseFloat(jQuery.css(elem,name));type="number"}if(value==null||value!==value){return}if(type==="number"&&!jQuery.cssNumber[origName]){value+="px"}if(!support.clearCloneStyle&&value===""&&name.indexOf("background")===0){style[name]="inherit"}if(!hooks||!("set"in hooks)||(value=hooks.set(elem,value,extra))!==undefined){try{style[name]=value}catch(e){}}}else{if(hooks&&"get"in hooks&&(ret=hooks.get(elem,false,extra))!==undefined){return ret}return style[name]}},css:function(elem,name,extra,styles){var num,val,hooks,origName=jQuery.camelCase(name);name=jQuery.cssProps[origName]||(jQuery.cssProps[origName]=vendorPropName(elem.style,origName));hooks=jQuery.cssHooks[name]||jQuery.cssHooks[origName];if(hooks&&"get"in hooks){val=hooks.get(elem,true,extra)}if(val===undefined){val=curCSS(elem,name,styles)}if(val==="normal"&&name in cssNormalTransform){val=cssNormalTransform[name]}if(extra===""||extra){num=parseFloat(val);
+return extra===true||jQuery.isNumeric(num)?num||0:val}return val}});jQuery.each(["height","width"],function(i,name){jQuery.cssHooks[name]={get:function(elem,computed,extra){if(computed){return rdisplayswap.test(jQuery.css(elem,"display"))&&elem.offsetWidth===0?jQuery.swap(elem,cssShow,function(){return getWidthOrHeight(elem,name,extra)}):getWidthOrHeight(elem,name,extra)}},set:function(elem,value,extra){var styles=extra&&getStyles(elem);return setPositiveNumber(elem,value,extra?augmentWidthOrHeight(elem,name,extra,support.boxSizing&&jQuery.css(elem,"boxSizing",false,styles)==="border-box",styles):0)}}});if(!support.opacity){jQuery.cssHooks.opacity={get:function(elem,computed){return ropacity.test((computed&&elem.currentStyle?elem.currentStyle.filter:elem.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":computed?"1":""},set:function(elem,value){var style=elem.style,currentStyle=elem.currentStyle,opacity=jQuery.isNumeric(value)?"alpha(opacity="+value*100+")":"",filter=currentStyle&&currentStyle.filter||style.filter||"";style.zoom=1;if((value>=1||value==="")&&jQuery.trim(filter.replace(ralpha,""))===""&&style.removeAttribute){style.removeAttribute("filter");if(value===""||currentStyle&&!currentStyle.filter){return}}style.filter=ralpha.test(filter)?filter.replace(ralpha,opacity):filter+" "+opacity}}}jQuery.cssHooks.marginRight=addGetHookIf(support.reliableMarginRight,function(elem,computed){if(computed){return jQuery.swap(elem,{display:"inline-block"},curCSS,[elem,"marginRight"])}});jQuery.each({margin:"",padding:"",border:"Width"},function(prefix,suffix){jQuery.cssHooks[prefix+suffix]={expand:function(value){var i=0,expanded={},parts=typeof value==="string"?value.split(" "):[value];for(;i<4;i++){expanded[prefix+cssExpand[i]+suffix]=parts[i]||parts[i-2]||parts[0]}return expanded}};if(!rmargin.test(prefix)){jQuery.cssHooks[prefix+suffix].set=setPositiveNumber}});jQuery.fn.extend({css:function(name,value){return access(this,function(elem,name,value){var styles,len,map={},i=0;if(jQuery.isArray(name)){styles=getStyles(elem);len=name.length;for(;i<len;i++){map[name[i]]=jQuery.css(elem,name[i],false,styles)}return map}return value!==undefined?jQuery.style(elem,name,value):jQuery.css(elem,name)},name,value,arguments.length>1)},show:function(){return showHide(this,true)},hide:function(){return showHide(this)},toggle:function(state){if(typeof state==="boolean"){return state?this.show():this.hide()}return this.each(function(){if(isHidden(this)){jQuery(this).show()}else{jQuery(this).hide()}})}});function Tween(elem,options,prop,end,easing){return new Tween.prototype.init(elem,options,prop,end,easing)}jQuery.Tween=Tween;Tween.prototype={constructor:Tween,init:function(elem,options,prop,end,easing,unit){this.elem=elem;this.prop=prop;this.easing=easing||"swing";this.options=options;this.start=this.now=this.cur();this.end=end;this.unit=unit||(jQuery.cssNumber[prop]?"":"px")},cur:function(){var hooks=Tween.propHooks[this.prop];return hooks&&hooks.get?hooks.get(this):Tween.propHooks._default.get(this)},run:function(percent){var eased,hooks=Tween.propHooks[this.prop];if(this.options.duration){this.pos=eased=jQuery.easing[this.easing](percent,this.options.duration*percent,0,1,this.options.duration)}else{this.pos=eased=percent}this.now=(this.end-this.start)*eased+this.start;if(this.options.step){this.options.step.call(this.elem,this.now,this)}if(hooks&&hooks.set){hooks.set(this)}else{Tween.propHooks._default.set(this)}return this}};Tween.prototype.init.prototype=Tween.prototype;Tween.propHooks={_default:{get:function(tween){var result;if(tween.elem[tween.prop]!=null&&(!tween.elem.style||tween.elem.style[tween.prop]==null)){return tween.elem[tween.prop]}result=jQuery.css(tween.elem,tween.prop,"");return!result||result==="auto"?0:result},set:function(tween){if(jQuery.fx.step[tween.prop]){jQuery.fx.step[tween.prop](tween)}else if(tween.elem.style&&(tween.elem.style[jQuery.cssProps[tween.prop]]!=null||jQuery.cssHooks[tween.prop])){jQuery.style(tween.elem,tween.prop,tween.now+tween.unit)}else{tween.elem[tween.prop]=tween.now}}}};Tween.propHooks.scrollTop=Tween.propHooks.scrollLeft={set:function(tween){if(tween.elem.nodeType&&tween.elem.parentNode){tween.elem[tween.prop]=tween.now}}};jQuery.easing={linear:function(p){return p},swing:function(p){return.5-Math.cos(p*Math.PI)/2}};jQuery.fx=Tween.prototype.init;jQuery.fx.step={};var fxNow,timerId,rfxtypes=/^(?:toggle|show|hide)$/,rfxnum=new RegExp("^(?:([+-])=|)("+pnum+")([a-z%]*)$","i"),rrun=/queueHooks$/,animationPrefilters=[defaultPrefilter],tweeners={"*":[function(prop,value){var tween=this.createTween(prop,value),target=tween.cur(),parts=rfxnum.exec(value),unit=parts&&parts[3]||(jQuery.cssNumber[prop]?"":"px"),start=(jQuery.cssNumber[prop]||unit!=="px"&&+target)&&rfxnum.exec(jQuery.css(tween.elem,prop)),scale=1,maxIterations=20;if(start&&start[3]!==unit){unit=unit||start[3];parts=parts||[];start=+target||1;do{scale=scale||".5";start=start/scale;jQuery.style(tween.elem,prop,start+unit)}while(scale!==(scale=tween.cur()/target)&&scale!==1&&--maxIterations)}if(parts){start=tween.start=+start||+target||0;tween.unit=unit;tween.end=parts[1]?start+(parts[1]+1)*parts[2]:+parts[2]}return tween}]};function createFxNow(){setTimeout(function(){fxNow=undefined});return fxNow=jQuery.now()}function genFx(type,includeWidth){var which,attrs={height:type},i=0;includeWidth=includeWidth?1:0;for(;i<4;i+=2-includeWidth){which=cssExpand[i];attrs["margin"+which]=attrs["padding"+which]=type}if(includeWidth){attrs.opacity=attrs.width=type}return attrs}function createTween(value,prop,animation){var tween,collection=(tweeners[prop]||[]).concat(tweeners["*"]),index=0,length=collection.length;for(;index<length;index++){if(tween=collection[index].call(animation,prop,value)){return tween}}}function defaultPrefilter(elem,props,opts){var prop,value,toggle,tween,hooks,oldfire,display,checkDisplay,anim=this,orig={},style=elem.style,hidden=elem.nodeType&&isHidden(elem),dataShow=jQuery._data(elem,"fxshow");if(!opts.queue){hooks=jQuery._queueHooks(elem,"fx");if(hooks.unqueued==null){hooks.unqueued=0;oldfire=hooks.empty.fire;hooks.empty.fire=function(){if(!hooks.unqueued){oldfire()}}}hooks.unqueued++;anim.always(function(){anim.always(function(){hooks.unqueued--;if(!jQuery.queue(elem,"fx").length){hooks.empty.fire()}})})}if(elem.nodeType===1&&("height"in props||"width"in props)){opts.overflow=[style.overflow,style.overflowX,style.overflowY];display=jQuery.css(elem,"display");checkDisplay=display==="none"?jQuery._data(elem,"olddisplay")||defaultDisplay(elem.nodeName):display;if(checkDisplay==="inline"&&jQuery.css(elem,"float")==="none"){if(!support.inlineBlockNeedsLayout||defaultDisplay(elem.nodeName)==="inline"){style.display="inline-block"}else{style.zoom=1}}}if(opts.overflow){style.overflow="hidden";if(!support.shrinkWrapBlocks()){anim.always(function(){style.overflow=opts.overflow[0];style.overflowX=opts.overflow[1];style.overflowY=opts.overflow[2]})}}for(prop in props){value=props[prop];if(rfxtypes.exec(value)){delete props[prop];toggle=toggle||value==="toggle";if(value===(hidden?"hide":"show")){if(value==="show"&&dataShow&&dataShow[prop]!==undefined){hidden=true}else{continue}}orig[prop]=dataShow&&dataShow[prop]||jQuery.style(elem,prop)}else{display=undefined}}if(!jQuery.isEmptyObject(orig)){if(dataShow){if("hidden"in dataShow){hidden=dataShow.hidden}}else{dataShow=jQuery._data(elem,"fxshow",{})}if(toggle){dataShow.hidden=!hidden}if(hidden){jQuery(elem).show()}else{anim.done(function(){jQuery(elem).hide()})}anim.done(function(){var prop;jQuery._removeData(elem,"fxshow");for(prop in orig){jQuery.style(elem,prop,orig[prop])}});for(prop in orig){tween=createTween(hidden?dataShow[prop]:0,prop,anim);if(!(prop in dataShow)){dataShow[prop]=tween.start;if(hidden){tween.end=tween.start;tween.start=prop==="width"||prop==="height"?1:0}}}}else if((display==="none"?defaultDisplay(elem.nodeName):display)==="inline"){style.display=display}}function propFilter(props,specialEasing){var index,name,easing,value,hooks;for(index in props){name=jQuery.camelCase(index);easing=specialEasing[name];value=props[index];if(jQuery.isArray(value)){easing=value[1];value=props[index]=value[0]}if(index!==name){props[name]=value;delete props[index]}hooks=jQuery.cssHooks[name];if(hooks&&"expand"in hooks){value=hooks.expand(value);delete props[name];for(index in value){if(!(index in props)){props[index]=value[index];specialEasing[index]=easing}}}else{specialEasing[name]=easing}}}function Animation(elem,properties,options){var result,stopped,index=0,length=animationPrefilters.length,deferred=jQuery.Deferred().always(function(){delete tick.elem}),tick=function(){if(stopped){return false}var currentTime=fxNow||createFxNow(),remaining=Math.max(0,animation.startTime+animation.duration-currentTime),temp=remaining/animation.duration||0,percent=1-temp,index=0,length=animation.tweens.length;for(;index<length;index++){animation.tweens[index].run(percent)}deferred.notifyWith(elem,[animation,percent,remaining]);if(percent<1&&length){return remaining}else{deferred.resolveWith(elem,[animation]);return false}},animation=deferred.promise({elem:elem,props:jQuery.extend({},properties),opts:jQuery.extend(true,{specialEasing:{}},options),originalProperties:properties,originalOptions:options,startTime:fxNow||createFxNow(),duration:options.duration,tweens:[],createTween:function(prop,end){var tween=jQuery.Tween(elem,animation.opts,prop,end,animation.opts.specialEasing[prop]||animation.opts.easing);animation.tweens.push(tween);return tween},stop:function(gotoEnd){var index=0,length=gotoEnd?animation.tweens.length:0;if(stopped){return this}stopped=true;for(;index<length;index++){animation.tweens[index].run(1)}if(gotoEnd){deferred.resolveWith(elem,[animation,gotoEnd])}else{deferred.rejectWith(elem,[animation,gotoEnd])}return this}}),props=animation.props;propFilter(props,animation.opts.specialEasing);for(;index<length;index++){result=animationPrefilters[index].call(animation,elem,props,animation.opts);if(result){return result}}jQuery.map(props,createTween,animation);if(jQuery.isFunction(animation.opts.start)){animation.opts.start.call(elem,animation)}jQuery.fx.timer(jQuery.extend(tick,{elem:elem,anim:animation,queue:animation.opts.queue}));return animation.progress(animation.opts.progress).done(animation.opts.done,animation.opts.complete).fail(animation.opts.fail).always(animation.opts.always)}jQuery.Animation=jQuery.extend(Animation,{tweener:function(props,callback){if(jQuery.isFunction(props)){callback=props;props=["*"]}else{props=props.split(" ")}var prop,index=0,length=props.length;for(;index<length;index++){prop=props[index];tweeners[prop]=tweeners[prop]||[];tweeners[prop].unshift(callback)}},prefilter:function(callback,prepend){if(prepend){animationPrefilters.unshift(callback)}else{animationPrefilters.push(callback)}}});jQuery.speed=function(speed,easing,fn){var opt=speed&&typeof speed==="object"?jQuery.extend({},speed):{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&!jQuery.isFunction(easing)&&easing};opt.duration=jQuery.fx.off?0:typeof opt.duration==="number"?opt.duration:opt.duration in jQuery.fx.speeds?jQuery.fx.speeds[opt.duration]:jQuery.fx.speeds._default;if(opt.queue==null||opt.queue===true){opt.queue="fx"}opt.old=opt.complete;opt.complete=function(){if(jQuery.isFunction(opt.old)){opt.old.call(this)}if(opt.queue){jQuery.dequeue(this,opt.queue)}};return opt};jQuery.fn.extend({fadeTo:function(speed,to,easing,callback){return this.filter(isHidden).css("opacity",0).show().end().animate({opacity:to},speed,easing,callback)},animate:function(prop,speed,easing,callback){var empty=jQuery.isEmptyObject(prop),optall=jQuery.speed(speed,easing,callback),doAnimation=function(){var anim=Animation(this,jQuery.extend({},prop),optall);if(empty||jQuery._data(this,"finish")){anim.stop(true)}};doAnimation.finish=doAnimation;return empty||optall.queue===false?this.each(doAnimation):this.queue(optall.queue,doAnimation)},stop:function(type,clearQueue,gotoEnd){var stopQueue=function(hooks){var stop=hooks.stop;delete hooks.stop;stop(gotoEnd)};if(typeof type!=="string"){gotoEnd=clearQueue;clearQueue=type;type=undefined}if(clearQueue&&type!==false){this.queue(type||"fx",[])}return this.each(function(){var dequeue=true,index=type!=null&&type+"queueHooks",timers=jQuery.timers,data=jQuery._data(this);if(index){if(data[index]&&data[index].stop){stopQueue(data[index])}}else{for(index in data){if(data[index]&&data[index].stop&&rrun.test(index)){stopQueue(data[index])}}}for(index=timers.length;index--;){if(timers[index].elem===this&&(type==null||timers[index].queue===type)){timers[index].anim.stop(gotoEnd);dequeue=false;timers.splice(index,1)}}if(dequeue||!gotoEnd){jQuery.dequeue(this,type)}})},finish:function(type){if(type!==false){type=type||"fx"}return this.each(function(){var index,data=jQuery._data(this),queue=data[type+"queue"],hooks=data[type+"queueHooks"],timers=jQuery.timers,length=queue?queue.length:0;data.finish=true;jQuery.queue(this,type,[]);if(hooks&&hooks.stop){hooks.stop.call(this,true)}for(index=timers.length;index--;){if(timers[index].elem===this&&timers[index].queue===type){timers[index].anim.stop(true);timers.splice(index,1)}}for(index=0;index<length;index++){if(queue[index]&&queue[index].finish){queue[index].finish.call(this)}}delete data.finish})}});jQuery.each(["toggle","show","hide"],function(i,name){var cssFn=jQuery.fn[name];jQuery.fn[name]=function(speed,easing,callback){return speed==null||typeof speed==="boolean"?cssFn.apply(this,arguments):this.animate(genFx(name,true),speed,easing,callback)}});jQuery.each({slideDown:genFx("show"),slideUp:genFx("hide"),slideToggle:genFx("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(name,props){jQuery.fn[name]=function(speed,easing,callback){return this.animate(props,speed,easing,callback)}});jQuery.timers=[];jQuery.fx.tick=function(){var timer,timers=jQuery.timers,i=0;fxNow=jQuery.now();for(;i<timers.length;i++){timer=timers[i];if(!timer()&&timers[i]===timer){timers.splice(i--,1)}}if(!timers.length){jQuery.fx.stop()}fxNow=undefined};jQuery.fx.timer=function(timer){jQuery.timers.push(timer);if(timer()){jQuery.fx.start()}else{jQuery.timers.pop()}};jQuery.fx.interval=13;jQuery.fx.start=function(){if(!timerId){timerId=setInterval(jQuery.fx.tick,jQuery.fx.interval)}};jQuery.fx.stop=function(){clearInterval(timerId);timerId=null};jQuery.fx.speeds={slow:600,fast:200,_default:400};jQuery.fn.delay=function(time,type){time=jQuery.fx?jQuery.fx.speeds[time]||time:time;type=type||"fx";return this.queue(type,function(next,hooks){var timeout=setTimeout(next,time);hooks.stop=function(){clearTimeout(timeout)}})};(function(){var input,div,select,a,opt;div=document.createElement("div");div.setAttribute("className","t");div.innerHTML="  <link/><table></table><a href='/a'>a</a><input type='checkbox'/>";a=div.getElementsByTagName("a")[0];select=document.createElement("select");opt=select.appendChild(document.createElement("option"));input=div.getElementsByTagName("input")[0];a.style.cssText="top:1px";support.getSetAttribute=div.className!=="t";support.style=/top/.test(a.getAttribute("style"));support.hrefNormalized=a.getAttribute("href")==="/a";support.checkOn=!!input.value;support.optSelected=opt.selected;support.enctype=!!document.createElement("form").enctype;select.disabled=true;support.optDisabled=!opt.disabled;input=document.createElement("input");input.setAttribute("value","");support.input=input.getAttribute("value")==="";input.value="t";input.setAttribute("type","radio");support.radioValue=input.value==="t"})();var rreturn=/\r/g;jQuery.fn.extend({val:function(value){var hooks,ret,isFunction,elem=this[0];if(!arguments.length){if(elem){hooks=jQuery.valHooks[elem.type]||jQuery.valHooks[elem.nodeName.toLowerCase()];if(hooks&&"get"in hooks&&(ret=hooks.get(elem,"value"))!==undefined){return ret}ret=elem.value;return typeof ret==="string"?ret.replace(rreturn,""):ret==null?"":ret}return}isFunction=jQuery.isFunction(value);return this.each(function(i){var val;if(this.nodeType!==1){return}if(isFunction){val=value.call(this,i,jQuery(this).val())}else{val=value}if(val==null){val=""}else if(typeof val==="number"){val+=""}else if(jQuery.isArray(val)){val=jQuery.map(val,function(value){return value==null?"":value+""})}hooks=jQuery.valHooks[this.type]||jQuery.valHooks[this.nodeName.toLowerCase()];if(!hooks||!("set"in hooks)||hooks.set(this,val,"value")===undefined){this.value=val}})}});jQuery.extend({valHooks:{option:{get:function(elem){var val=jQuery.find.attr(elem,"value");return val!=null?val:jQuery.trim(jQuery.text(elem))}},select:{get:function(elem){var value,option,options=elem.options,index=elem.selectedIndex,one=elem.type==="select-one"||index<0,values=one?null:[],max=one?index+1:options.length,i=index<0?max:one?index:0;for(;i<max;i++){option=options[i];if((option.selected||i===index)&&(support.optDisabled?!option.disabled:option.getAttribute("disabled")===null)&&(!option.parentNode.disabled||!jQuery.nodeName(option.parentNode,"optgroup"))){value=jQuery(option).val();if(one){return value}values.push(value)}}return values},set:function(elem,value){var optionSet,option,options=elem.options,values=jQuery.makeArray(value),i=options.length;while(i--){option=options[i];if(jQuery.inArray(jQuery.valHooks.option.get(option),values)>=0){try{option.selected=optionSet=true}catch(_){option.scrollHeight}}else{option.selected=false}}if(!optionSet){elem.selectedIndex=-1}return options}}}});jQuery.each(["radio","checkbox"],function(){jQuery.valHooks[this]={set:function(elem,value){if(jQuery.isArray(value)){return elem.checked=jQuery.inArray(jQuery(elem).val(),value)>=0}}};if(!support.checkOn){jQuery.valHooks[this].get=function(elem){return elem.getAttribute("value")===null?"on":elem.value}}});var nodeHook,boolHook,attrHandle=jQuery.expr.attrHandle,ruseDefault=/^(?:checked|selected)$/i,getSetAttribute=support.getSetAttribute,getSetInput=support.input;jQuery.fn.extend({attr:function(name,value){return access(this,jQuery.attr,name,value,arguments.length>1)},removeAttr:function(name){return this.each(function(){jQuery.removeAttr(this,name)})}});jQuery.extend({attr:function(elem,name,value){var hooks,ret,nType=elem.nodeType;if(!elem||nType===3||nType===8||nType===2){return}if(typeof elem.getAttribute===strundefined){return jQuery.prop(elem,name,value)}if(nType!==1||!jQuery.isXMLDoc(elem)){name=name.toLowerCase();hooks=jQuery.attrHooks[name]||(jQuery.expr.match.bool.test(name)?boolHook:nodeHook)}if(value!==undefined){if(value===null){jQuery.removeAttr(elem,name)}else if(hooks&&"set"in hooks&&(ret=hooks.set(elem,value,name))!==undefined){return ret}else{elem.setAttribute(name,value+"");return value}}else if(hooks&&"get"in hooks&&(ret=hooks.get(elem,name))!==null){return ret}else{ret=jQuery.find.attr(elem,name);return ret==null?undefined:ret}},removeAttr:function(elem,value){var name,propName,i=0,attrNames=value&&value.match(rnotwhite);if(attrNames&&elem.nodeType===1){while(name=attrNames[i++]){propName=jQuery.propFix[name]||name;if(jQuery.expr.match.bool.test(name)){if(getSetInput&&getSetAttribute||!ruseDefault.test(name)){elem[propName]=false}else{elem[jQuery.camelCase("default-"+name)]=elem[propName]=false}}else{jQuery.attr(elem,name,"")}elem.removeAttribute(getSetAttribute?name:propName)}}},attrHooks:{type:{set:function(elem,value){if(!support.radioValue&&value==="radio"&&jQuery.nodeName(elem,"input")){var val=elem.value;elem.setAttribute("type",value);if(val){elem.value=val}return value}}}}});boolHook={set:function(elem,value,name){if(value===false){jQuery.removeAttr(elem,name)}else if(getSetInput&&getSetAttribute||!ruseDefault.test(name)){elem.setAttribute(!getSetAttribute&&jQuery.propFix[name]||name,name)}else{elem[jQuery.camelCase("default-"+name)]=elem[name]=true}return name}};jQuery.each(jQuery.expr.match.bool.source.match(/\w+/g),function(i,name){var getter=attrHandle[name]||jQuery.find.attr;attrHandle[name]=getSetInput&&getSetAttribute||!ruseDefault.test(name)?function(elem,name,isXML){var ret,handle;if(!isXML){handle=attrHandle[name];attrHandle[name]=ret;ret=getter(elem,name,isXML)!=null?name.toLowerCase():null;attrHandle[name]=handle}return ret}:function(elem,name,isXML){if(!isXML){return elem[jQuery.camelCase("default-"+name)]?name.toLowerCase():null}}});if(!getSetInput||!getSetAttribute){jQuery.attrHooks.value={set:function(elem,value,name){if(jQuery.nodeName(elem,"input")){elem.defaultValue=value}else{return nodeHook&&nodeHook.set(elem,value,name)}}}}if(!getSetAttribute){nodeHook={set:function(elem,value,name){var ret=elem.getAttributeNode(name);if(!ret){elem.setAttributeNode(ret=elem.ownerDocument.createAttribute(name))}ret.value=value+="";if(name==="value"||value===elem.getAttribute(name)){return value}}};attrHandle.id=attrHandle.name=attrHandle.coords=function(elem,name,isXML){var ret;if(!isXML){return(ret=elem.getAttributeNode(name))&&ret.value!==""?ret.value:null}};jQuery.valHooks.button={get:function(elem,name){var ret=elem.getAttributeNode(name);if(ret&&ret.specified){return ret.value}},set:nodeHook.set};jQuery.attrHooks.contenteditable={set:function(elem,value,name){nodeHook.set(elem,value===""?false:value,name)}};jQuery.each(["width","height"],function(i,name){jQuery.attrHooks[name]={set:function(elem,value){if(value===""){elem.setAttribute(name,"auto");return value}}}})}if(!support.style){jQuery.attrHooks.style={get:function(elem){return elem.style.cssText||undefined},set:function(elem,value){return elem.style.cssText=value+""}}}var rfocusable=/^(?:input|select|textarea|button|object)$/i,rclickable=/^(?:a|area)$/i;jQuery.fn.extend({prop:function(name,value){return access(this,jQuery.prop,name,value,arguments.length>1)},removeProp:function(name){name=jQuery.propFix[name]||name;return this.each(function(){try{this[name]=undefined;delete this[name]}catch(e){}})}});jQuery.extend({propFix:{"for":"htmlFor","class":"className"},prop:function(elem,name,value){var ret,hooks,notxml,nType=elem.nodeType;if(!elem||nType===3||nType===8||nType===2){return}notxml=nType!==1||!jQuery.isXMLDoc(elem);if(notxml){name=jQuery.propFix[name]||name;hooks=jQuery.propHooks[name]}if(value!==undefined){return hooks&&"set"in hooks&&(ret=hooks.set(elem,value,name))!==undefined?ret:elem[name]=value}else{return hooks&&"get"in hooks&&(ret=hooks.get(elem,name))!==null?ret:elem[name]}},propHooks:{tabIndex:{get:function(elem){var tabindex=jQuery.find.attr(elem,"tabindex");return tabindex?parseInt(tabindex,10):rfocusable.test(elem.nodeName)||rclickable.test(elem.nodeName)&&elem.href?0:-1}}}});if(!support.hrefNormalized){jQuery.each(["href","src"],function(i,name){jQuery.propHooks[name]={get:function(elem){return elem.getAttribute(name,4)}}})}if(!support.optSelected){jQuery.propHooks.selected={get:function(elem){var parent=elem.parentNode;if(parent){parent.selectedIndex;if(parent.parentNode){parent.parentNode.selectedIndex}}return null}}}jQuery.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){jQuery.propFix[this.toLowerCase()]=this});if(!support.enctype){jQuery.propFix.enctype="encoding"}var rclass=/[\t\r\n\f]/g;jQuery.fn.extend({addClass:function(value){var classes,elem,cur,clazz,j,finalValue,i=0,len=this.length,proceed=typeof value==="string"&&value;if(jQuery.isFunction(value)){return this.each(function(j){jQuery(this).addClass(value.call(this,j,this.className))})}if(proceed){classes=(value||"").match(rnotwhite)||[];for(;i<len;i++){elem=this[i];cur=elem.nodeType===1&&(elem.className?(" "+elem.className+" ").replace(rclass," "):" ");if(cur){j=0;while(clazz=classes[j++]){if(cur.indexOf(" "+clazz+" ")<0){cur+=clazz+" "}}finalValue=jQuery.trim(cur);if(elem.className!==finalValue){elem.className=finalValue}}}}return this},removeClass:function(value){var classes,elem,cur,clazz,j,finalValue,i=0,len=this.length,proceed=arguments.length===0||typeof value==="string"&&value;if(jQuery.isFunction(value)){return this.each(function(j){jQuery(this).removeClass(value.call(this,j,this.className))})}if(proceed){classes=(value||"").match(rnotwhite)||[];for(;i<len;i++){elem=this[i];cur=elem.nodeType===1&&(elem.className?(" "+elem.className+" ").replace(rclass," "):"");if(cur){j=0;while(clazz=classes[j++]){while(cur.indexOf(" "+clazz+" ")>=0){cur=cur.replace(" "+clazz+" "," ")}}finalValue=value?jQuery.trim(cur):"";if(elem.className!==finalValue){elem.className=finalValue}}}}return this},toggleClass:function(value,stateVal){var type=typeof value;if(typeof stateVal==="boolean"&&type==="string"){return stateVal?this.addClass(value):this.removeClass(value)}if(jQuery.isFunction(value)){return this.each(function(i){jQuery(this).toggleClass(value.call(this,i,this.className,stateVal),stateVal)})}return this.each(function(){if(type==="string"){var className,i=0,self=jQuery(this),classNames=value.match(rnotwhite)||[];while(className=classNames[i++]){if(self.hasClass(className)){self.removeClass(className)}else{self.addClass(className)}}}else if(type===strundefined||type==="boolean"){if(this.className){jQuery._data(this,"__className__",this.className)}this.className=this.className||value===false?"":jQuery._data(this,"__className__")||""}})},hasClass:function(selector){var className=" "+selector+" ",i=0,l=this.length;for(;i<l;i++){if(this[i].nodeType===1&&(" "+this[i].className+" ").replace(rclass," ").indexOf(className)>=0){return true}}return false}});jQuery.each(("blur focus focusin focusout load resize scroll unload click dblclick "+"mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave "+"change select submit keydown keypress keyup error contextmenu").split(" "),function(i,name){jQuery.fn[name]=function(data,fn){return arguments.length>0?this.on(name,null,data,fn):this.trigger(name)}});jQuery.fn.extend({hover:function(fnOver,fnOut){return this.mouseenter(fnOver).mouseleave(fnOut||fnOver)},bind:function(types,data,fn){return this.on(types,null,data,fn)},unbind:function(types,fn){return this.off(types,null,fn)},delegate:function(selector,types,data,fn){return this.on(types,selector,data,fn)},undelegate:function(selector,types,fn){return arguments.length===1?this.off(selector,"**"):this.off(types,selector||"**",fn)}});var nonce=jQuery.now();var rquery=/\?/;var rvalidtokens=/(,)|(\[|{)|(}|])|"(?:[^"\\\r\n]|\\["\\\/bfnrt]|\\u[\da-fA-F]{4})*"\s*:?|true|false|null|-?(?!0\d)\d+(?:\.\d+|)(?:[eE][+-]?\d+|)/g;jQuery.parseJSON=function(data){if(window.JSON&&window.JSON.parse){return window.JSON.parse(data+"")}var requireNonComma,depth=null,str=jQuery.trim(data+"");return str&&!jQuery.trim(str.replace(rvalidtokens,function(token,comma,open,close){if(requireNonComma&&comma){depth=0}if(depth===0){return token}requireNonComma=open||comma;depth+=!close-!open;return""}))?Function("return "+str)():jQuery.error("Invalid JSON: "+data)};jQuery.parseXML=function(data){var xml,tmp;if(!data||typeof data!=="string"){return null}try{if(window.DOMParser){tmp=new DOMParser;xml=tmp.parseFromString(data,"text/xml")}else{xml=new ActiveXObject("Microsoft.XMLDOM");xml.async="false";xml.loadXML(data)}}catch(e){xml=undefined}if(!xml||!xml.documentElement||xml.getElementsByTagName("parsererror").length){jQuery.error("Invalid XML: "+data)}return xml};var ajaxLocParts,ajaxLocation,rhash=/#.*$/,rts=/([?&])_=[^&]*/,rheaders=/^(.*?):[ \t]*([^\r\n]*)\r?$/gm,rlocalProtocol=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,rnoContent=/^(?:GET|HEAD)$/,rprotocol=/^\/\//,rurl=/^([\w.+-]+:)(?:\/\/(?:[^\/?#]*@|)([^\/?#:]*)(?::(\d+)|)|)/,prefilters={},transports={},allTypes="*/".concat("*");try{ajaxLocation=location.href}catch(e){ajaxLocation=document.createElement("a");ajaxLocation.href="";ajaxLocation=ajaxLocation.href}ajaxLocParts=rurl.exec(ajaxLocation.toLowerCase())||[];function addToPrefiltersOrTransports(structure){return function(dataTypeExpression,func){if(typeof dataTypeExpression!=="string"){func=dataTypeExpression;dataTypeExpression="*"}var dataType,i=0,dataTypes=dataTypeExpression.toLowerCase().match(rnotwhite)||[];if(jQuery.isFunction(func)){while(dataType=dataTypes[i++]){if(dataType.charAt(0)==="+"){dataType=dataType.slice(1)||"*";(structure[dataType]=structure[dataType]||[]).unshift(func)}else{(structure[dataType]=structure[dataType]||[]).push(func)}}}}}function inspectPrefiltersOrTransports(structure,options,originalOptions,jqXHR){var inspected={},seekingTransport=structure===transports;function inspect(dataType){var selected;inspected[dataType]=true;jQuery.each(structure[dataType]||[],function(_,prefilterOrFactory){var dataTypeOrTransport=prefilterOrFactory(options,originalOptions,jqXHR);if(typeof dataTypeOrTransport==="string"&&!seekingTransport&&!inspected[dataTypeOrTransport]){options.dataTypes.unshift(dataTypeOrTransport);inspect(dataTypeOrTransport);return false}else if(seekingTransport){return!(selected=dataTypeOrTransport)}});return selected}return inspect(options.dataTypes[0])||!inspected["*"]&&inspect("*")}function ajaxExtend(target,src){var deep,key,flatOptions=jQuery.ajaxSettings.flatOptions||{};for(key in src){if(src[key]!==undefined){(flatOptions[key]?target:deep||(deep={}))[key]=src[key]}}if(deep){jQuery.extend(true,target,deep)}return target}function ajaxHandleResponses(s,jqXHR,responses){var firstDataType,ct,finalDataType,type,contents=s.contents,dataTypes=s.dataTypes;while(dataTypes[0]==="*"){dataTypes.shift();if(ct===undefined){ct=s.mimeType||jqXHR.getResponseHeader("Content-Type")}}if(ct){for(type in contents){if(contents[type]&&contents[type].test(ct)){dataTypes.unshift(type);break}}}if(dataTypes[0]in responses){finalDataType=dataTypes[0]}else{for(type in responses){if(!dataTypes[0]||s.converters[type+" "+dataTypes[0]]){finalDataType=type;break}if(!firstDataType){firstDataType=type}}finalDataType=finalDataType||firstDataType}if(finalDataType){if(finalDataType!==dataTypes[0]){dataTypes.unshift(finalDataType)}return responses[finalDataType]}}function ajaxConvert(s,response,jqXHR,isSuccess){var conv2,current,conv,tmp,prev,converters={},dataTypes=s.dataTypes.slice();if(dataTypes[1]){for(conv in s.converters){converters[conv.toLowerCase()]=s.converters[conv]}}current=dataTypes.shift();while(current){if(s.responseFields[current]){jqXHR[s.responseFields[current]]=response}if(!prev&&isSuccess&&s.dataFilter){response=s.dataFilter(response,s.dataType)}prev=current;current=dataTypes.shift();if(current){if(current==="*"){current=prev}else if(prev!=="*"&&prev!==current){conv=converters[prev+" "+current]||converters["* "+current];if(!conv){for(conv2 in converters){tmp=conv2.split(" ");if(tmp[1]===current){conv=converters[prev+" "+tmp[0]]||converters["* "+tmp[0]];if(conv){if(conv===true){conv=converters[conv2]}else if(converters[conv2]!==true){current=tmp[0];dataTypes.unshift(tmp[1])}break}}}}if(conv!==true){if(conv&&s["throws"]){response=conv(response)}else{try{response=conv(response)}catch(e){return{state:"parsererror",error:conv?e:"No conversion from "+prev+" to "+current}}}}}}}return{state:"success",data:response}}jQuery.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:ajaxLocation,type:"GET",isLocal:rlocalProtocol.test(ajaxLocParts[1]),global:true,processData:true,async:true,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":allTypes,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":true,"text json":jQuery.parseJSON,"text xml":jQuery.parseXML},flatOptions:{url:true,context:true}},ajaxSetup:function(target,settings){return settings?ajaxExtend(ajaxExtend(target,jQuery.ajaxSettings),settings):ajaxExtend(jQuery.ajaxSettings,target)},ajaxPrefilter:addToPrefiltersOrTransports(prefilters),ajaxTransport:addToPrefiltersOrTransports(transports),ajax:function(url,options){if(typeof url==="object"){options=url;
+url=undefined}options=options||{};var parts,i,cacheURL,responseHeadersString,timeoutTimer,fireGlobals,transport,responseHeaders,s=jQuery.ajaxSetup({},options),callbackContext=s.context||s,globalEventContext=s.context&&(callbackContext.nodeType||callbackContext.jquery)?jQuery(callbackContext):jQuery.event,deferred=jQuery.Deferred(),completeDeferred=jQuery.Callbacks("once memory"),statusCode=s.statusCode||{},requestHeaders={},requestHeadersNames={},state=0,strAbort="canceled",jqXHR={readyState:0,getResponseHeader:function(key){var match;if(state===2){if(!responseHeaders){responseHeaders={};while(match=rheaders.exec(responseHeadersString)){responseHeaders[match[1].toLowerCase()]=match[2]}}match=responseHeaders[key.toLowerCase()]}return match==null?null:match},getAllResponseHeaders:function(){return state===2?responseHeadersString:null},setRequestHeader:function(name,value){var lname=name.toLowerCase();if(!state){name=requestHeadersNames[lname]=requestHeadersNames[lname]||name;requestHeaders[name]=value}return this},overrideMimeType:function(type){if(!state){s.mimeType=type}return this},statusCode:function(map){var code;if(map){if(state<2){for(code in map){statusCode[code]=[statusCode[code],map[code]]}}else{jqXHR.always(map[jqXHR.status])}}return this},abort:function(statusText){var finalText=statusText||strAbort;if(transport){transport.abort(finalText)}done(0,finalText);return this}};deferred.promise(jqXHR).complete=completeDeferred.add;jqXHR.success=jqXHR.done;jqXHR.error=jqXHR.fail;s.url=((url||s.url||ajaxLocation)+"").replace(rhash,"").replace(rprotocol,ajaxLocParts[1]+"//");s.type=options.method||options.type||s.method||s.type;s.dataTypes=jQuery.trim(s.dataType||"*").toLowerCase().match(rnotwhite)||[""];if(s.crossDomain==null){parts=rurl.exec(s.url.toLowerCase());s.crossDomain=!!(parts&&(parts[1]!==ajaxLocParts[1]||parts[2]!==ajaxLocParts[2]||(parts[3]||(parts[1]==="http:"?"80":"443"))!==(ajaxLocParts[3]||(ajaxLocParts[1]==="http:"?"80":"443"))))}if(s.data&&s.processData&&typeof s.data!=="string"){s.data=jQuery.param(s.data,s.traditional)}inspectPrefiltersOrTransports(prefilters,s,options,jqXHR);if(state===2){return jqXHR}fireGlobals=jQuery.event&&s.global;if(fireGlobals&&jQuery.active++===0){jQuery.event.trigger("ajaxStart")}s.type=s.type.toUpperCase();s.hasContent=!rnoContent.test(s.type);cacheURL=s.url;if(!s.hasContent){if(s.data){cacheURL=s.url+=(rquery.test(cacheURL)?"&":"?")+s.data;delete s.data}if(s.cache===false){s.url=rts.test(cacheURL)?cacheURL.replace(rts,"$1_="+nonce++):cacheURL+(rquery.test(cacheURL)?"&":"?")+"_="+nonce++}}if(s.ifModified){if(jQuery.lastModified[cacheURL]){jqXHR.setRequestHeader("If-Modified-Since",jQuery.lastModified[cacheURL])}if(jQuery.etag[cacheURL]){jqXHR.setRequestHeader("If-None-Match",jQuery.etag[cacheURL])}}if(s.data&&s.hasContent&&s.contentType!==false||options.contentType){jqXHR.setRequestHeader("Content-Type",s.contentType)}jqXHR.setRequestHeader("Accept",s.dataTypes[0]&&s.accepts[s.dataTypes[0]]?s.accepts[s.dataTypes[0]]+(s.dataTypes[0]!=="*"?", "+allTypes+"; q=0.01":""):s.accepts["*"]);for(i in s.headers){jqXHR.setRequestHeader(i,s.headers[i])}if(s.beforeSend&&(s.beforeSend.call(callbackContext,jqXHR,s)===false||state===2)){return jqXHR.abort()}strAbort="abort";for(i in{success:1,error:1,complete:1}){jqXHR[i](s[i])}transport=inspectPrefiltersOrTransports(transports,s,options,jqXHR);if(!transport){done(-1,"No Transport")}else{jqXHR.readyState=1;if(fireGlobals){globalEventContext.trigger("ajaxSend",[jqXHR,s])}if(s.async&&s.timeout>0){timeoutTimer=setTimeout(function(){jqXHR.abort("timeout")},s.timeout)}try{state=1;transport.send(requestHeaders,done)}catch(e){if(state<2){done(-1,e)}else{throw e}}}function done(status,nativeStatusText,responses,headers){var isSuccess,success,error,response,modified,statusText=nativeStatusText;if(state===2){return}state=2;if(timeoutTimer){clearTimeout(timeoutTimer)}transport=undefined;responseHeadersString=headers||"";jqXHR.readyState=status>0?4:0;isSuccess=status>=200&&status<300||status===304;if(responses){response=ajaxHandleResponses(s,jqXHR,responses)}response=ajaxConvert(s,response,jqXHR,isSuccess);if(isSuccess){if(s.ifModified){modified=jqXHR.getResponseHeader("Last-Modified");if(modified){jQuery.lastModified[cacheURL]=modified}modified=jqXHR.getResponseHeader("etag");if(modified){jQuery.etag[cacheURL]=modified}}if(status===204||s.type==="HEAD"){statusText="nocontent"}else if(status===304){statusText="notmodified"}else{statusText=response.state;success=response.data;error=response.error;isSuccess=!error}}else{error=statusText;if(status||!statusText){statusText="error";if(status<0){status=0}}}jqXHR.status=status;jqXHR.statusText=(nativeStatusText||statusText)+"";if(isSuccess){deferred.resolveWith(callbackContext,[success,statusText,jqXHR])}else{deferred.rejectWith(callbackContext,[jqXHR,statusText,error])}jqXHR.statusCode(statusCode);statusCode=undefined;if(fireGlobals){globalEventContext.trigger(isSuccess?"ajaxSuccess":"ajaxError",[jqXHR,s,isSuccess?success:error])}completeDeferred.fireWith(callbackContext,[jqXHR,statusText]);if(fireGlobals){globalEventContext.trigger("ajaxComplete",[jqXHR,s]);if(!--jQuery.active){jQuery.event.trigger("ajaxStop")}}}return jqXHR},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json")},getScript:function(url,callback){return jQuery.get(url,undefined,callback,"script")}});jQuery.each(["get","post"],function(i,method){jQuery[method]=function(url,data,callback,type){if(jQuery.isFunction(data)){type=type||callback;callback=data;data=undefined}return jQuery.ajax({url:url,type:method,dataType:type,data:data,success:callback})}});jQuery._evalUrl=function(url){return jQuery.ajax({url:url,type:"GET",dataType:"script",async:false,global:false,"throws":true})};jQuery.fn.extend({wrapAll:function(html){if(jQuery.isFunction(html)){return this.each(function(i){jQuery(this).wrapAll(html.call(this,i))})}if(this[0]){var wrap=jQuery(html,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){wrap.insertBefore(this[0])}wrap.map(function(){var elem=this;while(elem.firstChild&&elem.firstChild.nodeType===1){elem=elem.firstChild}return elem}).append(this)}return this},wrapInner:function(html){if(jQuery.isFunction(html)){return this.each(function(i){jQuery(this).wrapInner(html.call(this,i))})}return this.each(function(){var self=jQuery(this),contents=self.contents();if(contents.length){contents.wrapAll(html)}else{self.append(html)}})},wrap:function(html){var isFunction=jQuery.isFunction(html);return this.each(function(i){jQuery(this).wrapAll(isFunction?html.call(this,i):html)})},unwrap:function(){return this.parent().each(function(){if(!jQuery.nodeName(this,"body")){jQuery(this).replaceWith(this.childNodes)}}).end()}});jQuery.expr.filters.hidden=function(elem){return elem.offsetWidth<=0&&elem.offsetHeight<=0||!support.reliableHiddenOffsets()&&(elem.style&&elem.style.display||jQuery.css(elem,"display"))==="none"};jQuery.expr.filters.visible=function(elem){return!jQuery.expr.filters.hidden(elem)};var r20=/%20/g,rbracket=/\[\]$/,rCRLF=/\r?\n/g,rsubmitterTypes=/^(?:submit|button|image|reset|file)$/i,rsubmittable=/^(?:input|select|textarea|keygen)/i;function buildParams(prefix,obj,traditional,add){var name;if(jQuery.isArray(obj)){jQuery.each(obj,function(i,v){if(traditional||rbracket.test(prefix)){add(prefix,v)}else{buildParams(prefix+"["+(typeof v==="object"?i:"")+"]",v,traditional,add)}})}else if(!traditional&&jQuery.type(obj)==="object"){for(name in obj){buildParams(prefix+"["+name+"]",obj[name],traditional,add)}}else{add(prefix,obj)}}jQuery.param=function(a,traditional){var prefix,s=[],add=function(key,value){value=jQuery.isFunction(value)?value():value==null?"":value;s[s.length]=encodeURIComponent(key)+"="+encodeURIComponent(value)};if(traditional===undefined){traditional=jQuery.ajaxSettings&&jQuery.ajaxSettings.traditional}if(jQuery.isArray(a)||a.jquery&&!jQuery.isPlainObject(a)){jQuery.each(a,function(){add(this.name,this.value)})}else{for(prefix in a){buildParams(prefix,a[prefix],traditional,add)}}return s.join("&").replace(r20,"+")};jQuery.fn.extend({serialize:function(){return jQuery.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var elements=jQuery.prop(this,"elements");return elements?jQuery.makeArray(elements):this}).filter(function(){var type=this.type;return this.name&&!jQuery(this).is(":disabled")&&rsubmittable.test(this.nodeName)&&!rsubmitterTypes.test(type)&&(this.checked||!rcheckableType.test(type))}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:jQuery.isArray(val)?jQuery.map(val,function(val){return{name:elem.name,value:val.replace(rCRLF,"\r\n")}}):{name:elem.name,value:val.replace(rCRLF,"\r\n")}}).get()}});jQuery.ajaxSettings.xhr=window.ActiveXObject!==undefined?function(){return!this.isLocal&&/^(get|post|head|put|delete|options)$/i.test(this.type)&&createStandardXHR()||createActiveXHR()}:createStandardXHR;var xhrId=0,xhrCallbacks={},xhrSupported=jQuery.ajaxSettings.xhr();if(window.attachEvent){window.attachEvent("onunload",function(){for(var key in xhrCallbacks){xhrCallbacks[key](undefined,true)}})}support.cors=!!xhrSupported&&"withCredentials"in xhrSupported;xhrSupported=support.ajax=!!xhrSupported;if(xhrSupported){jQuery.ajaxTransport(function(options){if(!options.crossDomain||support.cors){var callback;return{send:function(headers,complete){var i,xhr=options.xhr(),id=++xhrId;xhr.open(options.type,options.url,options.async,options.username,options.password);if(options.xhrFields){for(i in options.xhrFields){xhr[i]=options.xhrFields[i]}}if(options.mimeType&&xhr.overrideMimeType){xhr.overrideMimeType(options.mimeType)}if(!options.crossDomain&&!headers["X-Requested-With"]){headers["X-Requested-With"]="XMLHttpRequest"}for(i in headers){if(headers[i]!==undefined){xhr.setRequestHeader(i,headers[i]+"")}}xhr.send(options.hasContent&&options.data||null);callback=function(_,isAbort){var status,statusText,responses;if(callback&&(isAbort||xhr.readyState===4)){delete xhrCallbacks[id];callback=undefined;xhr.onreadystatechange=jQuery.noop;if(isAbort){if(xhr.readyState!==4){xhr.abort()}}else{responses={};status=xhr.status;if(typeof xhr.responseText==="string"){responses.text=xhr.responseText}try{statusText=xhr.statusText}catch(e){statusText=""}if(!status&&options.isLocal&&!options.crossDomain){status=responses.text?200:404}else if(status===1223){status=204}}}if(responses){complete(status,statusText,responses,xhr.getAllResponseHeaders())}};if(!options.async){callback()}else if(xhr.readyState===4){setTimeout(callback)}else{xhr.onreadystatechange=xhrCallbacks[id]=callback}},abort:function(){if(callback){callback(undefined,true)}}}}})}function createStandardXHR(){try{return new window.XMLHttpRequest}catch(e){}}function createActiveXHR(){try{return new window.ActiveXObject("Microsoft.XMLHTTP")}catch(e){}}jQuery.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/(?:java|ecma)script/},converters:{"text script":function(text){jQuery.globalEval(text);return text}}});jQuery.ajaxPrefilter("script",function(s){if(s.cache===undefined){s.cache=false}if(s.crossDomain){s.type="GET";s.global=false}});jQuery.ajaxTransport("script",function(s){if(s.crossDomain){var script,head=document.head||jQuery("head")[0]||document.documentElement;return{send:function(_,callback){script=document.createElement("script");script.async=true;if(s.scriptCharset){script.charset=s.scriptCharset}script.src=s.url;script.onload=script.onreadystatechange=function(_,isAbort){if(isAbort||!script.readyState||/loaded|complete/.test(script.readyState)){script.onload=script.onreadystatechange=null;if(script.parentNode){script.parentNode.removeChild(script)}script=null;if(!isAbort){callback(200,"success")}}};head.insertBefore(script,head.firstChild)},abort:function(){if(script){script.onload(undefined,true)}}}}});var oldCallbacks=[],rjsonp=/(=)\?(?=&|$)|\?\?/;jQuery.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var callback=oldCallbacks.pop()||jQuery.expando+"_"+nonce++;this[callback]=true;return callback}});jQuery.ajaxPrefilter("json jsonp",function(s,originalSettings,jqXHR){var callbackName,overwritten,responseContainer,jsonProp=s.jsonp!==false&&(rjsonp.test(s.url)?"url":typeof s.data==="string"&&!(s.contentType||"").indexOf("application/x-www-form-urlencoded")&&rjsonp.test(s.data)&&"data");if(jsonProp||s.dataTypes[0]==="jsonp"){callbackName=s.jsonpCallback=jQuery.isFunction(s.jsonpCallback)?s.jsonpCallback():s.jsonpCallback;if(jsonProp){s[jsonProp]=s[jsonProp].replace(rjsonp,"$1"+callbackName)}else if(s.jsonp!==false){s.url+=(rquery.test(s.url)?"&":"?")+s.jsonp+"="+callbackName}s.converters["script json"]=function(){if(!responseContainer){jQuery.error(callbackName+" was not called")}return responseContainer[0]};s.dataTypes[0]="json";overwritten=window[callbackName];window[callbackName]=function(){responseContainer=arguments};jqXHR.always(function(){window[callbackName]=overwritten;if(s[callbackName]){s.jsonpCallback=originalSettings.jsonpCallback;oldCallbacks.push(callbackName)}if(responseContainer&&jQuery.isFunction(overwritten)){overwritten(responseContainer[0])}responseContainer=overwritten=undefined});return"script"}});jQuery.parseHTML=function(data,context,keepScripts){if(!data||typeof data!=="string"){return null}if(typeof context==="boolean"){keepScripts=context;context=false}context=context||document;var parsed=rsingleTag.exec(data),scripts=!keepScripts&&[];if(parsed){return[context.createElement(parsed[1])]}parsed=jQuery.buildFragment([data],context,scripts);if(scripts&&scripts.length){jQuery(scripts).remove()}return jQuery.merge([],parsed.childNodes)};var _load=jQuery.fn.load;jQuery.fn.load=function(url,params,callback){if(typeof url!=="string"&&_load){return _load.apply(this,arguments)}var selector,response,type,self=this,off=url.indexOf(" ");if(off>=0){selector=jQuery.trim(url.slice(off,url.length));url=url.slice(0,off)}if(jQuery.isFunction(params)){callback=params;params=undefined}else if(params&&typeof params==="object"){type="POST"}if(self.length>0){jQuery.ajax({url:url,type:type,dataType:"html",data:params}).done(function(responseText){response=arguments;self.html(selector?jQuery("<div>").append(jQuery.parseHTML(responseText)).find(selector):responseText)}).complete(callback&&function(jqXHR,status){self.each(callback,response||[jqXHR.responseText,status,jqXHR])})}return this};jQuery.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(i,type){jQuery.fn[type]=function(fn){return this.on(type,fn)}});jQuery.expr.filters.animated=function(elem){return jQuery.grep(jQuery.timers,function(fn){return elem===fn.elem}).length};var docElem=window.document.documentElement;function getWindow(elem){return jQuery.isWindow(elem)?elem:elem.nodeType===9?elem.defaultView||elem.parentWindow:false}jQuery.offset={setOffset:function(elem,options,i){var curPosition,curLeft,curCSSTop,curTop,curOffset,curCSSLeft,calculatePosition,position=jQuery.css(elem,"position"),curElem=jQuery(elem),props={};if(position==="static"){elem.style.position="relative"}curOffset=curElem.offset();curCSSTop=jQuery.css(elem,"top");curCSSLeft=jQuery.css(elem,"left");calculatePosition=(position==="absolute"||position==="fixed")&&jQuery.inArray("auto",[curCSSTop,curCSSLeft])>-1;if(calculatePosition){curPosition=curElem.position();curTop=curPosition.top;curLeft=curPosition.left}else{curTop=parseFloat(curCSSTop)||0;curLeft=parseFloat(curCSSLeft)||0}if(jQuery.isFunction(options)){options=options.call(elem,i,curOffset)}if(options.top!=null){props.top=options.top-curOffset.top+curTop}if(options.left!=null){props.left=options.left-curOffset.left+curLeft}if("using"in options){options.using.call(elem,props)}else{curElem.css(props)}}};jQuery.fn.extend({offset:function(options){if(arguments.length){return options===undefined?this:this.each(function(i){jQuery.offset.setOffset(this,options,i)})}var docElem,win,box={top:0,left:0},elem=this[0],doc=elem&&elem.ownerDocument;if(!doc){return}docElem=doc.documentElement;if(!jQuery.contains(docElem,elem)){return box}if(typeof elem.getBoundingClientRect!==strundefined){box=elem.getBoundingClientRect()}win=getWindow(doc);return{top:box.top+(win.pageYOffset||docElem.scrollTop)-(docElem.clientTop||0),left:box.left+(win.pageXOffset||docElem.scrollLeft)-(docElem.clientLeft||0)}},position:function(){if(!this[0]){return}var offsetParent,offset,parentOffset={top:0,left:0},elem=this[0];if(jQuery.css(elem,"position")==="fixed"){offset=elem.getBoundingClientRect()}else{offsetParent=this.offsetParent();offset=this.offset();if(!jQuery.nodeName(offsetParent[0],"html")){parentOffset=offsetParent.offset()}parentOffset.top+=jQuery.css(offsetParent[0],"borderTopWidth",true);parentOffset.left+=jQuery.css(offsetParent[0],"borderLeftWidth",true)}return{top:offset.top-parentOffset.top-jQuery.css(elem,"marginTop",true),left:offset.left-parentOffset.left-jQuery.css(elem,"marginLeft",true)}},offsetParent:function(){return this.map(function(){var offsetParent=this.offsetParent||docElem;while(offsetParent&&(!jQuery.nodeName(offsetParent,"html")&&jQuery.css(offsetParent,"position")==="static")){offsetParent=offsetParent.offsetParent}return offsetParent||docElem})}});jQuery.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(method,prop){var top=/Y/.test(prop);jQuery.fn[method]=function(val){return access(this,function(elem,method,val){var win=getWindow(elem);if(val===undefined){return win?prop in win?win[prop]:win.document.documentElement[method]:elem[method]}if(win){win.scrollTo(!top?val:jQuery(win).scrollLeft(),top?val:jQuery(win).scrollTop())}else{elem[method]=val}},method,val,arguments.length,null)}});jQuery.each(["top","left"],function(i,prop){jQuery.cssHooks[prop]=addGetHookIf(support.pixelPosition,function(elem,computed){if(computed){computed=curCSS(elem,prop);return rnumnonpx.test(computed)?jQuery(elem).position()[prop]+"px":computed}})});jQuery.each({Height:"height",Width:"width"},function(name,type){jQuery.each({padding:"inner"+name,content:type,"":"outer"+name},function(defaultExtra,funcName){jQuery.fn[funcName]=function(margin,value){var chainable=arguments.length&&(defaultExtra||typeof margin!=="boolean"),extra=defaultExtra||(margin===true||value===true?"margin":"border");return access(this,function(elem,type,value){var doc;if(jQuery.isWindow(elem)){return elem.document.documentElement["client"+name]}if(elem.nodeType===9){doc=elem.documentElement;return Math.max(elem.body["scroll"+name],doc["scroll"+name],elem.body["offset"+name],doc["offset"+name],doc["client"+name])}return value===undefined?jQuery.css(elem,type,extra):jQuery.style(elem,type,value,extra)},type,chainable?margin:undefined,chainable,null)}})});jQuery.fn.size=function(){return this.length};jQuery.fn.andSelf=jQuery.fn.addBack;if(typeof define==="function"&&define.amd){define("jquery",[],function(){return jQuery})}var _jQuery=window.jQuery,_$=window.$;jQuery.noConflict=function(deep){if(window.$===jQuery){window.$=_$}if(deep&&window.jQuery===jQuery){window.jQuery=_jQuery}return jQuery};if(typeof noGlobal===strundefined){window.jQuery=window.$=jQuery}return jQuery});
diff --git a/core/Test/build/js/nv.d3.min.js b/core/Test/build/js/nv.d3.min.js
new file mode 100644
index 0000000000000000000000000000000000000000..0ced8c086804911d71a82283d50a4183d470b7ee
--- /dev/null
+++ b/core/Test/build/js/nv.d3.min.js
@@ -0,0 +1,10 @@
+(function(){var nv={};nv.dev=false;nv.tooltip=nv.tooltip||{};nv.utils=nv.utils||{};nv.models=nv.models||{};nv.charts={};nv.logs={};nv.dom={};nv.dispatch=d3.dispatch("render_start","render_end");if(!Function.prototype.bind){Function.prototype.bind=function(oThis){if(typeof this!=="function"){throw new TypeError("Function.prototype.bind - what is trying to be bound is not callable")}var aArgs=Array.prototype.slice.call(arguments,1),fToBind=this,fNOP=function(){},fBound=function(){return fToBind.apply(this instanceof fNOP&&oThis?this:oThis,aArgs.concat(Array.prototype.slice.call(arguments)))};fNOP.prototype=this.prototype;fBound.prototype=new fNOP;return fBound}}if(nv.dev){nv.dispatch.on("render_start",function(e){nv.logs.startTime=+new Date});nv.dispatch.on("render_end",function(e){nv.logs.endTime=+new Date;nv.logs.totalTime=nv.logs.endTime-nv.logs.startTime;nv.log("total",nv.logs.totalTime)})}nv.log=function(){if(nv.dev&&window.console&&console.log&&console.log.apply)console.log.apply(console,arguments);else if(nv.dev&&window.console&&typeof console.log=="function"&&Function.prototype.bind){var log=Function.prototype.bind.call(console.log,console);log.apply(console,arguments)}return arguments[arguments.length-1]};nv.deprecated=function(name,info){if(console&&console.warn){console.warn("nvd3 warning: `"+name+"` has been deprecated. ",info||"")}};nv.render=function render(step){step=step||1;nv.render.active=true;nv.dispatch.render_start();var renderLoop=function(){var chart,graph;for(var i=0;i<step&&(graph=nv.render.queue[i]);i++){chart=graph.generate();if(typeof graph.callback==typeof Function)graph.callback(chart)}nv.render.queue.splice(0,i);if(nv.render.queue.length){setTimeout(renderLoop)}else{nv.dispatch.render_end();nv.render.active=false}};setTimeout(renderLoop)};nv.render.active=false;nv.render.queue=[];nv.addGraph=function(obj){if(typeof arguments[0]===typeof Function){obj={generate:arguments[0],callback:arguments[1]}}nv.render.queue.push(obj);if(!nv.render.active){nv.render()}};if(typeof module!=="undefined"&&typeof exports!=="undefined"){module.exports=nv}if(typeof window!=="undefined"){window.nv=nv}nv.dom.write=function(callback){if(window.fastdom!==undefined){return fastdom.write(callback)}return callback()};nv.dom.read=function(callback){if(window.fastdom!==undefined){return fastdom.read(callback)}return callback()};nv.interactiveGuideline=function(){"use strict";var tooltip=nv.models.tooltip();tooltip.duration(0).hideDelay(0)._isInteractiveLayer(true).hidden(false);var width=null;var height=null;var margin={left:0,top:0},xScale=d3.scale.linear(),dispatch=d3.dispatch("elementMousemove","elementMouseout","elementClick","elementDblclick"),showGuideLine=true;var svgContainer=null;var isMSIE="ActiveXObject"in window;function layer(selection){selection.each(function(data){var container=d3.select(this);var availableWidth=width||960,availableHeight=height||400;var wrap=container.selectAll("g.nv-wrap.nv-interactiveLineLayer").data([data]);var wrapEnter=wrap.enter().append("g").attr("class"," nv-wrap nv-interactiveLineLayer");wrapEnter.append("g").attr("class","nv-interactiveGuideLine");if(!svgContainer){return}function mouseHandler(){var d3mouse=d3.mouse(this);var mouseX=d3mouse[0];var mouseY=d3mouse[1];var subtractMargin=true;var mouseOutAnyReason=false;if(isMSIE){mouseX=d3.event.offsetX;mouseY=d3.event.offsetY;if(d3.event.target.tagName!=="svg"){subtractMargin=false}if(d3.event.target.className.baseVal.match("nv-legend")){mouseOutAnyReason=true}}if(subtractMargin){mouseX-=margin.left;mouseY-=margin.top}if(mouseX<0||mouseY<0||mouseX>availableWidth||mouseY>availableHeight||d3.event.relatedTarget&&d3.event.relatedTarget.ownerSVGElement===undefined||mouseOutAnyReason){if(isMSIE){if(d3.event.relatedTarget&&d3.event.relatedTarget.ownerSVGElement===undefined&&(d3.event.relatedTarget.className===undefined||d3.event.relatedTarget.className.match(tooltip.nvPointerEventsClass))){return}}dispatch.elementMouseout({mouseX:mouseX,mouseY:mouseY});layer.renderGuideLine(null);tooltip.hidden(true);return}else{tooltip.hidden(false)}var pointXValue=xScale.invert(mouseX);dispatch.elementMousemove({mouseX:mouseX,mouseY:mouseY,pointXValue:pointXValue});if(d3.event.type==="dblclick"){dispatch.elementDblclick({mouseX:mouseX,mouseY:mouseY,pointXValue:pointXValue})}if(d3.event.type==="click"){dispatch.elementClick({mouseX:mouseX,mouseY:mouseY,pointXValue:pointXValue})}}svgContainer.on("touchmove",mouseHandler).on("mousemove",mouseHandler,true).on("mouseout",mouseHandler,true).on("dblclick",mouseHandler).on("click",mouseHandler);layer.guideLine=null;layer.renderGuideLine=function(x){if(!showGuideLine)return;if(layer.guideLine&&layer.guideLine.attr("x1")===x)return;nv.dom.write(function(){var line=wrap.select(".nv-interactiveGuideLine").selectAll("line").data(x!=null?[nv.utils.NaNtoZero(x)]:[],String);line.enter().append("line").attr("class","nv-guideline").attr("x1",function(d){return d}).attr("x2",function(d){return d}).attr("y1",availableHeight).attr("y2",0);line.exit().remove()})}})}layer.dispatch=dispatch;layer.tooltip=tooltip;layer.margin=function(_){if(!arguments.length)return margin;margin.top=typeof _.top!="undefined"?_.top:margin.top;margin.left=typeof _.left!="undefined"?_.left:margin.left;return layer};layer.width=function(_){if(!arguments.length)return width;width=_;return layer};layer.height=function(_){if(!arguments.length)return height;height=_;return layer};layer.xScale=function(_){if(!arguments.length)return xScale;xScale=_;return layer};layer.showGuideLine=function(_){if(!arguments.length)return showGuideLine;showGuideLine=_;return layer};layer.svgContainer=function(_){if(!arguments.length)return svgContainer;svgContainer=_;return layer};return layer};nv.interactiveBisect=function(values,searchVal,xAccessor){"use strict";if(!(values instanceof Array)){return null}var _xAccessor;if(typeof xAccessor!=="function"){_xAccessor=function(d){return d.x}}else{_xAccessor=xAccessor}var _cmp=function(d,v){return _xAccessor(d)-v};var bisect=d3.bisector(_cmp).left;var index=d3.max([0,bisect(values,searchVal)-1]);var currentValue=_xAccessor(values[index]);if(typeof currentValue==="undefined"){currentValue=index}if(currentValue===searchVal){return index}var nextIndex=d3.min([index+1,values.length-1]);var nextValue=_xAccessor(values[nextIndex]);if(typeof nextValue==="undefined"){nextValue=nextIndex}if(Math.abs(nextValue-searchVal)>=Math.abs(currentValue-searchVal)){return index}else{return nextIndex}};nv.nearestValueIndex=function(values,searchVal,threshold){"use strict";var yDistMax=Infinity,indexToHighlight=null;values.forEach(function(d,i){var delta=Math.abs(searchVal-d);if(d!=null&&delta<=yDistMax&&delta<threshold){yDistMax=delta;indexToHighlight=i}});return indexToHighlight};(function(){"use strict";nv.models.tooltip=function(){var data=null;var gravity="w",distance=25,snapDistance=0,fixedTop=null,classes=null,chartContainer=null,hidden=true,hideDelay=400,tooltip=null,tooltipElem=null,position={left:null,top:null},offset={left:0,top:0},enabled=true,duration=100,headerEnabled=true;var isInteractiveLayer=false;var id="nvtooltip-"+Math.floor(Math.random()*1e5);var nvPointerEventsClass="nv-pointer-events-none";var valueFormatter=function(d,i){return d};var headerFormatter=function(d){return d};var keyFormatter=function(d,i){return d};var contentGenerator=function(d){if(d===null){return""}var table=d3.select(document.createElement("table"));if(headerEnabled){var theadEnter=table.selectAll("thead").data([d]).enter().append("thead");theadEnter.append("tr").append("td").attr("colspan",3).append("strong").classed("x-value",true).html(headerFormatter(d.value))}var tbodyEnter=table.selectAll("tbody").data([d]).enter().append("tbody");var trowEnter=tbodyEnter.selectAll("tr").data(function(p){return p.series}).enter().append("tr").classed("highlight",function(p){return p.highlight});trowEnter.append("td").classed("legend-color-guide",true).append("div").style("background-color",function(p){return p.color});trowEnter.append("td").classed("key",true).html(function(p,i){return keyFormatter(p.key,i)});trowEnter.append("td").classed("value",true).html(function(p,i){return valueFormatter(p.value,i)});trowEnter.selectAll("td").each(function(p){if(p.highlight){var opacityScale=d3.scale.linear().domain([0,1]).range(["#fff",p.color]);var opacity=.6;d3.select(this).style("border-bottom-color",opacityScale(opacity)).style("border-top-color",opacityScale(opacity))}});var html=table.node().outerHTML;if(d.footer!==undefined)html+="<div class='footer'>"+d.footer+"</div>";return html};var dataSeriesExists=function(d){if(d&&d.series){if(d.series instanceof Array){return!!d.series.length}if(d.series instanceof Object){d.series=[d.series];return true}}return false};var calcTooltipPosition=function(pos){if(!tooltipElem)return;nv.dom.read(function(){var height=parseInt(tooltipElem.offsetHeight,10),width=parseInt(tooltipElem.offsetWidth,10),windowWidth=nv.utils.windowSize().width,windowHeight=nv.utils.windowSize().height,scrollTop=window.pageYOffset,scrollLeft=window.pageXOffset,left,top;windowHeight=window.innerWidth>=document.body.scrollWidth?windowHeight:windowHeight-16;windowWidth=window.innerHeight>=document.body.scrollHeight?windowWidth:windowWidth-16;var tooltipTop=function(Elem){var offsetTop=top;do{if(!isNaN(Elem.offsetTop)){offsetTop+=Elem.offsetTop}Elem=Elem.offsetParent}while(Elem);return offsetTop};var tooltipLeft=function(Elem){var offsetLeft=left;do{if(!isNaN(Elem.offsetLeft)){offsetLeft+=Elem.offsetLeft}Elem=Elem.offsetParent}while(Elem);return offsetLeft};var tLeft,tTop;switch(gravity){case"e":left=pos[0]-width-distance;top=pos[1]-height/2;tLeft=tooltipLeft(tooltipElem);tTop=tooltipTop(tooltipElem);if(tLeft<scrollLeft)left=pos[0]+distance>scrollLeft?pos[0]+distance:scrollLeft-tLeft+left;if(tTop<scrollTop)top=scrollTop-tTop+top;if(tTop+height>scrollTop+windowHeight)top=scrollTop+windowHeight-tTop+top-height;break;case"w":left=pos[0]+distance;top=pos[1]-height/2;tLeft=tooltipLeft(tooltipElem);tTop=tooltipTop(tooltipElem);if(tLeft+width>windowWidth)left=pos[0]-width-distance;if(tTop<scrollTop)top=scrollTop+5;if(tTop+height>scrollTop+windowHeight)top=scrollTop+windowHeight-tTop+top-height;break;case"n":left=pos[0]-width/2-5;top=pos[1]+distance;tLeft=tooltipLeft(tooltipElem);tTop=tooltipTop(tooltipElem);if(tLeft<scrollLeft)left=scrollLeft+5;if(tLeft+width>windowWidth)left=left-width/2+5;if(tTop+height>scrollTop+windowHeight)top=scrollTop+windowHeight-tTop+top-height;break;case"s":left=pos[0]-width/2;top=pos[1]-height-distance;tLeft=tooltipLeft(tooltipElem);tTop=tooltipTop(tooltipElem);if(tLeft<scrollLeft)left=scrollLeft+5;if(tLeft+width>windowWidth)left=left-width/2+5;if(scrollTop>tTop)top=scrollTop;break;case"none":left=pos[0];top=pos[1]-distance;tLeft=tooltipLeft(tooltipElem);tTop=tooltipTop(tooltipElem);break}left-=offset.left;top-=offset.top;var box=tooltipElem.getBoundingClientRect();var scrollTop=window.pageYOffset||document.documentElement.scrollTop;var scrollLeft=window.pageXOffset||document.documentElement.scrollLeft;var old_translate="translate("+(box.left+scrollLeft)+"px, "+(box.top+scrollTop)+"px)";var new_translate="translate("+left+"px, "+top+"px)";var translateInterpolator=d3.interpolateString(old_translate,new_translate);var is_hidden=tooltip.style("opacity")<.1;if(hidden){tooltip.transition().delay(hideDelay).duration(0).style("opacity",0)}else{tooltip.interrupt().transition().duration(is_hidden?0:duration).styleTween("transform",function(d){return translateInterpolator},"important").style("-webkit-transform",new_translate).style("opacity",1)}})};function convertViewBoxRatio(){if(chartContainer){var svg=d3.select(chartContainer);if(svg.node().tagName!=="svg"){svg=svg.select("svg")}var viewBox=svg.node()?svg.attr("viewBox"):null;if(viewBox){viewBox=viewBox.split(" ");var ratio=parseInt(svg.style("width"),10)/viewBox[2];position.left=position.left*ratio;position.top=position.top*ratio}}}function initTooltip(){if(!tooltip){var body;if(chartContainer){body=chartContainer}else{body=document.body}tooltip=d3.select(body).append("div").attr("class","nvtooltip "+(classes?classes:"xy-tooltip")).attr("id",id);tooltip.style("top",0).style("left",0);tooltip.style("opacity",0);tooltip.selectAll("div, table, td, tr").classed(nvPointerEventsClass,true);tooltip.classed(nvPointerEventsClass,true);tooltipElem=tooltip.node()}}function nvtooltip(){if(!enabled)return;if(!dataSeriesExists(data))return;convertViewBoxRatio();var left=position.left;var top=fixedTop!==null?fixedTop:position.top;nv.dom.write(function(){initTooltip();var newContent=contentGenerator(data);if(newContent){tooltipElem.innerHTML=newContent}if(chartContainer&&isInteractiveLayer){nv.dom.read(function(){var svgComp=chartContainer.getElementsByTagName("svg")[0];var svgOffset={left:0,top:0};if(svgComp){var svgBound=svgComp.getBoundingClientRect();var chartBound=chartContainer.getBoundingClientRect();var svgBoundTop=svgBound.top;if(svgBoundTop<0){var containerBound=chartContainer.getBoundingClientRect();svgBoundTop=Math.abs(svgBoundTop)>containerBound.height?0:svgBoundTop}svgOffset.top=Math.abs(svgBoundTop-chartBound.top);svgOffset.left=Math.abs(svgBound.left-chartBound.left)}left+=chartContainer.offsetLeft+svgOffset.left-2*chartContainer.scrollLeft;top+=chartContainer.offsetTop+svgOffset.top-2*chartContainer.scrollTop;if(snapDistance&&snapDistance>0){top=Math.floor(top/snapDistance)*snapDistance}calcTooltipPosition([left,top])})}else{calcTooltipPosition([left,top])}});return nvtooltip}nvtooltip.nvPointerEventsClass=nvPointerEventsClass;nvtooltip.options=nv.utils.optionsFunc.bind(nvtooltip);nvtooltip._options=Object.create({},{duration:{get:function(){return duration},set:function(_){duration=_}},gravity:{get:function(){return gravity},set:function(_){gravity=_}},distance:{get:function(){return distance},set:function(_){distance=_}},snapDistance:{get:function(){return snapDistance},set:function(_){snapDistance=_}},classes:{get:function(){return classes},set:function(_){classes=_}},chartContainer:{get:function(){return chartContainer},set:function(_){chartContainer=_}},fixedTop:{get:function(){return fixedTop},set:function(_){fixedTop=_}},enabled:{get:function(){return enabled},set:function(_){enabled=_}},hideDelay:{get:function(){return hideDelay},set:function(_){hideDelay=_}},contentGenerator:{get:function(){return contentGenerator},set:function(_){contentGenerator=_}},valueFormatter:{get:function(){return valueFormatter},set:function(_){valueFormatter=_}},headerFormatter:{get:function(){return headerFormatter},set:function(_){headerFormatter=_}},keyFormatter:{get:function(){return keyFormatter},set:function(_){keyFormatter=_}},headerEnabled:{get:function(){return headerEnabled},set:function(_){headerEnabled=_}},_isInteractiveLayer:{get:function(){return isInteractiveLayer},set:function(_){isInteractiveLayer=!!_}},position:{get:function(){return position},set:function(_){position.left=_.left!==undefined?_.left:position.left;position.top=_.top!==undefined?_.top:position.top}},offset:{get:function(){return offset},set:function(_){offset.left=_.left!==undefined?_.left:offset.left;offset.top=_.top!==undefined?_.top:offset.top}},hidden:{get:function(){return hidden},set:function(_){if(hidden!=_){hidden=!!_;nvtooltip()}}},data:{get:function(){return data},set:function(_){if(_.point){_.value=_.point.x;_.series=_.series||{};_.series.value=_.point.y;_.series.color=_.point.color||_.series.color}data=_}},tooltipElem:{get:function(){return tooltipElem},set:function(_){}},id:{get:function(){return id},set:function(_){}}});nv.utils.initOptions(nvtooltip);return nvtooltip}})();nv.utils.windowSize=function(){var size={width:640,height:480};if(window.innerWidth&&window.innerHeight){size.width=window.innerWidth;size.height=window.innerHeight;return size}if(document.compatMode=="CSS1Compat"&&document.documentElement&&document.documentElement.offsetWidth){size.width=document.documentElement.offsetWidth;size.height=document.documentElement.offsetHeight;return size}if(document.body&&document.body.offsetWidth){size.width=document.body.offsetWidth;size.height=document.body.offsetHeight;return size}return size};nv.utils.windowResize=function(handler){if(window.addEventListener){window.addEventListener("resize",handler)}else{nv.log("ERROR: Failed to bind to window.resize with: ",handler)}return{callback:handler,clear:function(){window.removeEventListener("resize",handler)}}};nv.utils.getColor=function(color){if(color===undefined){return nv.utils.defaultColor()}else if(Array.isArray(color)){var color_scale=d3.scale.ordinal().range(color);return function(d,i){var key=i===undefined?d:i;return d.color||color_scale(key)}}else{return color}};nv.utils.defaultColor=function(){return nv.utils.getColor(d3.scale.category20().range())};nv.utils.customTheme=function(dictionary,getKey,defaultColors){getKey=getKey||function(series){return series.key};defaultColors=defaultColors||d3.scale.category20().range();var defIndex=defaultColors.length;return function(series,index){var key=getKey(series);if(typeof dictionary[key]==="function"){return dictionary[key]()}else if(dictionary[key]!==undefined){return dictionary[key]}else{if(!defIndex){defIndex=defaultColors.length}defIndex=defIndex-1;return defaultColors[defIndex]}}};nv.utils.pjax=function(links,content){var load=function(href){d3.html(href,function(fragment){var target=d3.select(content).node();target.parentNode.replaceChild(d3.select(fragment).select(content).node(),target);nv.utils.pjax(links,content)})};d3.selectAll(links).on("click",function(){history.pushState(this.href,this.textContent,this.href);load(this.href);d3.event.preventDefault()});d3.select(window).on("popstate",function(){if(d3.event.state){load(d3.event.state)}})};nv.utils.calcApproxTextWidth=function(svgTextElem){if(typeof svgTextElem.style==="function"&&typeof svgTextElem.text==="function"){var fontSize=parseInt(svgTextElem.style("font-size").replace("px",""),10);var textLength=svgTextElem.text().length;return textLength*fontSize*.5}return 0};nv.utils.NaNtoZero=function(n){if(typeof n!=="number"||isNaN(n)||n===null||n===Infinity||n===-Infinity){return 0}return n};d3.selection.prototype.watchTransition=function(renderWatch){var args=[this].concat([].slice.call(arguments,1));return renderWatch.transition.apply(renderWatch,args)};nv.utils.renderWatch=function(dispatch,duration){if(!(this instanceof nv.utils.renderWatch)){return new nv.utils.renderWatch(dispatch,duration)}var _duration=duration!==undefined?duration:250;var renderStack=[];var self=this;this.models=function(models){models=[].slice.call(arguments,0);models.forEach(function(model){model.__rendered=false;(function(m){m.dispatch.on("renderEnd",function(arg){m.__rendered=true;self.renderEnd("model")})})(model);if(renderStack.indexOf(model)<0){renderStack.push(model)}});return this};this.reset=function(duration){if(duration!==undefined){_duration=duration}renderStack=[]};this.transition=function(selection,args,duration){args=arguments.length>1?[].slice.call(arguments,1):[];if(args.length>1){duration=args.pop()}else{duration=_duration!==undefined?_duration:250}selection.__rendered=false;if(renderStack.indexOf(selection)<0){renderStack.push(selection)}if(duration===0){selection.__rendered=true;selection.delay=function(){return this};selection.duration=function(){return this};return selection}else{if(selection.length===0){selection.__rendered=true}else if(selection.every(function(d){return!d.length})){selection.__rendered=true}else{selection.__rendered=false}var n=0;return selection.transition().duration(duration).each(function(){++n}).each("end",function(d,i){if(--n===0){selection.__rendered=true;self.renderEnd.apply(this,args)}})}};this.renderEnd=function(){if(renderStack.every(function(d){return d.__rendered})){renderStack.forEach(function(d){d.__rendered=false});dispatch.renderEnd.apply(this,arguments)}}};nv.utils.deepExtend=function(dst){var sources=arguments.length>1?[].slice.call(arguments,1):[];sources.forEach(function(source){for(var key in source){var isArray=dst[key]instanceof Array;var isObject=typeof dst[key]==="object";var srcObj=typeof source[key]==="object";if(isObject&&!isArray&&srcObj){nv.utils.deepExtend(dst[key],source[key])}else{dst[key]=source[key]}}})};nv.utils.state=function(){if(!(this instanceof nv.utils.state)){return new nv.utils.state}var state={};var _self=this;var _setState=function(){};var _getState=function(){return{}};var init=null;var changed=null;this.dispatch=d3.dispatch("change","set");this.dispatch.on("set",function(state){_setState(state,true)});this.getter=function(fn){_getState=fn;return this};this.setter=function(fn,callback){if(!callback){callback=function(){}}_setState=function(state,update){fn(state);if(update){callback()}};return this};this.init=function(state){init=init||{};nv.utils.deepExtend(init,state)};var _set=function(){var settings=_getState();if(JSON.stringify(settings)===JSON.stringify(state)){return false}for(var key in settings){if(state[key]===undefined){state[key]={}}state[key]=settings[key];changed=true}return true};this.update=function(){if(init){_setState(init,false);init=null}if(_set.call(this)){this.dispatch.change(state)}}};nv.utils.optionsFunc=function(args){if(args){d3.map(args).forEach(function(key,value){if(typeof this[key]==="function"){this[key](value)}}.bind(this))}return this};nv.utils.calcTicksX=function(numTicks,data){var numValues=1;var i=0;for(i;i<data.length;i+=1){var stream_len=data[i]&&data[i].values?data[i].values.length:0;numValues=stream_len>numValues?stream_len:numValues}nv.log("Requested number of ticks: ",numTicks);nv.log("Calculated max values to be: ",numValues);numTicks=numTicks>numValues?numTicks=numValues-1:numTicks;numTicks=numTicks<1?1:numTicks;numTicks=Math.floor(numTicks);nv.log("Calculating tick count as: ",numTicks);return numTicks};nv.utils.calcTicksY=function(numTicks,data){return nv.utils.calcTicksX(numTicks,data)};nv.utils.initOption=function(chart,name){if(chart._calls&&chart._calls[name]){chart[name]=chart._calls[name]}else{chart[name]=function(_){if(!arguments.length)return chart._options[name];chart._overrides[name]=true;chart._options[name]=_;return chart};chart["_"+name]=function(_){if(!arguments.length)return chart._options[name];if(!chart._overrides[name]){chart._options[name]=_}return chart}}};nv.utils.initOptions=function(chart){chart._overrides=chart._overrides||{};var ops=Object.getOwnPropertyNames(chart._options||{});var calls=Object.getOwnPropertyNames(chart._calls||{});ops=ops.concat(calls);for(var i in ops){nv.utils.initOption(chart,ops[i])}};nv.utils.inheritOptionsD3=function(target,d3_source,oplist){target._d3options=oplist.concat(target._d3options||[]);oplist.unshift(d3_source);oplist.unshift(target);d3.rebind.apply(this,oplist)};nv.utils.arrayUnique=function(a){return a.sort().filter(function(item,pos){return!pos||item!=a[pos-1]})};nv.utils.symbolMap=d3.map();nv.utils.symbol=function(){var type,size=64;function symbol(d,i){var t=type.call(this,d,i);var s=size.call(this,d,i);if(d3.svg.symbolTypes.indexOf(t)!==-1){return d3.svg.symbol().type(t).size(s)()}else{return nv.utils.symbolMap.get(t)(s)}}symbol.type=function(_){if(!arguments.length)return type;type=d3.functor(_);return symbol};symbol.size=function(_){if(!arguments.length)return size;size=d3.functor(_);return symbol};return symbol};nv.utils.inheritOptions=function(target,source){var ops=Object.getOwnPropertyNames(source._options||{});var calls=Object.getOwnPropertyNames(source._calls||{});var inherited=source._inherited||[];var d3ops=source._d3options||[];var args=ops.concat(calls).concat(inherited).concat(d3ops);args.unshift(source);args.unshift(target);d3.rebind.apply(this,args);target._inherited=nv.utils.arrayUnique(ops.concat(calls).concat(inherited).concat(ops).concat(target._inherited||[]));target._d3options=nv.utils.arrayUnique(d3ops.concat(target._d3options||[]))};nv.utils.initSVG=function(svg){svg.classed({"nvd3-svg":true})};nv.utils.sanitizeHeight=function(height,container){return height||parseInt(container.style("height"),10)||400};nv.utils.sanitizeWidth=function(width,container){return width||parseInt(container.style("width"),10)||960};nv.utils.availableHeight=function(height,container,margin){return nv.utils.sanitizeHeight(height,container)-margin.top-margin.bottom};nv.utils.availableWidth=function(width,container,margin){return nv.utils.sanitizeWidth(width,container)-margin.left-margin.right};nv.utils.noData=function(chart,container){var opt=chart.options(),margin=opt.margin(),noData=opt.noData(),data=noData==null?["No Data Available."]:[noData],height=nv.utils.availableHeight(opt.height(),container,margin),width=nv.utils.availableWidth(opt.width(),container,margin),x=margin.left+width/2,y=margin.top+height/2;container.selectAll("g").remove();var noDataText=container.selectAll(".nv-noData").data(data);noDataText.enter().append("text").attr("class","nvd3 nv-noData").attr("dy","-.7em").style("text-anchor","middle");noDataText.attr("x",x).attr("y",y).text(function(t){return t})};nv.models.axis=function(){"use strict";var axis=d3.svg.axis();var scale=d3.scale.linear();var margin={top:0,right:0,bottom:0,left:0},width=75,height=60,axisLabelText=null,showMaxMin=true,rotateLabels=0,rotateYLabel=true,staggerLabels=false,isOrdinal=false,ticks=null,axisLabelDistance=0,duration=250,dispatch=d3.dispatch("renderEnd");axis.scale(scale).orient("bottom").tickFormat(function(d){return d});var scale0;var renderWatch=nv.utils.renderWatch(dispatch,duration);function chart(selection){renderWatch.reset();selection.each(function(data){var container=d3.select(this);nv.utils.initSVG(container);var wrap=container.selectAll("g.nv-wrap.nv-axis").data([data]);var wrapEnter=wrap.enter().append("g").attr("class","nvd3 nv-wrap nv-axis");var gEnter=wrapEnter.append("g");var g=wrap.select("g");if(ticks!==null)axis.ticks(ticks);else if(axis.orient()=="top"||axis.orient()=="bottom")axis.ticks(Math.abs(scale.range()[1]-scale.range()[0])/100);g.watchTransition(renderWatch,"axis").call(axis);scale0=scale0||axis.scale();var fmt=axis.tickFormat();if(fmt==null){fmt=scale0.tickFormat()}var axisLabel=g.selectAll("text.nv-axislabel").data([axisLabelText||null]);axisLabel.exit().remove();var xLabelMargin;var axisMaxMin;var w;switch(axis.orient()){case"top":axisLabel.enter().append("text").attr("class","nv-axislabel");if(scale.range().length<2){w=0}else if(scale.range().length===2){w=scale.range()[1]}else{w=scale.range()[scale.range().length-1]+(scale.range()[1]-scale.range()[0])}axisLabel.attr("text-anchor","middle").attr("y",0).attr("x",w/2);if(showMaxMin){axisMaxMin=wrap.selectAll("g.nv-axisMaxMin").data(scale.domain());axisMaxMin.enter().append("g").attr("class",function(d,i){return["nv-axisMaxMin","nv-axisMaxMin-x",i==0?"nv-axisMin-x":"nv-axisMax-x"].join(" ")}).append("text");axisMaxMin.exit().remove();axisMaxMin.attr("transform",function(d,i){return"translate("+nv.utils.NaNtoZero(scale(d))+",0)"}).select("text").attr("dy","-0.5em").attr("y",-axis.tickPadding()).attr("text-anchor","middle").text(function(d,i){var v=fmt(d);return(""+v).match("NaN")?"":v});axisMaxMin.watchTransition(renderWatch,"min-max top").attr("transform",function(d,i){return"translate("+nv.utils.NaNtoZero(scale.range()[i])+",0)"})}break;case"bottom":xLabelMargin=axisLabelDistance+36;var maxTextWidth=30;var textHeight=0;var xTicks=g.selectAll("g").select("text");var rotateLabelsRule="";if(rotateLabels%360){xTicks.each(function(d,i){var box=this.getBoundingClientRect();var width=box.width;textHeight=box.height;if(width>maxTextWidth)maxTextWidth=width});rotateLabelsRule="rotate("+rotateLabels+" 0,"+(textHeight/2+axis.tickPadding())+")";var sin=Math.abs(Math.sin(rotateLabels*Math.PI/180));xLabelMargin=(sin?sin*maxTextWidth:maxTextWidth)+30;xTicks.attr("transform",rotateLabelsRule).style("text-anchor",rotateLabels%360>0?"start":"end")}axisLabel.enter().append("text").attr("class","nv-axislabel");if(scale.range().length<2){w=0}else if(scale.range().length===2){w=scale.range()[1]}else{w=scale.range()[scale.range().length-1]+(scale.range()[1]-scale.range()[0])}axisLabel.attr("text-anchor","middle").attr("y",xLabelMargin).attr("x",w/2);if(showMaxMin){axisMaxMin=wrap.selectAll("g.nv-axisMaxMin").data([scale.domain()[0],scale.domain()[scale.domain().length-1]]);axisMaxMin.enter().append("g").attr("class",function(d,i){return["nv-axisMaxMin","nv-axisMaxMin-x",i==0?"nv-axisMin-x":"nv-axisMax-x"].join(" ")}).append("text");axisMaxMin.exit().remove();axisMaxMin.attr("transform",function(d,i){return"translate("+nv.utils.NaNtoZero(scale(d)+(isOrdinal?scale.rangeBand()/2:0))+",0)"}).select("text").attr("dy",".71em").attr("y",axis.tickPadding()).attr("transform",rotateLabelsRule).style("text-anchor",rotateLabels?rotateLabels%360>0?"start":"end":"middle").text(function(d,i){var v=fmt(d);return(""+v).match("NaN")?"":v});axisMaxMin.watchTransition(renderWatch,"min-max bottom").attr("transform",function(d,i){return"translate("+nv.utils.NaNtoZero(scale(d)+(isOrdinal?scale.rangeBand()/2:0))+",0)"})}if(staggerLabels)xTicks.attr("transform",function(d,i){return"translate(0,"+(i%2==0?"0":"12")+")"});break;case"right":axisLabel.enter().append("text").attr("class","nv-axislabel");axisLabel.style("text-anchor",rotateYLabel?"middle":"begin").attr("transform",rotateYLabel?"rotate(90)":"").attr("y",rotateYLabel?-Math.max(margin.right,width)+12:-10).attr("x",rotateYLabel?d3.max(scale.range())/2:axis.tickPadding());if(showMaxMin){axisMaxMin=wrap.selectAll("g.nv-axisMaxMin").data(scale.domain());axisMaxMin.enter().append("g").attr("class",function(d,i){return["nv-axisMaxMin","nv-axisMaxMin-y",i==0?"nv-axisMin-y":"nv-axisMax-y"].join(" ")}).append("text").style("opacity",0);axisMaxMin.exit().remove();axisMaxMin.attr("transform",function(d,i){return"translate(0,"+nv.utils.NaNtoZero(scale(d))+")"}).select("text").attr("dy",".32em").attr("y",0).attr("x",axis.tickPadding()).style("text-anchor","start").text(function(d,i){var v=fmt(d);return(""+v).match("NaN")?"":v});axisMaxMin.watchTransition(renderWatch,"min-max right").attr("transform",function(d,i){return"translate(0,"+nv.utils.NaNtoZero(scale.range()[i])+")"}).select("text").style("opacity",1)}break;case"left":axisLabel.enter().append("text").attr("class","nv-axislabel");axisLabel.style("text-anchor",rotateYLabel?"middle":"end").attr("transform",rotateYLabel?"rotate(-90)":"").attr("y",rotateYLabel?-Math.max(margin.left,width)+25-(axisLabelDistance||0):-10).attr("x",rotateYLabel?-d3.max(scale.range())/2:-axis.tickPadding());if(showMaxMin){axisMaxMin=wrap.selectAll("g.nv-axisMaxMin").data(scale.domain());axisMaxMin.enter().append("g").attr("class",function(d,i){return["nv-axisMaxMin","nv-axisMaxMin-y",i==0?"nv-axisMin-y":"nv-axisMax-y"].join(" ")}).append("text").style("opacity",0);axisMaxMin.exit().remove();axisMaxMin.attr("transform",function(d,i){return"translate(0,"+nv.utils.NaNtoZero(scale0(d))+")"}).select("text").attr("dy",".32em").attr("y",0).attr("x",-axis.tickPadding()).attr("text-anchor","end").text(function(d,i){var v=fmt(d);return(""+v).match("NaN")?"":v});axisMaxMin.watchTransition(renderWatch,"min-max right").attr("transform",function(d,i){return"translate(0,"+nv.utils.NaNtoZero(scale.range()[i])+")"}).select("text").style("opacity",1)}break}axisLabel.text(function(d){return d});if(showMaxMin&&(axis.orient()==="left"||axis.orient()==="right")){g.selectAll("g").each(function(d,i){d3.select(this).select("text").attr("opacity",1);if(scale(d)<scale.range()[1]+10||scale(d)>scale.range()[0]-10){if(d>1e-10||d<-1e-10)d3.select(this).attr("opacity",0);d3.select(this).select("text").attr("opacity",0)}});if(scale.domain()[0]==scale.domain()[1]&&scale.domain()[0]==0){wrap.selectAll("g.nv-axisMaxMin").style("opacity",function(d,i){return!i?1:0})}}if(showMaxMin&&(axis.orient()==="top"||axis.orient()==="bottom")){var maxMinRange=[];wrap.selectAll("g.nv-axisMaxMin").each(function(d,i){try{if(i)maxMinRange.push(scale(d)-this.getBoundingClientRect().width-4);
+else maxMinRange.push(scale(d)+this.getBoundingClientRect().width+4)}catch(err){if(i)maxMinRange.push(scale(d)-4);else maxMinRange.push(scale(d)+4)}});g.selectAll("g").each(function(d,i){if(scale(d)<maxMinRange[0]||scale(d)>maxMinRange[1]){if(d>1e-10||d<-1e-10)d3.select(this).remove();else d3.select(this).select("text").remove()}})}g.selectAll(".tick").filter(function(d){return!parseFloat(Math.round(d*1e5)/1e6)&&d!==undefined}).classed("zero",true);scale0=scale.copy()});renderWatch.renderEnd("axis immediate");return chart}chart.axis=axis;chart.dispatch=dispatch;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{axisLabelDistance:{get:function(){return axisLabelDistance},set:function(_){axisLabelDistance=_}},staggerLabels:{get:function(){return staggerLabels},set:function(_){staggerLabels=_}},rotateLabels:{get:function(){return rotateLabels},set:function(_){rotateLabels=_}},rotateYLabel:{get:function(){return rotateYLabel},set:function(_){rotateYLabel=_}},showMaxMin:{get:function(){return showMaxMin},set:function(_){showMaxMin=_}},axisLabel:{get:function(){return axisLabelText},set:function(_){axisLabelText=_}},height:{get:function(){return height},set:function(_){height=_}},ticks:{get:function(){return ticks},set:function(_){ticks=_}},width:{get:function(){return width},set:function(_){width=_}},margin:{get:function(){return margin},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left}},duration:{get:function(){return duration},set:function(_){duration=_;renderWatch.reset(duration)}},scale:{get:function(){return scale},set:function(_){scale=_;axis.scale(scale);isOrdinal=typeof scale.rangeBands==="function";nv.utils.inheritOptionsD3(chart,scale,["domain","range","rangeBand","rangeBands"])}}});nv.utils.initOptions(chart);nv.utils.inheritOptionsD3(chart,axis,["orient","tickValues","tickSubdivide","tickSize","tickPadding","tickFormat"]);nv.utils.inheritOptionsD3(chart,scale,["domain","range","rangeBand","rangeBands"]);return chart};nv.models.boxPlot=function(){"use strict";var margin={top:0,right:0,bottom:0,left:0},width=960,height=500,id=Math.floor(Math.random()*1e4),x=d3.scale.ordinal(),y=d3.scale.linear(),getX=function(d){return d.x},getY=function(d){return d.y},color=nv.utils.defaultColor(),container=null,xDomain,yDomain,xRange,yRange,dispatch=d3.dispatch("elementMouseover","elementMouseout","elementMousemove","renderEnd"),duration=250,maxBoxWidth=null;var x0,y0;var renderWatch=nv.utils.renderWatch(dispatch,duration);function chart(selection){renderWatch.reset();selection.each(function(data){var availableWidth=width-margin.left-margin.right,availableHeight=height-margin.top-margin.bottom;container=d3.select(this);nv.utils.initSVG(container);x.domain(xDomain||data.map(function(d,i){return getX(d,i)})).rangeBands(xRange||[0,availableWidth],.1);var yData=[];if(!yDomain){var yMin=d3.min(data.map(function(d){var min_arr=[];min_arr.push(d.values.Q1);if(d.values.hasOwnProperty("whisker_low")&&d.values.whisker_low!==null){min_arr.push(d.values.whisker_low)}if(d.values.hasOwnProperty("outliers")&&d.values.outliers!==null){min_arr=min_arr.concat(d.values.outliers)}return d3.min(min_arr)}));var yMax=d3.max(data.map(function(d){var max_arr=[];max_arr.push(d.values.Q3);if(d.values.hasOwnProperty("whisker_high")&&d.values.whisker_high!==null){max_arr.push(d.values.whisker_high)}if(d.values.hasOwnProperty("outliers")&&d.values.outliers!==null){max_arr=max_arr.concat(d.values.outliers)}return d3.max(max_arr)}));yData=[yMin,yMax]}y.domain(yDomain||yData);y.range(yRange||[availableHeight,0]);x0=x0||x;y0=y0||y.copy().range([y(0),y(0)]);var wrap=container.selectAll("g.nv-wrap").data([data]);var wrapEnter=wrap.enter().append("g").attr("class","nvd3 nv-wrap");wrap.attr("transform","translate("+margin.left+","+margin.top+")");var boxplots=wrap.selectAll(".nv-boxplot").data(function(d){return d});var boxEnter=boxplots.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6);boxplots.attr("class","nv-boxplot").attr("transform",function(d,i,j){return"translate("+(x(getX(d,i))+x.rangeBand()*.05)+", 0)"}).classed("hover",function(d){return d.hover});boxplots.watchTransition(renderWatch,"nv-boxplot: boxplots").style("stroke-opacity",1).style("fill-opacity",.75).delay(function(d,i){return i*duration/data.length}).attr("transform",function(d,i){return"translate("+(x(getX(d,i))+x.rangeBand()*.05)+", 0)"});boxplots.exit().remove();boxEnter.each(function(d,i){var box=d3.select(this);["low","high"].forEach(function(key){if(d.values.hasOwnProperty("whisker_"+key)&&d.values["whisker_"+key]!==null){box.append("line").style("stroke",d.color?d.color:color(d,i)).attr("class","nv-boxplot-whisker nv-boxplot-"+key);box.append("line").style("stroke",d.color?d.color:color(d,i)).attr("class","nv-boxplot-tick nv-boxplot-"+key)}})});var outliers=boxplots.selectAll(".nv-boxplot-outlier").data(function(d){if(d.values.hasOwnProperty("outliers")&&d.values.outliers!==null){return d.values.outliers}else{return[]}});outliers.enter().append("circle").style("fill",function(d,i,j){return color(d,j)}).style("stroke",function(d,i,j){return color(d,j)}).on("mouseover",function(d,i,j){d3.select(this).classed("hover",true);dispatch.elementMouseover({series:{key:d,color:color(d,j)},e:d3.event})}).on("mouseout",function(d,i,j){d3.select(this).classed("hover",false);dispatch.elementMouseout({series:{key:d,color:color(d,j)},e:d3.event})}).on("mousemove",function(d,i){dispatch.elementMousemove({e:d3.event})});outliers.attr("class","nv-boxplot-outlier");outliers.watchTransition(renderWatch,"nv-boxplot: nv-boxplot-outlier").attr("cx",x.rangeBand()*.45).attr("cy",function(d,i,j){return y(d)}).attr("r","3");outliers.exit().remove();var box_width=function(){return maxBoxWidth===null?x.rangeBand()*.9:Math.min(75,x.rangeBand()*.9)};var box_left=function(){return x.rangeBand()*.45-box_width()/2};var box_right=function(){return x.rangeBand()*.45+box_width()/2};["low","high"].forEach(function(key){var endpoint=key==="low"?"Q1":"Q3";boxplots.select("line.nv-boxplot-whisker.nv-boxplot-"+key).watchTransition(renderWatch,"nv-boxplot: boxplots").attr("x1",x.rangeBand()*.45).attr("y1",function(d,i){return y(d.values["whisker_"+key])}).attr("x2",x.rangeBand()*.45).attr("y2",function(d,i){return y(d.values[endpoint])});boxplots.select("line.nv-boxplot-tick.nv-boxplot-"+key).watchTransition(renderWatch,"nv-boxplot: boxplots").attr("x1",box_left).attr("y1",function(d,i){return y(d.values["whisker_"+key])}).attr("x2",box_right).attr("y2",function(d,i){return y(d.values["whisker_"+key])})});["low","high"].forEach(function(key){boxEnter.selectAll(".nv-boxplot-"+key).on("mouseover",function(d,i,j){d3.select(this).classed("hover",true);dispatch.elementMouseover({series:{key:d.values["whisker_"+key],color:color(d,j)},e:d3.event})}).on("mouseout",function(d,i,j){d3.select(this).classed("hover",false);dispatch.elementMouseout({series:{key:d.values["whisker_"+key],color:color(d,j)},e:d3.event})}).on("mousemove",function(d,i){dispatch.elementMousemove({e:d3.event})})});boxEnter.append("rect").attr("class","nv-boxplot-box").on("mouseover",function(d,i){d3.select(this).classed("hover",true);dispatch.elementMouseover({key:d.label,value:d.label,series:[{key:"Q3",value:d.values.Q3,color:d.color||color(d,i)},{key:"Q2",value:d.values.Q2,color:d.color||color(d,i)},{key:"Q1",value:d.values.Q1,color:d.color||color(d,i)}],data:d,index:i,e:d3.event})}).on("mouseout",function(d,i){d3.select(this).classed("hover",false);dispatch.elementMouseout({key:d.label,value:d.label,series:[{key:"Q3",value:d.values.Q3,color:d.color||color(d,i)},{key:"Q2",value:d.values.Q2,color:d.color||color(d,i)},{key:"Q1",value:d.values.Q1,color:d.color||color(d,i)}],data:d,index:i,e:d3.event})}).on("mousemove",function(d,i){dispatch.elementMousemove({e:d3.event})});boxplots.select("rect.nv-boxplot-box").watchTransition(renderWatch,"nv-boxplot: boxes").attr("y",function(d,i){return y(d.values.Q3)}).attr("width",box_width).attr("x",box_left).attr("height",function(d,i){return Math.abs(y(d.values.Q3)-y(d.values.Q1))||1}).style("fill",function(d,i){return d.color||color(d,i)}).style("stroke",function(d,i){return d.color||color(d,i)});boxEnter.append("line").attr("class","nv-boxplot-median");boxplots.select("line.nv-boxplot-median").watchTransition(renderWatch,"nv-boxplot: boxplots line").attr("x1",box_left).attr("y1",function(d,i){return y(d.values.Q2)}).attr("x2",box_right).attr("y2",function(d,i){return y(d.values.Q2)});x0=x.copy();y0=y.copy()});renderWatch.renderEnd("nv-boxplot immediate");return chart}chart.dispatch=dispatch;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{width:{get:function(){return width},set:function(_){width=_}},height:{get:function(){return height},set:function(_){height=_}},maxBoxWidth:{get:function(){return maxBoxWidth},set:function(_){maxBoxWidth=_}},x:{get:function(){return getX},set:function(_){getX=_}},y:{get:function(){return getY},set:function(_){getY=_}},xScale:{get:function(){return x},set:function(_){x=_}},yScale:{get:function(){return y},set:function(_){y=_}},xDomain:{get:function(){return xDomain},set:function(_){xDomain=_}},yDomain:{get:function(){return yDomain},set:function(_){yDomain=_}},xRange:{get:function(){return xRange},set:function(_){xRange=_}},yRange:{get:function(){return yRange},set:function(_){yRange=_}},id:{get:function(){return id},set:function(_){id=_}},margin:{get:function(){return margin},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left}},color:{get:function(){return color},set:function(_){color=nv.utils.getColor(_)}},duration:{get:function(){return duration},set:function(_){duration=_;renderWatch.reset(duration)}}});nv.utils.initOptions(chart);return chart};nv.models.boxPlotChart=function(){"use strict";var boxplot=nv.models.boxPlot(),xAxis=nv.models.axis(),yAxis=nv.models.axis();var margin={top:15,right:10,bottom:50,left:60},width=null,height=null,color=nv.utils.getColor(),showXAxis=true,showYAxis=true,rightAlignYAxis=false,staggerLabels=false,tooltip=nv.models.tooltip(),x,y,noData="No Data Available.",dispatch=d3.dispatch("tooltipShow","tooltipHide","beforeUpdate","renderEnd"),duration=250;xAxis.orient("bottom").showMaxMin(false).tickFormat(function(d){return d});yAxis.orient(rightAlignYAxis?"right":"left").tickFormat(d3.format(",.1f"));tooltip.duration(0);var renderWatch=nv.utils.renderWatch(dispatch,duration);function chart(selection){renderWatch.reset();renderWatch.models(boxplot);if(showXAxis)renderWatch.models(xAxis);if(showYAxis)renderWatch.models(yAxis);selection.each(function(data){var container=d3.select(this),that=this;nv.utils.initSVG(container);var availableWidth=(width||parseInt(container.style("width"))||960)-margin.left-margin.right,availableHeight=(height||parseInt(container.style("height"))||400)-margin.top-margin.bottom;chart.update=function(){dispatch.beforeUpdate();container.transition().duration(duration).call(chart)};chart.container=this;if(!data||!data.length||!data.filter(function(d){return d.values.hasOwnProperty("Q1")&&d.values.hasOwnProperty("Q2")&&d.values.hasOwnProperty("Q3")}).length){var noDataText=container.selectAll(".nv-noData").data([noData]);noDataText.enter().append("text").attr("class","nvd3 nv-noData").attr("dy","-.7em").style("text-anchor","middle");noDataText.attr("x",margin.left+availableWidth/2).attr("y",margin.top+availableHeight/2).text(function(d){return d});return chart}else{container.selectAll(".nv-noData").remove()}x=boxplot.xScale();y=boxplot.yScale().clamp(true);var wrap=container.selectAll("g.nv-wrap.nv-boxPlotWithAxes").data([data]);var gEnter=wrap.enter().append("g").attr("class","nvd3 nv-wrap nv-boxPlotWithAxes").append("g");var defsEnter=gEnter.append("defs");var g=wrap.select("g");gEnter.append("g").attr("class","nv-x nv-axis");gEnter.append("g").attr("class","nv-y nv-axis").append("g").attr("class","nv-zeroLine").append("line");gEnter.append("g").attr("class","nv-barsWrap");g.attr("transform","translate("+margin.left+","+margin.top+")");if(rightAlignYAxis){g.select(".nv-y.nv-axis").attr("transform","translate("+availableWidth+",0)")}boxplot.width(availableWidth).height(availableHeight);var barsWrap=g.select(".nv-barsWrap").datum(data.filter(function(d){return!d.disabled}));barsWrap.transition().call(boxplot);defsEnter.append("clipPath").attr("id","nv-x-label-clip-"+boxplot.id()).append("rect");g.select("#nv-x-label-clip-"+boxplot.id()+" rect").attr("width",x.rangeBand()*(staggerLabels?2:1)).attr("height",16).attr("x",-x.rangeBand()/(staggerLabels?1:2));if(showXAxis){xAxis.scale(x).ticks(nv.utils.calcTicksX(availableWidth/100,data)).tickSize(-availableHeight,0);g.select(".nv-x.nv-axis").attr("transform","translate(0,"+y.range()[0]+")");g.select(".nv-x.nv-axis").call(xAxis);var xTicks=g.select(".nv-x.nv-axis").selectAll("g");if(staggerLabels){xTicks.selectAll("text").attr("transform",function(d,i,j){return"translate(0,"+(j%2==0?"5":"17")+")"})}}if(showYAxis){yAxis.scale(y).ticks(Math.floor(availableHeight/36)).tickSize(-availableWidth,0);g.select(".nv-y.nv-axis").call(yAxis)}g.select(".nv-zeroLine line").attr("x1",0).attr("x2",availableWidth).attr("y1",y(0)).attr("y2",y(0))});renderWatch.renderEnd("nv-boxplot chart immediate");return chart}boxplot.dispatch.on("elementMouseover.tooltip",function(evt){tooltip.data(evt).hidden(false)});boxplot.dispatch.on("elementMouseout.tooltip",function(evt){tooltip.data(evt).hidden(true)});boxplot.dispatch.on("elementMousemove.tooltip",function(evt){tooltip.position({top:d3.event.pageY,left:d3.event.pageX})()});chart.dispatch=dispatch;chart.boxplot=boxplot;chart.xAxis=xAxis;chart.yAxis=yAxis;chart.tooltip=tooltip;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{width:{get:function(){return width},set:function(_){width=_}},height:{get:function(){return height},set:function(_){height=_}},staggerLabels:{get:function(){return staggerLabels},set:function(_){staggerLabels=_}},showXAxis:{get:function(){return showXAxis},set:function(_){showXAxis=_}},showYAxis:{get:function(){return showYAxis},set:function(_){showYAxis=_}},tooltips:{get:function(){return tooltips},set:function(_){tooltips=_}},tooltipContent:{get:function(){return tooltip},set:function(_){tooltip=_}},noData:{get:function(){return noData},set:function(_){noData=_}},margin:{get:function(){return margin},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left}},duration:{get:function(){return duration},set:function(_){duration=_;renderWatch.reset(duration);boxplot.duration(duration);xAxis.duration(duration);yAxis.duration(duration)}},color:{get:function(){return color},set:function(_){color=nv.utils.getColor(_);boxplot.color(color)}},rightAlignYAxis:{get:function(){return rightAlignYAxis},set:function(_){rightAlignYAxis=_;yAxis.orient(_?"right":"left")}}});nv.utils.inheritOptions(chart,boxplot);nv.utils.initOptions(chart);return chart};nv.models.bullet=function(){"use strict";var margin={top:0,right:0,bottom:0,left:0},orient="left",reverse=false,ranges=function(d){return d.ranges},markers=function(d){return d.markers?d.markers:[0]},measures=function(d){return d.measures},rangeLabels=function(d){return d.rangeLabels?d.rangeLabels:[]},markerLabels=function(d){return d.markerLabels?d.markerLabels:[]},measureLabels=function(d){return d.measureLabels?d.measureLabels:[]},forceX=[0],width=380,height=30,container=null,tickFormat=null,color=nv.utils.getColor(["#1f77b4"]),dispatch=d3.dispatch("elementMouseover","elementMouseout","elementMousemove");function chart(selection){selection.each(function(d,i){var availableWidth=width-margin.left-margin.right,availableHeight=height-margin.top-margin.bottom;container=d3.select(this);nv.utils.initSVG(container);var rangez=ranges.call(this,d,i).slice().sort(d3.descending),markerz=markers.call(this,d,i).slice().sort(d3.descending),measurez=measures.call(this,d,i).slice().sort(d3.descending),rangeLabelz=rangeLabels.call(this,d,i).slice(),markerLabelz=markerLabels.call(this,d,i).slice(),measureLabelz=measureLabels.call(this,d,i).slice();var x1=d3.scale.linear().domain(d3.extent(d3.merge([forceX,rangez]))).range(reverse?[availableWidth,0]:[0,availableWidth]);var x0=this.__chart__||d3.scale.linear().domain([0,Infinity]).range(x1.range());this.__chart__=x1;var rangeMin=d3.min(rangez),rangeMax=d3.max(rangez),rangeAvg=rangez[1];var wrap=container.selectAll("g.nv-wrap.nv-bullet").data([d]);var wrapEnter=wrap.enter().append("g").attr("class","nvd3 nv-wrap nv-bullet");var gEnter=wrapEnter.append("g");var g=wrap.select("g");gEnter.append("rect").attr("class","nv-range nv-rangeMax");gEnter.append("rect").attr("class","nv-range nv-rangeAvg");gEnter.append("rect").attr("class","nv-range nv-rangeMin");gEnter.append("rect").attr("class","nv-measure");wrap.attr("transform","translate("+margin.left+","+margin.top+")");var w0=function(d){return Math.abs(x0(d)-x0(0))},w1=function(d){return Math.abs(x1(d)-x1(0))};var xp0=function(d){return d<0?x0(d):x0(0)},xp1=function(d){return d<0?x1(d):x1(0)};g.select("rect.nv-rangeMax").attr("height",availableHeight).attr("width",w1(rangeMax>0?rangeMax:rangeMin)).attr("x",xp1(rangeMax>0?rangeMax:rangeMin)).datum(rangeMax>0?rangeMax:rangeMin);g.select("rect.nv-rangeAvg").attr("height",availableHeight).attr("width",w1(rangeAvg)).attr("x",xp1(rangeAvg)).datum(rangeAvg);g.select("rect.nv-rangeMin").attr("height",availableHeight).attr("width",w1(rangeMax)).attr("x",xp1(rangeMax)).attr("width",w1(rangeMax>0?rangeMin:rangeMax)).attr("x",xp1(rangeMax>0?rangeMin:rangeMax)).datum(rangeMax>0?rangeMin:rangeMax);g.select("rect.nv-measure").style("fill",color).attr("height",availableHeight/3).attr("y",availableHeight/3).attr("width",measurez<0?x1(0)-x1(measurez[0]):x1(measurez[0])-x1(0)).attr("x",xp1(measurez)).on("mouseover",function(){dispatch.elementMouseover({value:measurez[0],label:measureLabelz[0]||"Current",color:d3.select(this).style("fill")})}).on("mousemove",function(){dispatch.elementMousemove({value:measurez[0],label:measureLabelz[0]||"Current",color:d3.select(this).style("fill")})}).on("mouseout",function(){dispatch.elementMouseout({value:measurez[0],label:measureLabelz[0]||"Current",color:d3.select(this).style("fill")})});var h3=availableHeight/6;var markerData=markerz.map(function(marker,index){return{value:marker,label:markerLabelz[index]}});gEnter.selectAll("path.nv-markerTriangle").data(markerData).enter().append("path").attr("class","nv-markerTriangle").attr("transform",function(d){return"translate("+x1(d.value)+","+availableHeight/2+")"}).attr("d","M0,"+h3+"L"+h3+","+-h3+" "+-h3+","+-h3+"Z").on("mouseover",function(d){dispatch.elementMouseover({value:d.value,label:d.label||"Previous",color:d3.select(this).style("fill"),pos:[x1(d.value),availableHeight/2]})}).on("mousemove",function(d){dispatch.elementMousemove({value:d.value,label:d.label||"Previous",color:d3.select(this).style("fill")})}).on("mouseout",function(d,i){dispatch.elementMouseout({value:d.value,label:d.label||"Previous",color:d3.select(this).style("fill")})});wrap.selectAll(".nv-range").on("mouseover",function(d,i){var label=rangeLabelz[i]||(!i?"Maximum":i==1?"Mean":"Minimum");dispatch.elementMouseover({value:d,label:label,color:d3.select(this).style("fill")})}).on("mousemove",function(){dispatch.elementMousemove({value:measurez[0],label:measureLabelz[0]||"Previous",color:d3.select(this).style("fill")})}).on("mouseout",function(d,i){var label=rangeLabelz[i]||(!i?"Maximum":i==1?"Mean":"Minimum");dispatch.elementMouseout({value:d,label:label,color:d3.select(this).style("fill")})})});return chart}chart.dispatch=dispatch;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{ranges:{get:function(){return ranges},set:function(_){ranges=_}},markers:{get:function(){return markers},set:function(_){markers=_}},measures:{get:function(){return measures},set:function(_){measures=_}},forceX:{get:function(){return forceX},set:function(_){forceX=_}},width:{get:function(){return width},set:function(_){width=_}},height:{get:function(){return height},set:function(_){height=_}},tickFormat:{get:function(){return tickFormat},set:function(_){tickFormat=_}},margin:{get:function(){return margin},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left}},orient:{get:function(){return orient},set:function(_){orient=_;reverse=orient=="right"||orient=="bottom"}},color:{get:function(){return color},set:function(_){color=nv.utils.getColor(_)}}});nv.utils.initOptions(chart);return chart};nv.models.bulletChart=function(){"use strict";var bullet=nv.models.bullet();var tooltip=nv.models.tooltip();var orient="left",reverse=false,margin={top:5,right:40,bottom:20,left:120},ranges=function(d){return d.ranges},markers=function(d){return d.markers?d.markers:[0]},measures=function(d){return d.measures},width=null,height=55,tickFormat=null,ticks=null,noData=null,dispatch=d3.dispatch("tooltipShow","tooltipHide");tooltip.duration(0).headerEnabled(false);function chart(selection){selection.each(function(d,i){var container=d3.select(this);nv.utils.initSVG(container);var availableWidth=nv.utils.availableWidth(width,container,margin),availableHeight=height-margin.top-margin.bottom,that=this;chart.update=function(){chart(selection)};chart.container=this;if(!d||!ranges.call(this,d,i)){nv.utils.noData(chart,container);return chart}else{container.selectAll(".nv-noData").remove()}var rangez=ranges.call(this,d,i).slice().sort(d3.descending),markerz=markers.call(this,d,i).slice().sort(d3.descending),measurez=measures.call(this,d,i).slice().sort(d3.descending);var wrap=container.selectAll("g.nv-wrap.nv-bulletChart").data([d]);var wrapEnter=wrap.enter().append("g").attr("class","nvd3 nv-wrap nv-bulletChart");var gEnter=wrapEnter.append("g");var g=wrap.select("g");gEnter.append("g").attr("class","nv-bulletWrap");gEnter.append("g").attr("class","nv-titles");wrap.attr("transform","translate("+margin.left+","+margin.top+")");var x1=d3.scale.linear().domain([0,Math.max(rangez[0],markerz[0],measurez[0])]).range(reverse?[availableWidth,0]:[0,availableWidth]);var x0=this.__chart__||d3.scale.linear().domain([0,Infinity]).range(x1.range());this.__chart__=x1;var w0=function(d){return Math.abs(x0(d)-x0(0))},w1=function(d){return Math.abs(x1(d)-x1(0))};var title=gEnter.select(".nv-titles").append("g").attr("text-anchor","end").attr("transform","translate(-6,"+(height-margin.top-margin.bottom)/2+")");title.append("text").attr("class","nv-title").text(function(d){return d.title});title.append("text").attr("class","nv-subtitle").attr("dy","1em").text(function(d){return d.subtitle});bullet.width(availableWidth).height(availableHeight);var bulletWrap=g.select(".nv-bulletWrap");d3.transition(bulletWrap).call(bullet);var format=tickFormat||x1.tickFormat(availableWidth/100);var tick=g.selectAll("g.nv-tick").data(x1.ticks(ticks?ticks:availableWidth/50),function(d){return this.textContent||format(d)});var tickEnter=tick.enter().append("g").attr("class","nv-tick").attr("transform",function(d){return"translate("+x0(d)+",0)"}).style("opacity",1e-6);tickEnter.append("line").attr("y1",availableHeight).attr("y2",availableHeight*7/6);tickEnter.append("text").attr("text-anchor","middle").attr("dy","1em").attr("y",availableHeight*7/6).text(format);var tickUpdate=d3.transition(tick).attr("transform",function(d){return"translate("+x1(d)+",0)"}).style("opacity",1);tickUpdate.select("line").attr("y1",availableHeight).attr("y2",availableHeight*7/6);tickUpdate.select("text").attr("y",availableHeight*7/6);d3.transition(tick.exit()).attr("transform",function(d){return"translate("+x1(d)+",0)"}).style("opacity",1e-6).remove()});d3.timer.flush();return chart}bullet.dispatch.on("elementMouseover.tooltip",function(evt){evt["series"]={key:evt.label,value:evt.value,color:evt.color};tooltip.data(evt).hidden(false)});bullet.dispatch.on("elementMouseout.tooltip",function(evt){tooltip.hidden(true)});bullet.dispatch.on("elementMousemove.tooltip",function(evt){tooltip.position({top:d3.event.pageY,left:d3.event.pageX})()});chart.bullet=bullet;chart.dispatch=dispatch;chart.tooltip=tooltip;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{ranges:{get:function(){return ranges},set:function(_){ranges=_}},markers:{get:function(){return markers},set:function(_){markers=_}},measures:{get:function(){return measures},set:function(_){measures=_}},width:{get:function(){return width},set:function(_){width=_}},height:{get:function(){return height},set:function(_){height=_}},tickFormat:{get:function(){return tickFormat},set:function(_){tickFormat=_}},ticks:{get:function(){return ticks},set:function(_){ticks=_}},noData:{get:function(){return noData},set:function(_){noData=_}},tooltips:{get:function(){return tooltip.enabled()},set:function(_){nv.deprecated("tooltips","use chart.tooltip.enabled() instead");tooltip.enabled(!!_)}},tooltipContent:{get:function(){return tooltip.contentGenerator()},set:function(_){nv.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead");tooltip.contentGenerator(_)}},margin:{get:function(){return margin},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left}},orient:{get:function(){return orient},set:function(_){orient=_;reverse=orient=="right"||orient=="bottom"}}});nv.utils.inheritOptions(chart,bullet);nv.utils.initOptions(chart);return chart};nv.models.candlestickBar=function(){"use strict";var margin={top:0,right:0,bottom:0,left:0},width=null,height=null,id=Math.floor(Math.random()*1e4),container,x=d3.scale.linear(),y=d3.scale.linear(),getX=function(d){return d.x},getY=function(d){return d.y},getOpen=function(d){return d.open},getClose=function(d){return d.close},getHigh=function(d){return d.high},getLow=function(d){return d.low},forceX=[],forceY=[],padData=false,clipEdge=true,color=nv.utils.defaultColor(),interactive=false,xDomain,yDomain,xRange,yRange,dispatch=d3.dispatch("tooltipShow","tooltipHide","stateChange","changeState","renderEnd","chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove");function chart(selection){selection.each(function(data){container=d3.select(this);var availableWidth=nv.utils.availableWidth(width,container,margin),availableHeight=nv.utils.availableHeight(height,container,margin);nv.utils.initSVG(container);var barWidth=availableWidth/data[0].values.length*.45;x.domain(xDomain||d3.extent(data[0].values.map(getX).concat(forceX)));if(padData)x.range(xRange||[availableWidth*.5/data[0].values.length,availableWidth*(data[0].values.length-.5)/data[0].values.length]);else x.range(xRange||[5+barWidth/2,availableWidth-barWidth/2-5]);y.domain(yDomain||[d3.min(data[0].values.map(getLow).concat(forceY)),d3.max(data[0].values.map(getHigh).concat(forceY))]).range(yRange||[availableHeight,0]);if(x.domain()[0]===x.domain()[1])x.domain()[0]?x.domain([x.domain()[0]-x.domain()[0]*.01,x.domain()[1]+x.domain()[1]*.01]):x.domain([-1,1]);if(y.domain()[0]===y.domain()[1])y.domain()[0]?y.domain([y.domain()[0]+y.domain()[0]*.01,y.domain()[1]-y.domain()[1]*.01]):y.domain([-1,1]);var wrap=d3.select(this).selectAll("g.nv-wrap.nv-candlestickBar").data([data[0].values]);var wrapEnter=wrap.enter().append("g").attr("class","nvd3 nv-wrap nv-candlestickBar");var defsEnter=wrapEnter.append("defs");var gEnter=wrapEnter.append("g");var g=wrap.select("g");gEnter.append("g").attr("class","nv-ticks");wrap.attr("transform","translate("+margin.left+","+margin.top+")");container.on("click",function(d,i){dispatch.chartClick({data:d,index:i,pos:d3.event,id:id})});defsEnter.append("clipPath").attr("id","nv-chart-clip-path-"+id).append("rect");wrap.select("#nv-chart-clip-path-"+id+" rect").attr("width",availableWidth).attr("height",availableHeight);g.attr("clip-path",clipEdge?"url(#nv-chart-clip-path-"+id+")":"");var ticks=wrap.select(".nv-ticks").selectAll(".nv-tick").data(function(d){return d});ticks.exit().remove();var tickGroups=ticks.enter().append("g").attr("class",function(d,i,j){return(getOpen(d,i)>getClose(d,i)?"nv-tick negative":"nv-tick positive")+" nv-tick-"+j+"-"+i});var lines=tickGroups.append("line").attr("class","nv-candlestick-lines").attr("transform",function(d,i){return"translate("+x(getX(d,i))+",0)"}).attr("x1",0).attr("y1",function(d,i){return y(getHigh(d,i))}).attr("x2",0).attr("y2",function(d,i){return y(getLow(d,i))});var rects=tickGroups.append("rect").attr("class","nv-candlestick-rects nv-bars").attr("transform",function(d,i){return"translate("+(x(getX(d,i))-barWidth/2)+","+(y(getY(d,i))-(getOpen(d,i)>getClose(d,i)?y(getClose(d,i))-y(getOpen(d,i)):0))+")"}).attr("x",0).attr("y",0).attr("width",barWidth).attr("height",function(d,i){var open=getOpen(d,i);var close=getClose(d,i);return open>close?y(close)-y(open):y(open)-y(close)});container.selectAll(".nv-candlestick-lines").transition().attr("transform",function(d,i){return"translate("+x(getX(d,i))+",0)"}).attr("x1",0).attr("y1",function(d,i){return y(getHigh(d,i))}).attr("x2",0).attr("y2",function(d,i){return y(getLow(d,i))});container.selectAll(".nv-candlestick-rects").transition().attr("transform",function(d,i){return"translate("+(x(getX(d,i))-barWidth/2)+","+(y(getY(d,i))-(getOpen(d,i)>getClose(d,i)?y(getClose(d,i))-y(getOpen(d,i)):0))+")"}).attr("x",0).attr("y",0).attr("width",barWidth).attr("height",function(d,i){var open=getOpen(d,i);var close=getClose(d,i);return open>close?y(close)-y(open):y(open)-y(close)})});return chart}chart.highlightPoint=function(pointIndex,isHoverOver){chart.clearHighlights();container.select(".nv-candlestickBar .nv-tick-0-"+pointIndex).classed("hover",isHoverOver)};chart.clearHighlights=function(){container.select(".nv-candlestickBar .nv-tick.hover").classed("hover",false)};chart.dispatch=dispatch;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{width:{get:function(){return width},set:function(_){width=_}},height:{get:function(){return height},set:function(_){height=_}},xScale:{get:function(){return x},set:function(_){x=_}},yScale:{get:function(){return y},set:function(_){y=_}},xDomain:{get:function(){return xDomain},set:function(_){xDomain=_}},yDomain:{get:function(){return yDomain},set:function(_){yDomain=_}},xRange:{get:function(){return xRange},set:function(_){xRange=_}},yRange:{get:function(){return yRange},set:function(_){yRange=_}},forceX:{get:function(){return forceX},set:function(_){forceX=_}},forceY:{get:function(){return forceY},set:function(_){forceY=_}},padData:{get:function(){return padData},set:function(_){padData=_}},clipEdge:{get:function(){return clipEdge},set:function(_){clipEdge=_}},id:{get:function(){return id},set:function(_){id=_}},interactive:{get:function(){return interactive},set:function(_){interactive=_}},x:{get:function(){return getX},set:function(_){getX=_}},y:{get:function(){return getY},set:function(_){getY=_}},open:{get:function(){return getOpen()},set:function(_){getOpen=_}},close:{get:function(){return getClose()},set:function(_){getClose=_}},high:{get:function(){return getHigh},set:function(_){getHigh=_}},low:{get:function(){return getLow},set:function(_){getLow=_}},margin:{get:function(){return margin},set:function(_){margin.top=_.top!=undefined?_.top:margin.top;margin.right=_.right!=undefined?_.right:margin.right;
+margin.bottom=_.bottom!=undefined?_.bottom:margin.bottom;margin.left=_.left!=undefined?_.left:margin.left}},color:{get:function(){return color},set:function(_){color=nv.utils.getColor(_)}}});nv.utils.initOptions(chart);return chart};nv.models.cumulativeLineChart=function(){"use strict";var lines=nv.models.line(),xAxis=nv.models.axis(),yAxis=nv.models.axis(),legend=nv.models.legend(),controls=nv.models.legend(),interactiveLayer=nv.interactiveGuideline(),tooltip=nv.models.tooltip();var margin={top:30,right:30,bottom:50,left:60},color=nv.utils.defaultColor(),width=null,height=null,showLegend=true,showXAxis=true,showYAxis=true,rightAlignYAxis=false,showControls=true,useInteractiveGuideline=false,rescaleY=true,x,y,id=lines.id(),state=nv.utils.state(),defaultState=null,noData=null,average=function(d){return d.average},dispatch=d3.dispatch("stateChange","changeState","renderEnd"),transitionDuration=250,duration=250,noErrorCheck=false;state.index=0;state.rescaleY=rescaleY;xAxis.orient("bottom").tickPadding(7);yAxis.orient(rightAlignYAxis?"right":"left");tooltip.valueFormatter(function(d,i){return yAxis.tickFormat()(d,i)}).headerFormatter(function(d,i){return xAxis.tickFormat()(d,i)});controls.updateState(false);var dx=d3.scale.linear(),index={i:0,x:0},renderWatch=nv.utils.renderWatch(dispatch,duration);var stateGetter=function(data){return function(){return{active:data.map(function(d){return!d.disabled}),index:index.i,rescaleY:rescaleY}}};var stateSetter=function(data){return function(state){if(state.index!==undefined)index.i=state.index;if(state.rescaleY!==undefined)rescaleY=state.rescaleY;if(state.active!==undefined)data.forEach(function(series,i){series.disabled=!state.active[i]})}};function chart(selection){renderWatch.reset();renderWatch.models(lines);if(showXAxis)renderWatch.models(xAxis);if(showYAxis)renderWatch.models(yAxis);selection.each(function(data){var container=d3.select(this);nv.utils.initSVG(container);container.classed("nv-chart-"+id,true);var that=this;var availableWidth=nv.utils.availableWidth(width,container,margin),availableHeight=nv.utils.availableHeight(height,container,margin);chart.update=function(){if(duration===0)container.call(chart);else container.transition().duration(duration).call(chart)};chart.container=this;state.setter(stateSetter(data),chart.update).getter(stateGetter(data)).update();state.disabled=data.map(function(d){return!!d.disabled});if(!defaultState){var key;defaultState={};for(key in state){if(state[key]instanceof Array)defaultState[key]=state[key].slice(0);else defaultState[key]=state[key]}}var indexDrag=d3.behavior.drag().on("dragstart",dragStart).on("drag",dragMove).on("dragend",dragEnd);function dragStart(d,i){d3.select(chart.container).style("cursor","ew-resize")}function dragMove(d,i){index.x=d3.event.x;index.i=Math.round(dx.invert(index.x));updateZero()}function dragEnd(d,i){d3.select(chart.container).style("cursor","auto");state.index=index.i;dispatch.stateChange(state)}if(!data||!data.length||!data.filter(function(d){return d.values.length}).length){nv.utils.noData(chart,container);return chart}else{container.selectAll(".nv-noData").remove()}x=lines.xScale();y=lines.yScale();if(!rescaleY){var seriesDomains=data.filter(function(series){return!series.disabled}).map(function(series,i){var initialDomain=d3.extent(series.values,lines.y());if(initialDomain[0]<-.95)initialDomain[0]=-.95;return[(initialDomain[0]-initialDomain[1])/(1+initialDomain[1]),(initialDomain[1]-initialDomain[0])/(1+initialDomain[0])]});var completeDomain=[d3.min(seriesDomains,function(d){return d[0]}),d3.max(seriesDomains,function(d){return d[1]})];lines.yDomain(completeDomain)}else{lines.yDomain(null)}dx.domain([0,data[0].values.length-1]).range([0,availableWidth]).clamp(true);var data=indexify(index.i,data);var interactivePointerEvents=useInteractiveGuideline?"none":"all";var wrap=container.selectAll("g.nv-wrap.nv-cumulativeLine").data([data]);var gEnter=wrap.enter().append("g").attr("class","nvd3 nv-wrap nv-cumulativeLine").append("g");var g=wrap.select("g");gEnter.append("g").attr("class","nv-interactive");gEnter.append("g").attr("class","nv-x nv-axis").style("pointer-events","none");gEnter.append("g").attr("class","nv-y nv-axis");gEnter.append("g").attr("class","nv-background");gEnter.append("g").attr("class","nv-linesWrap").style("pointer-events",interactivePointerEvents);gEnter.append("g").attr("class","nv-avgLinesWrap").style("pointer-events","none");gEnter.append("g").attr("class","nv-legendWrap");gEnter.append("g").attr("class","nv-controlsWrap");if(showLegend){legend.width(availableWidth);g.select(".nv-legendWrap").datum(data).call(legend);if(margin.top!=legend.height()){margin.top=legend.height();availableHeight=nv.utils.availableHeight(height,container,margin)}g.select(".nv-legendWrap").attr("transform","translate(0,"+-margin.top+")")}if(showControls){var controlsData=[{key:"Re-scale y-axis",disabled:!rescaleY}];controls.width(140).color(["#444","#444","#444"]).rightAlign(false).margin({top:5,right:0,bottom:5,left:20});g.select(".nv-controlsWrap").datum(controlsData).attr("transform","translate(0,"+-margin.top+")").call(controls)}wrap.attr("transform","translate("+margin.left+","+margin.top+")");if(rightAlignYAxis){g.select(".nv-y.nv-axis").attr("transform","translate("+availableWidth+",0)")}var tempDisabled=data.filter(function(d){return d.tempDisabled});wrap.select(".tempDisabled").remove();if(tempDisabled.length){wrap.append("text").attr("class","tempDisabled").attr("x",availableWidth/2).attr("y","-.71em").style("text-anchor","end").text(tempDisabled.map(function(d){return d.key}).join(", ")+" values cannot be calculated for this time period.")}if(useInteractiveGuideline){interactiveLayer.width(availableWidth).height(availableHeight).margin({left:margin.left,top:margin.top}).svgContainer(container).xScale(x);wrap.select(".nv-interactive").call(interactiveLayer)}gEnter.select(".nv-background").append("rect");g.select(".nv-background rect").attr("width",availableWidth).attr("height",availableHeight);lines.y(function(d){return d.display.y}).width(availableWidth).height(availableHeight).color(data.map(function(d,i){return d.color||color(d,i)}).filter(function(d,i){return!data[i].disabled&&!data[i].tempDisabled}));var linesWrap=g.select(".nv-linesWrap").datum(data.filter(function(d){return!d.disabled&&!d.tempDisabled}));linesWrap.call(lines);data.forEach(function(d,i){d.seriesIndex=i});var avgLineData=data.filter(function(d){return!d.disabled&&!!average(d)});var avgLines=g.select(".nv-avgLinesWrap").selectAll("line").data(avgLineData,function(d){return d.key});var getAvgLineY=function(d){var yVal=y(average(d));if(yVal<0)return 0;if(yVal>availableHeight)return availableHeight;return yVal};avgLines.enter().append("line").style("stroke-width",2).style("stroke-dasharray","10,10").style("stroke",function(d,i){return lines.color()(d,d.seriesIndex)}).attr("x1",0).attr("x2",availableWidth).attr("y1",getAvgLineY).attr("y2",getAvgLineY);avgLines.style("stroke-opacity",function(d){var yVal=y(average(d));if(yVal<0||yVal>availableHeight)return 0;return 1}).attr("x1",0).attr("x2",availableWidth).attr("y1",getAvgLineY).attr("y2",getAvgLineY);avgLines.exit().remove();var indexLine=linesWrap.selectAll(".nv-indexLine").data([index]);indexLine.enter().append("rect").attr("class","nv-indexLine").attr("width",3).attr("x",-2).attr("fill","red").attr("fill-opacity",.5).style("pointer-events","all").call(indexDrag);indexLine.attr("transform",function(d){return"translate("+dx(d.i)+",0)"}).attr("height",availableHeight);if(showXAxis){xAxis.scale(x)._ticks(nv.utils.calcTicksX(availableWidth/70,data)).tickSize(-availableHeight,0);g.select(".nv-x.nv-axis").attr("transform","translate(0,"+y.range()[0]+")");g.select(".nv-x.nv-axis").call(xAxis)}if(showYAxis){yAxis.scale(y)._ticks(nv.utils.calcTicksY(availableHeight/36,data)).tickSize(-availableWidth,0);g.select(".nv-y.nv-axis").call(yAxis)}function updateZero(){indexLine.data([index]);var oldDuration=chart.duration();chart.duration(0);chart.update();chart.duration(oldDuration)}g.select(".nv-background rect").on("click",function(){index.x=d3.mouse(this)[0];index.i=Math.round(dx.invert(index.x));state.index=index.i;dispatch.stateChange(state);updateZero()});lines.dispatch.on("elementClick",function(e){index.i=e.pointIndex;index.x=dx(index.i);state.index=index.i;dispatch.stateChange(state);updateZero()});controls.dispatch.on("legendClick",function(d,i){d.disabled=!d.disabled;rescaleY=!d.disabled;state.rescaleY=rescaleY;dispatch.stateChange(state);chart.update()});legend.dispatch.on("stateChange",function(newState){for(var key in newState)state[key]=newState[key];dispatch.stateChange(state);chart.update()});interactiveLayer.dispatch.on("elementMousemove",function(e){lines.clearHighlights();var singlePoint,pointIndex,pointXLocation,allData=[];data.filter(function(series,i){series.seriesIndex=i;return!series.disabled}).forEach(function(series,i){pointIndex=nv.interactiveBisect(series.values,e.pointXValue,chart.x());lines.highlightPoint(i,pointIndex,true);var point=series.values[pointIndex];if(typeof point==="undefined")return;if(typeof singlePoint==="undefined")singlePoint=point;if(typeof pointXLocation==="undefined")pointXLocation=chart.xScale()(chart.x()(point,pointIndex));allData.push({key:series.key,value:chart.y()(point,pointIndex),color:color(series,series.seriesIndex)})});if(allData.length>2){var yValue=chart.yScale().invert(e.mouseY);var domainExtent=Math.abs(chart.yScale().domain()[0]-chart.yScale().domain()[1]);var threshold=.03*domainExtent;var indexToHighlight=nv.nearestValueIndex(allData.map(function(d){return d.value}),yValue,threshold);if(indexToHighlight!==null)allData[indexToHighlight].highlight=true}var xValue=xAxis.tickFormat()(chart.x()(singlePoint,pointIndex),pointIndex);interactiveLayer.tooltip.position({left:pointXLocation+margin.left,top:e.mouseY+margin.top}).chartContainer(that.parentNode).valueFormatter(function(d,i){return yAxis.tickFormat()(d)}).data({value:xValue,series:allData})();interactiveLayer.renderGuideLine(pointXLocation)});interactiveLayer.dispatch.on("elementMouseout",function(e){lines.clearHighlights()});dispatch.on("changeState",function(e){if(typeof e.disabled!=="undefined"){data.forEach(function(series,i){series.disabled=e.disabled[i]});state.disabled=e.disabled}if(typeof e.index!=="undefined"){index.i=e.index;index.x=dx(index.i);state.index=e.index;indexLine.data([index])}if(typeof e.rescaleY!=="undefined"){rescaleY=e.rescaleY}chart.update()})});renderWatch.renderEnd("cumulativeLineChart immediate");return chart}lines.dispatch.on("elementMouseover.tooltip",function(evt){var point={x:chart.x()(evt.point),y:chart.y()(evt.point),color:evt.point.color};evt.point=point;tooltip.data(evt).position(evt.pos).hidden(false)});lines.dispatch.on("elementMouseout.tooltip",function(evt){tooltip.hidden(true)});var indexifyYGetter=null;function indexify(idx,data){if(!indexifyYGetter)indexifyYGetter=lines.y();return data.map(function(line,i){if(!line.values){return line}var indexValue=line.values[idx];if(indexValue==null){return line}var v=indexifyYGetter(indexValue,idx);if(v<-.95&&!noErrorCheck){line.tempDisabled=true;return line}line.tempDisabled=false;line.values=line.values.map(function(point,pointIndex){point.display={y:(indexifyYGetter(point,pointIndex)-v)/(1+v)};return point});return line})}chart.dispatch=dispatch;chart.lines=lines;chart.legend=legend;chart.controls=controls;chart.xAxis=xAxis;chart.yAxis=yAxis;chart.interactiveLayer=interactiveLayer;chart.state=state;chart.tooltip=tooltip;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{width:{get:function(){return width},set:function(_){width=_}},height:{get:function(){return height},set:function(_){height=_}},rescaleY:{get:function(){return rescaleY},set:function(_){rescaleY=_}},showControls:{get:function(){return showControls},set:function(_){showControls=_}},showLegend:{get:function(){return showLegend},set:function(_){showLegend=_}},average:{get:function(){return average},set:function(_){average=_}},defaultState:{get:function(){return defaultState},set:function(_){defaultState=_}},noData:{get:function(){return noData},set:function(_){noData=_}},showXAxis:{get:function(){return showXAxis},set:function(_){showXAxis=_}},showYAxis:{get:function(){return showYAxis},set:function(_){showYAxis=_}},noErrorCheck:{get:function(){return noErrorCheck},set:function(_){noErrorCheck=_}},tooltips:{get:function(){return tooltip.enabled()},set:function(_){nv.deprecated("tooltips","use chart.tooltip.enabled() instead");tooltip.enabled(!!_)}},tooltipContent:{get:function(){return tooltip.contentGenerator()},set:function(_){nv.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead");tooltip.contentGenerator(_)}},margin:{get:function(){return margin},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left}},color:{get:function(){return color},set:function(_){color=nv.utils.getColor(_);legend.color(color)}},useInteractiveGuideline:{get:function(){return useInteractiveGuideline},set:function(_){useInteractiveGuideline=_;if(_===true){chart.interactive(false);chart.useVoronoi(false)}}},rightAlignYAxis:{get:function(){return rightAlignYAxis},set:function(_){rightAlignYAxis=_;yAxis.orient(_?"right":"left")}},duration:{get:function(){return duration},set:function(_){duration=_;lines.duration(duration);xAxis.duration(duration);yAxis.duration(duration);renderWatch.reset(duration)}}});nv.utils.inheritOptions(chart,lines);nv.utils.initOptions(chart);return chart};nv.models.discreteBar=function(){"use strict";var margin={top:0,right:0,bottom:0,left:0},width=960,height=500,id=Math.floor(Math.random()*1e4),container,x=d3.scale.ordinal(),y=d3.scale.linear(),getX=function(d){return d.x},getY=function(d){return d.y},forceY=[0],color=nv.utils.defaultColor(),showValues=false,valueFormat=d3.format(",.2f"),xDomain,yDomain,xRange,yRange,dispatch=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove","renderEnd"),rectClass="discreteBar",duration=250;var x0,y0;var renderWatch=nv.utils.renderWatch(dispatch,duration);function chart(selection){renderWatch.reset();selection.each(function(data){var availableWidth=width-margin.left-margin.right,availableHeight=height-margin.top-margin.bottom;container=d3.select(this);nv.utils.initSVG(container);data.forEach(function(series,i){series.values.forEach(function(point){point.series=i})});var seriesData=xDomain&&yDomain?[]:data.map(function(d){return d.values.map(function(d,i){return{x:getX(d,i),y:getY(d,i),y0:d.y0}})});x.domain(xDomain||d3.merge(seriesData).map(function(d){return d.x})).rangeBands(xRange||[0,availableWidth],.1);y.domain(yDomain||d3.extent(d3.merge(seriesData).map(function(d){return d.y}).concat(forceY)));if(showValues)y.range(yRange||[availableHeight-(y.domain()[0]<0?12:0),y.domain()[1]>0?12:0]);else y.range(yRange||[availableHeight,0]);x0=x0||x;y0=y0||y.copy().range([y(0),y(0)]);var wrap=container.selectAll("g.nv-wrap.nv-discretebar").data([data]);var wrapEnter=wrap.enter().append("g").attr("class","nvd3 nv-wrap nv-discretebar");var gEnter=wrapEnter.append("g");var g=wrap.select("g");gEnter.append("g").attr("class","nv-groups");wrap.attr("transform","translate("+margin.left+","+margin.top+")");var groups=wrap.select(".nv-groups").selectAll(".nv-group").data(function(d){return d},function(d){return d.key});groups.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6);groups.exit().watchTransition(renderWatch,"discreteBar: exit groups").style("stroke-opacity",1e-6).style("fill-opacity",1e-6).remove();groups.attr("class",function(d,i){return"nv-group nv-series-"+i}).classed("hover",function(d){return d.hover});groups.watchTransition(renderWatch,"discreteBar: groups").style("stroke-opacity",1).style("fill-opacity",.75);var bars=groups.selectAll("g.nv-bar").data(function(d){return d.values});bars.exit().remove();var barsEnter=bars.enter().append("g").attr("transform",function(d,i,j){return"translate("+(x(getX(d,i))+x.rangeBand()*.05)+", "+y(0)+")"}).on("mouseover",function(d,i){d3.select(this).classed("hover",true);dispatch.elementMouseover({data:d,index:i,color:d3.select(this).style("fill")})}).on("mouseout",function(d,i){d3.select(this).classed("hover",false);dispatch.elementMouseout({data:d,index:i,color:d3.select(this).style("fill")})}).on("mousemove",function(d,i){dispatch.elementMousemove({data:d,index:i,color:d3.select(this).style("fill")})}).on("click",function(d,i){dispatch.elementClick({data:d,index:i,color:d3.select(this).style("fill")});d3.event.stopPropagation()}).on("dblclick",function(d,i){dispatch.elementDblClick({data:d,index:i,color:d3.select(this).style("fill")});d3.event.stopPropagation()});barsEnter.append("rect").attr("height",0).attr("width",x.rangeBand()*.9/data.length);if(showValues){barsEnter.append("text").attr("text-anchor","middle");bars.select("text").text(function(d,i){return valueFormat(getY(d,i))}).watchTransition(renderWatch,"discreteBar: bars text").attr("x",x.rangeBand()*.9/2).attr("y",function(d,i){return getY(d,i)<0?y(getY(d,i))-y(0)+12:-4})}else{bars.selectAll("text").remove()}bars.attr("class",function(d,i){return getY(d,i)<0?"nv-bar negative":"nv-bar positive"}).style("fill",function(d,i){return d.color||color(d,i)}).style("stroke",function(d,i){return d.color||color(d,i)}).select("rect").attr("class",rectClass).watchTransition(renderWatch,"discreteBar: bars rect").attr("width",x.rangeBand()*.9/data.length);bars.watchTransition(renderWatch,"discreteBar: bars").attr("transform",function(d,i){var left=x(getX(d,i))+x.rangeBand()*.05,top=getY(d,i)<0?y(0):y(0)-y(getY(d,i))<1?y(0)-1:y(getY(d,i));return"translate("+left+", "+top+")"}).select("rect").attr("height",function(d,i){return Math.max(Math.abs(y(getY(d,i))-y(yDomain&&yDomain[0]||0))||1)});x0=x.copy();y0=y.copy()});renderWatch.renderEnd("discreteBar immediate");return chart}chart.dispatch=dispatch;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{width:{get:function(){return width},set:function(_){width=_}},height:{get:function(){return height},set:function(_){height=_}},forceY:{get:function(){return forceY},set:function(_){forceY=_}},showValues:{get:function(){return showValues},set:function(_){showValues=_}},x:{get:function(){return getX},set:function(_){getX=_}},y:{get:function(){return getY},set:function(_){getY=_}},xScale:{get:function(){return x},set:function(_){x=_}},yScale:{get:function(){return y},set:function(_){y=_}},xDomain:{get:function(){return xDomain},set:function(_){xDomain=_}},yDomain:{get:function(){return yDomain},set:function(_){yDomain=_}},xRange:{get:function(){return xRange},set:function(_){xRange=_}},yRange:{get:function(){return yRange},set:function(_){yRange=_}},valueFormat:{get:function(){return valueFormat},set:function(_){valueFormat=_}},id:{get:function(){return id},set:function(_){id=_}},rectClass:{get:function(){return rectClass},set:function(_){rectClass=_}},margin:{get:function(){return margin},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left}},color:{get:function(){return color},set:function(_){color=nv.utils.getColor(_)}},duration:{get:function(){return duration},set:function(_){duration=_;renderWatch.reset(duration)}}});nv.utils.initOptions(chart);return chart};nv.models.discreteBarChart=function(){"use strict";var discretebar=nv.models.discreteBar(),xAxis=nv.models.axis(),yAxis=nv.models.axis(),tooltip=nv.models.tooltip();var margin={top:15,right:10,bottom:50,left:60},width=null,height=null,color=nv.utils.getColor(),showXAxis=true,showYAxis=true,rightAlignYAxis=false,staggerLabels=false,x,y,noData=null,dispatch=d3.dispatch("beforeUpdate","renderEnd"),duration=250;xAxis.orient("bottom").showMaxMin(false).tickFormat(function(d){return d});yAxis.orient(rightAlignYAxis?"right":"left").tickFormat(d3.format(",.1f"));tooltip.duration(0).headerEnabled(false).valueFormatter(function(d,i){return yAxis.tickFormat()(d,i)}).keyFormatter(function(d,i){return xAxis.tickFormat()(d,i)});var renderWatch=nv.utils.renderWatch(dispatch,duration);function chart(selection){renderWatch.reset();renderWatch.models(discretebar);if(showXAxis)renderWatch.models(xAxis);if(showYAxis)renderWatch.models(yAxis);selection.each(function(data){var container=d3.select(this),that=this;nv.utils.initSVG(container);var availableWidth=nv.utils.availableWidth(width,container,margin),availableHeight=nv.utils.availableHeight(height,container,margin);chart.update=function(){dispatch.beforeUpdate();container.transition().duration(duration).call(chart)};chart.container=this;if(!data||!data.length||!data.filter(function(d){return d.values.length}).length){nv.utils.noData(chart,container);return chart}else{container.selectAll(".nv-noData").remove()}x=discretebar.xScale();y=discretebar.yScale().clamp(true);var wrap=container.selectAll("g.nv-wrap.nv-discreteBarWithAxes").data([data]);var gEnter=wrap.enter().append("g").attr("class","nvd3 nv-wrap nv-discreteBarWithAxes").append("g");var defsEnter=gEnter.append("defs");var g=wrap.select("g");gEnter.append("g").attr("class","nv-x nv-axis");gEnter.append("g").attr("class","nv-y nv-axis").append("g").attr("class","nv-zeroLine").append("line");gEnter.append("g").attr("class","nv-barsWrap");g.attr("transform","translate("+margin.left+","+margin.top+")");if(rightAlignYAxis){g.select(".nv-y.nv-axis").attr("transform","translate("+availableWidth+",0)")}discretebar.width(availableWidth).height(availableHeight);var barsWrap=g.select(".nv-barsWrap").datum(data.filter(function(d){return!d.disabled}));barsWrap.transition().call(discretebar);defsEnter.append("clipPath").attr("id","nv-x-label-clip-"+discretebar.id()).append("rect");g.select("#nv-x-label-clip-"+discretebar.id()+" rect").attr("width",x.rangeBand()*(staggerLabels?2:1)).attr("height",16).attr("x",-x.rangeBand()/(staggerLabels?1:2));if(showXAxis){xAxis.scale(x)._ticks(nv.utils.calcTicksX(availableWidth/100,data)).tickSize(-availableHeight,0);g.select(".nv-x.nv-axis").attr("transform","translate(0,"+(y.range()[0]+(discretebar.showValues()&&y.domain()[0]<0?16:0))+")");g.select(".nv-x.nv-axis").call(xAxis);var xTicks=g.select(".nv-x.nv-axis").selectAll("g");if(staggerLabels){xTicks.selectAll("text").attr("transform",function(d,i,j){return"translate(0,"+(j%2==0?"5":"17")+")"})}}if(showYAxis){yAxis.scale(y)._ticks(nv.utils.calcTicksY(availableHeight/36,data)).tickSize(-availableWidth,0);g.select(".nv-y.nv-axis").call(yAxis)}g.select(".nv-zeroLine line").attr("x1",0).attr("x2",availableWidth).attr("y1",y(0)).attr("y2",y(0))});renderWatch.renderEnd("discreteBar chart immediate");return chart}discretebar.dispatch.on("elementMouseover.tooltip",function(evt){evt["series"]={key:chart.x()(evt.data),value:chart.y()(evt.data),color:evt.color};tooltip.data(evt).hidden(false)});discretebar.dispatch.on("elementMouseout.tooltip",function(evt){tooltip.hidden(true)});discretebar.dispatch.on("elementMousemove.tooltip",function(evt){tooltip.position({top:d3.event.pageY,left:d3.event.pageX})()});chart.dispatch=dispatch;chart.discretebar=discretebar;chart.xAxis=xAxis;chart.yAxis=yAxis;chart.tooltip=tooltip;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{width:{get:function(){return width},set:function(_){width=_}},height:{get:function(){return height},set:function(_){height=_}},staggerLabels:{get:function(){return staggerLabels},set:function(_){staggerLabels=_}},showXAxis:{get:function(){return showXAxis},set:function(_){showXAxis=_}},showYAxis:{get:function(){return showYAxis},set:function(_){showYAxis=_}},noData:{get:function(){return noData},set:function(_){noData=_}},tooltips:{get:function(){return tooltip.enabled()},set:function(_){nv.deprecated("tooltips","use chart.tooltip.enabled() instead");tooltip.enabled(!!_)}},tooltipContent:{get:function(){return tooltip.contentGenerator()},set:function(_){nv.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead");tooltip.contentGenerator(_)}},margin:{get:function(){return margin},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left}},duration:{get:function(){return duration},set:function(_){duration=_;renderWatch.reset(duration);discretebar.duration(duration);xAxis.duration(duration);yAxis.duration(duration)}},color:{get:function(){return color},set:function(_){color=nv.utils.getColor(_);discretebar.color(color)}},rightAlignYAxis:{get:function(){return rightAlignYAxis},set:function(_){rightAlignYAxis=_;yAxis.orient(_?"right":"left")}}});nv.utils.inheritOptions(chart,discretebar);nv.utils.initOptions(chart);return chart};nv.models.distribution=function(){"use strict";var margin={top:0,right:0,bottom:0,left:0},width=400,size=8,axis="x",getData=function(d){return d[axis]},color=nv.utils.defaultColor(),scale=d3.scale.linear(),domain,duration=250,dispatch=d3.dispatch("renderEnd");var scale0;var renderWatch=nv.utils.renderWatch(dispatch,duration);function chart(selection){renderWatch.reset();selection.each(function(data){var availableLength=width-(axis==="x"?margin.left+margin.right:margin.top+margin.bottom),naxis=axis=="x"?"y":"x",container=d3.select(this);nv.utils.initSVG(container);scale0=scale0||scale;var wrap=container.selectAll("g.nv-distribution").data([data]);var wrapEnter=wrap.enter().append("g").attr("class","nvd3 nv-distribution");var gEnter=wrapEnter.append("g");var g=wrap.select("g");wrap.attr("transform","translate("+margin.left+","+margin.top+")");var distWrap=g.selectAll("g.nv-dist").data(function(d){return d},function(d){return d.key});distWrap.enter().append("g");distWrap.attr("class",function(d,i){return"nv-dist nv-series-"+i}).style("stroke",function(d,i){return color(d,i)});var dist=distWrap.selectAll("line.nv-dist"+axis).data(function(d){return d.values});dist.enter().append("line").attr(axis+"1",function(d,i){return scale0(getData(d,i))}).attr(axis+"2",function(d,i){return scale0(getData(d,i))});renderWatch.transition(distWrap.exit().selectAll("line.nv-dist"+axis),"dist exit").attr(axis+"1",function(d,i){return scale(getData(d,i))}).attr(axis+"2",function(d,i){return scale(getData(d,i))}).style("stroke-opacity",0).remove();dist.attr("class",function(d,i){return"nv-dist"+axis+" nv-dist"+axis+"-"+i}).attr(naxis+"1",0).attr(naxis+"2",size);renderWatch.transition(dist,"dist").attr(axis+"1",function(d,i){return scale(getData(d,i))}).attr(axis+"2",function(d,i){return scale(getData(d,i))});scale0=scale.copy()});renderWatch.renderEnd("distribution immediate");return chart}chart.options=nv.utils.optionsFunc.bind(chart);chart.dispatch=dispatch;chart.margin=function(_){if(!arguments.length)return margin;margin.top=typeof _.top!="undefined"?_.top:margin.top;margin.right=typeof _.right!="undefined"?_.right:margin.right;margin.bottom=typeof _.bottom!="undefined"?_.bottom:margin.bottom;margin.left=typeof _.left!="undefined"?_.left:margin.left;return chart};chart.width=function(_){if(!arguments.length)return width;width=_;return chart};chart.axis=function(_){if(!arguments.length)return axis;axis=_;return chart};chart.size=function(_){if(!arguments.length)return size;size=_;return chart};chart.getData=function(_){if(!arguments.length)return getData;getData=d3.functor(_);return chart};chart.scale=function(_){if(!arguments.length)return scale;scale=_;return chart};chart.color=function(_){if(!arguments.length)return color;color=nv.utils.getColor(_);return chart};chart.duration=function(_){if(!arguments.length)return duration;duration=_;renderWatch.reset(duration);return chart};return chart};nv.models.furiousLegend=function(){"use strict";var margin={top:5,right:0,bottom:5,left:0},width=400,height=20,getKey=function(d){return d.key},color=nv.utils.getColor(),align=true,padding=28,rightAlign=true,updateState=true,radioButtonMode=false,expanded=false,dispatch=d3.dispatch("legendClick","legendDblclick","legendMouseover","legendMouseout","stateChange"),vers="classic";function chart(selection){selection.each(function(data){var availableWidth=width-margin.left-margin.right,container=d3.select(this);nv.utils.initSVG(container);var wrap=container.selectAll("g.nv-legend").data([data]);var gEnter=wrap.enter().append("g").attr("class","nvd3 nv-legend").append("g");var g=wrap.select("g");wrap.attr("transform","translate("+margin.left+","+margin.top+")");var series=g.selectAll(".nv-series").data(function(d){if(vers!="furious")return d;return d.filter(function(n){return expanded?true:!n.disengaged})});var seriesEnter=series.enter().append("g").attr("class","nv-series");var seriesShape;if(vers=="classic"){seriesEnter.append("circle").style("stroke-width",2).attr("class","nv-legend-symbol").attr("r",5);seriesShape=series.select("circle")}else if(vers=="furious"){seriesEnter.append("rect").style("stroke-width",2).attr("class","nv-legend-symbol").attr("rx",3).attr("ry",3);seriesShape=series.select("rect");seriesEnter.append("g").attr("class","nv-check-box").property("innerHTML",'<path d="M0.5,5 L22.5,5 L22.5,26.5 L0.5,26.5 L0.5,5 Z" class="nv-box"></path><path d="M5.5,12.8618467 L11.9185089,19.2803556 L31,0.198864511" class="nv-check"></path>').attr("transform","translate(-10,-8)scale(0.5)");var seriesCheckbox=series.select(".nv-check-box");seriesCheckbox.each(function(d,i){d3.select(this).selectAll("path").attr("stroke",setTextColor(d,i))})}seriesEnter.append("text").attr("text-anchor","start").attr("class","nv-legend-text").attr("dy",".32em").attr("dx","8");var seriesText=series.select("text.nv-legend-text");series.on("mouseover",function(d,i){dispatch.legendMouseover(d,i)}).on("mouseout",function(d,i){dispatch.legendMouseout(d,i)}).on("click",function(d,i){dispatch.legendClick(d,i);var data=series.data();if(updateState){if(vers=="classic"){if(radioButtonMode){data.forEach(function(series){series.disabled=true});d.disabled=false}else{d.disabled=!d.disabled;if(data.every(function(series){return series.disabled})){data.forEach(function(series){series.disabled=false})}}}else if(vers=="furious"){if(expanded){d.disengaged=!d.disengaged;d.userDisabled=d.userDisabled==undefined?!!d.disabled:d.userDisabled;d.disabled=d.disengaged||d.userDisabled}else if(!expanded){d.disabled=!d.disabled;d.userDisabled=d.disabled;var engaged=data.filter(function(d){return!d.disengaged});if(engaged.every(function(series){return series.userDisabled})){data.forEach(function(series){series.disabled=series.userDisabled=false})}}}dispatch.stateChange({disabled:data.map(function(d){return!!d.disabled}),disengaged:data.map(function(d){return!!d.disengaged})})}}).on("dblclick",function(d,i){if(vers=="furious"&&expanded)return;dispatch.legendDblclick(d,i);if(updateState){var data=series.data();data.forEach(function(series){series.disabled=true;if(vers=="furious")series.userDisabled=series.disabled});d.disabled=false;if(vers=="furious")d.userDisabled=d.disabled;dispatch.stateChange({disabled:data.map(function(d){return!!d.disabled})})}});series.classed("nv-disabled",function(d){return d.userDisabled});series.exit().remove();seriesText.attr("fill",setTextColor).text(getKey);var versPadding;switch(vers){case"furious":versPadding=23;break;case"classic":versPadding=20}if(align){var seriesWidths=[];series.each(function(d,i){var legendText=d3.select(this).select("text");var nodeTextLength;try{nodeTextLength=legendText.node().getComputedTextLength();if(nodeTextLength<=0)throw Error()}catch(e){nodeTextLength=nv.utils.calcApproxTextWidth(legendText)}seriesWidths.push(nodeTextLength+padding)});var seriesPerRow=0;
+var legendWidth=0;var columnWidths=[];while(legendWidth<availableWidth&&seriesPerRow<seriesWidths.length){columnWidths[seriesPerRow]=seriesWidths[seriesPerRow];legendWidth+=seriesWidths[seriesPerRow++]}if(seriesPerRow===0)seriesPerRow=1;while(legendWidth>availableWidth&&seriesPerRow>1){columnWidths=[];seriesPerRow--;for(var k=0;k<seriesWidths.length;k++){if(seriesWidths[k]>(columnWidths[k%seriesPerRow]||0))columnWidths[k%seriesPerRow]=seriesWidths[k]}legendWidth=columnWidths.reduce(function(prev,cur,index,array){return prev+cur})}var xPositions=[];for(var i=0,curX=0;i<seriesPerRow;i++){xPositions[i]=curX;curX+=columnWidths[i]}series.attr("transform",function(d,i){return"translate("+xPositions[i%seriesPerRow]+","+(5+Math.floor(i/seriesPerRow)*versPadding)+")"});if(rightAlign){g.attr("transform","translate("+(width-margin.right-legendWidth)+","+margin.top+")")}else{g.attr("transform","translate(0"+","+margin.top+")")}height=margin.top+margin.bottom+Math.ceil(seriesWidths.length/seriesPerRow)*versPadding}else{var ypos=5,newxpos=5,maxwidth=0,xpos;series.attr("transform",function(d,i){var length=d3.select(this).select("text").node().getComputedTextLength()+padding;xpos=newxpos;if(width<margin.left+margin.right+xpos+length){newxpos=xpos=5;ypos+=versPadding}newxpos+=length;if(newxpos>maxwidth)maxwidth=newxpos;return"translate("+xpos+","+ypos+")"});g.attr("transform","translate("+(width-margin.right-maxwidth)+","+margin.top+")");height=margin.top+margin.bottom+ypos+15}if(vers=="furious"){seriesShape.attr("width",function(d,i){return seriesText[0][i].getComputedTextLength()+27}).attr("height",18).attr("y",-9).attr("x",-15)}seriesShape.style("fill",setBGColor).style("stroke",function(d,i){return d.color||color(d,i)})});function setTextColor(d,i){if(vers!="furious")return"#000";if(expanded){return d.disengaged?color(d,i):"#fff"}else if(!expanded){return!!d.disabled?color(d,i):"#fff"}}function setBGColor(d,i){if(expanded&&vers=="furious"){return d.disengaged?"#fff":color(d,i)}else{return!!d.disabled?"#fff":color(d,i)}}return chart}chart.dispatch=dispatch;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{width:{get:function(){return width},set:function(_){width=_}},height:{get:function(){return height},set:function(_){height=_}},key:{get:function(){return getKey},set:function(_){getKey=_}},align:{get:function(){return align},set:function(_){align=_}},rightAlign:{get:function(){return rightAlign},set:function(_){rightAlign=_}},padding:{get:function(){return padding},set:function(_){padding=_}},updateState:{get:function(){return updateState},set:function(_){updateState=_}},radioButtonMode:{get:function(){return radioButtonMode},set:function(_){radioButtonMode=_}},expanded:{get:function(){return expanded},set:function(_){expanded=_}},vers:{get:function(){return vers},set:function(_){vers=_}},margin:{get:function(){return margin},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left}},color:{get:function(){return color},set:function(_){color=nv.utils.getColor(_)}}});nv.utils.initOptions(chart);return chart};nv.models.historicalBar=function(){"use strict";var margin={top:0,right:0,bottom:0,left:0},width=null,height=null,id=Math.floor(Math.random()*1e4),container=null,x=d3.scale.linear(),y=d3.scale.linear(),getX=function(d){return d.x},getY=function(d){return d.y},forceX=[],forceY=[0],padData=false,clipEdge=true,color=nv.utils.defaultColor(),xDomain,yDomain,xRange,yRange,dispatch=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove","renderEnd"),interactive=true;var renderWatch=nv.utils.renderWatch(dispatch,0);function chart(selection){selection.each(function(data){renderWatch.reset();container=d3.select(this);var availableWidth=nv.utils.availableWidth(width,container,margin),availableHeight=nv.utils.availableHeight(height,container,margin);nv.utils.initSVG(container);x.domain(xDomain||d3.extent(data[0].values.map(getX).concat(forceX)));if(padData)x.range(xRange||[availableWidth*.5/data[0].values.length,availableWidth*(data[0].values.length-.5)/data[0].values.length]);else x.range(xRange||[0,availableWidth]);y.domain(yDomain||d3.extent(data[0].values.map(getY).concat(forceY))).range(yRange||[availableHeight,0]);if(x.domain()[0]===x.domain()[1])x.domain()[0]?x.domain([x.domain()[0]-x.domain()[0]*.01,x.domain()[1]+x.domain()[1]*.01]):x.domain([-1,1]);if(y.domain()[0]===y.domain()[1])y.domain()[0]?y.domain([y.domain()[0]+y.domain()[0]*.01,y.domain()[1]-y.domain()[1]*.01]):y.domain([-1,1]);var wrap=container.selectAll("g.nv-wrap.nv-historicalBar-"+id).data([data[0].values]);var wrapEnter=wrap.enter().append("g").attr("class","nvd3 nv-wrap nv-historicalBar-"+id);var defsEnter=wrapEnter.append("defs");var gEnter=wrapEnter.append("g");var g=wrap.select("g");gEnter.append("g").attr("class","nv-bars");wrap.attr("transform","translate("+margin.left+","+margin.top+")");container.on("click",function(d,i){dispatch.chartClick({data:d,index:i,pos:d3.event,id:id})});defsEnter.append("clipPath").attr("id","nv-chart-clip-path-"+id).append("rect");wrap.select("#nv-chart-clip-path-"+id+" rect").attr("width",availableWidth).attr("height",availableHeight);g.attr("clip-path",clipEdge?"url(#nv-chart-clip-path-"+id+")":"");var bars=wrap.select(".nv-bars").selectAll(".nv-bar").data(function(d){return d},function(d,i){return getX(d,i)});bars.exit().remove();bars.enter().append("rect").attr("x",0).attr("y",function(d,i){return nv.utils.NaNtoZero(y(Math.max(0,getY(d,i))))}).attr("height",function(d,i){return nv.utils.NaNtoZero(Math.abs(y(getY(d,i))-y(0)))}).attr("transform",function(d,i){return"translate("+(x(getX(d,i))-availableWidth/data[0].values.length*.45)+",0)"}).on("mouseover",function(d,i){if(!interactive)return;d3.select(this).classed("hover",true);dispatch.elementMouseover({data:d,index:i,color:d3.select(this).style("fill")})}).on("mouseout",function(d,i){if(!interactive)return;d3.select(this).classed("hover",false);dispatch.elementMouseout({data:d,index:i,color:d3.select(this).style("fill")})}).on("mousemove",function(d,i){if(!interactive)return;dispatch.elementMousemove({data:d,index:i,color:d3.select(this).style("fill")})}).on("click",function(d,i){if(!interactive)return;dispatch.elementClick({data:d,index:i,color:d3.select(this).style("fill")});d3.event.stopPropagation()}).on("dblclick",function(d,i){if(!interactive)return;dispatch.elementDblClick({data:d,index:i,color:d3.select(this).style("fill")});d3.event.stopPropagation()});bars.attr("fill",function(d,i){return color(d,i)}).attr("class",function(d,i,j){return(getY(d,i)<0?"nv-bar negative":"nv-bar positive")+" nv-bar-"+j+"-"+i}).watchTransition(renderWatch,"bars").attr("transform",function(d,i){return"translate("+(x(getX(d,i))-availableWidth/data[0].values.length*.45)+",0)"}).attr("width",availableWidth/data[0].values.length*.9);bars.watchTransition(renderWatch,"bars").attr("y",function(d,i){var rval=getY(d,i)<0?y(0):y(0)-y(getY(d,i))<1?y(0)-1:y(getY(d,i));return nv.utils.NaNtoZero(rval)}).attr("height",function(d,i){return nv.utils.NaNtoZero(Math.max(Math.abs(y(getY(d,i))-y(0)),1))})});renderWatch.renderEnd("historicalBar immediate");return chart}chart.highlightPoint=function(pointIndex,isHoverOver){container.select(".nv-bars .nv-bar-0-"+pointIndex).classed("hover",isHoverOver)};chart.clearHighlights=function(){container.select(".nv-bars .nv-bar.hover").classed("hover",false)};chart.dispatch=dispatch;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{width:{get:function(){return width},set:function(_){width=_}},height:{get:function(){return height},set:function(_){height=_}},forceX:{get:function(){return forceX},set:function(_){forceX=_}},forceY:{get:function(){return forceY},set:function(_){forceY=_}},padData:{get:function(){return padData},set:function(_){padData=_}},x:{get:function(){return getX},set:function(_){getX=_}},y:{get:function(){return getY},set:function(_){getY=_}},xScale:{get:function(){return x},set:function(_){x=_}},yScale:{get:function(){return y},set:function(_){y=_}},xDomain:{get:function(){return xDomain},set:function(_){xDomain=_}},yDomain:{get:function(){return yDomain},set:function(_){yDomain=_}},xRange:{get:function(){return xRange},set:function(_){xRange=_}},yRange:{get:function(){return yRange},set:function(_){yRange=_}},clipEdge:{get:function(){return clipEdge},set:function(_){clipEdge=_}},id:{get:function(){return id},set:function(_){id=_}},interactive:{get:function(){return interactive},set:function(_){interactive=_}},margin:{get:function(){return margin},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left}},color:{get:function(){return color},set:function(_){color=nv.utils.getColor(_)}}});nv.utils.initOptions(chart);return chart};nv.models.historicalBarChart=function(bar_model){"use strict";var bars=bar_model||nv.models.historicalBar(),xAxis=nv.models.axis(),yAxis=nv.models.axis(),legend=nv.models.legend(),interactiveLayer=nv.interactiveGuideline(),tooltip=nv.models.tooltip();var margin={top:30,right:90,bottom:50,left:90},color=nv.utils.defaultColor(),width=null,height=null,showLegend=false,showXAxis=true,showYAxis=true,rightAlignYAxis=false,useInteractiveGuideline=false,x,y,state={},defaultState=null,noData=null,dispatch=d3.dispatch("tooltipHide","stateChange","changeState","renderEnd"),transitionDuration=250;xAxis.orient("bottom").tickPadding(7);yAxis.orient(rightAlignYAxis?"right":"left");tooltip.duration(0).headerEnabled(false).valueFormatter(function(d,i){return yAxis.tickFormat()(d,i)}).headerFormatter(function(d,i){return xAxis.tickFormat()(d,i)});var renderWatch=nv.utils.renderWatch(dispatch,0);function chart(selection){selection.each(function(data){renderWatch.reset();renderWatch.models(bars);if(showXAxis)renderWatch.models(xAxis);if(showYAxis)renderWatch.models(yAxis);var container=d3.select(this),that=this;nv.utils.initSVG(container);var availableWidth=nv.utils.availableWidth(width,container,margin),availableHeight=nv.utils.availableHeight(height,container,margin);chart.update=function(){container.transition().duration(transitionDuration).call(chart)};chart.container=this;state.disabled=data.map(function(d){return!!d.disabled});if(!defaultState){var key;defaultState={};for(key in state){if(state[key]instanceof Array)defaultState[key]=state[key].slice(0);else defaultState[key]=state[key]}}if(!data||!data.length||!data.filter(function(d){return d.values.length}).length){nv.utils.noData(chart,container);return chart}else{container.selectAll(".nv-noData").remove()}x=bars.xScale();y=bars.yScale();var wrap=container.selectAll("g.nv-wrap.nv-historicalBarChart").data([data]);var gEnter=wrap.enter().append("g").attr("class","nvd3 nv-wrap nv-historicalBarChart").append("g");var g=wrap.select("g");gEnter.append("g").attr("class","nv-x nv-axis");gEnter.append("g").attr("class","nv-y nv-axis");gEnter.append("g").attr("class","nv-barsWrap");gEnter.append("g").attr("class","nv-legendWrap");gEnter.append("g").attr("class","nv-interactive");if(showLegend){legend.width(availableWidth);g.select(".nv-legendWrap").datum(data).call(legend);if(margin.top!=legend.height()){margin.top=legend.height();availableHeight=nv.utils.availableHeight(height,container,margin)}wrap.select(".nv-legendWrap").attr("transform","translate(0,"+-margin.top+")")}wrap.attr("transform","translate("+margin.left+","+margin.top+")");if(rightAlignYAxis){g.select(".nv-y.nv-axis").attr("transform","translate("+availableWidth+",0)")}if(useInteractiveGuideline){interactiveLayer.width(availableWidth).height(availableHeight).margin({left:margin.left,top:margin.top}).svgContainer(container).xScale(x);wrap.select(".nv-interactive").call(interactiveLayer)}bars.width(availableWidth).height(availableHeight).color(data.map(function(d,i){return d.color||color(d,i)}).filter(function(d,i){return!data[i].disabled}));var barsWrap=g.select(".nv-barsWrap").datum(data.filter(function(d){return!d.disabled}));barsWrap.transition().call(bars);if(showXAxis){xAxis.scale(x)._ticks(nv.utils.calcTicksX(availableWidth/100,data)).tickSize(-availableHeight,0);g.select(".nv-x.nv-axis").attr("transform","translate(0,"+y.range()[0]+")");g.select(".nv-x.nv-axis").transition().call(xAxis)}if(showYAxis){yAxis.scale(y)._ticks(nv.utils.calcTicksY(availableHeight/36,data)).tickSize(-availableWidth,0);g.select(".nv-y.nv-axis").transition().call(yAxis)}interactiveLayer.dispatch.on("elementMousemove",function(e){bars.clearHighlights();var singlePoint,pointIndex,pointXLocation,allData=[];data.filter(function(series,i){series.seriesIndex=i;return!series.disabled}).forEach(function(series,i){pointIndex=nv.interactiveBisect(series.values,e.pointXValue,chart.x());bars.highlightPoint(pointIndex,true);var point=series.values[pointIndex];if(point===undefined)return;if(singlePoint===undefined)singlePoint=point;if(pointXLocation===undefined)pointXLocation=chart.xScale()(chart.x()(point,pointIndex));allData.push({key:series.key,value:chart.y()(point,pointIndex),color:color(series,series.seriesIndex),data:series.values[pointIndex]})});var xValue=xAxis.tickFormat()(chart.x()(singlePoint,pointIndex));interactiveLayer.tooltip.position({left:pointXLocation+margin.left,top:e.mouseY+margin.top}).chartContainer(that.parentNode).valueFormatter(function(d,i){return yAxis.tickFormat()(d)}).data({value:xValue,index:pointIndex,series:allData})();interactiveLayer.renderGuideLine(pointXLocation)});interactiveLayer.dispatch.on("elementMouseout",function(e){dispatch.tooltipHide();bars.clearHighlights()});legend.dispatch.on("legendClick",function(d,i){d.disabled=!d.disabled;if(!data.filter(function(d){return!d.disabled}).length){data.map(function(d){d.disabled=false;wrap.selectAll(".nv-series").classed("disabled",false);return d})}state.disabled=data.map(function(d){return!!d.disabled});dispatch.stateChange(state);selection.transition().call(chart)});legend.dispatch.on("legendDblclick",function(d){data.forEach(function(d){d.disabled=true});d.disabled=false;state.disabled=data.map(function(d){return!!d.disabled});dispatch.stateChange(state);chart.update()});dispatch.on("changeState",function(e){if(typeof e.disabled!=="undefined"){data.forEach(function(series,i){series.disabled=e.disabled[i]});state.disabled=e.disabled}chart.update()})});renderWatch.renderEnd("historicalBarChart immediate");return chart}bars.dispatch.on("elementMouseover.tooltip",function(evt){evt["series"]={key:chart.x()(evt.data),value:chart.y()(evt.data),color:evt.color};tooltip.data(evt).hidden(false)});bars.dispatch.on("elementMouseout.tooltip",function(evt){tooltip.hidden(true)});bars.dispatch.on("elementMousemove.tooltip",function(evt){tooltip.position({top:d3.event.pageY,left:d3.event.pageX})()});chart.dispatch=dispatch;chart.bars=bars;chart.legend=legend;chart.xAxis=xAxis;chart.yAxis=yAxis;chart.interactiveLayer=interactiveLayer;chart.tooltip=tooltip;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{width:{get:function(){return width},set:function(_){width=_}},height:{get:function(){return height},set:function(_){height=_}},showLegend:{get:function(){return showLegend},set:function(_){showLegend=_}},showXAxis:{get:function(){return showXAxis},set:function(_){showXAxis=_}},showYAxis:{get:function(){return showYAxis},set:function(_){showYAxis=_}},defaultState:{get:function(){return defaultState},set:function(_){defaultState=_}},noData:{get:function(){return noData},set:function(_){noData=_}},tooltips:{get:function(){return tooltip.enabled()},set:function(_){nv.deprecated("tooltips","use chart.tooltip.enabled() instead");tooltip.enabled(!!_)}},tooltipContent:{get:function(){return tooltip.contentGenerator()},set:function(_){nv.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead");tooltip.contentGenerator(_)}},margin:{get:function(){return margin},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left}},color:{get:function(){return color},set:function(_){color=nv.utils.getColor(_);legend.color(color);bars.color(color)}},duration:{get:function(){return transitionDuration},set:function(_){transitionDuration=_;renderWatch.reset(transitionDuration);yAxis.duration(transitionDuration);xAxis.duration(transitionDuration)}},rightAlignYAxis:{get:function(){return rightAlignYAxis},set:function(_){rightAlignYAxis=_;yAxis.orient(_?"right":"left")}},useInteractiveGuideline:{get:function(){return useInteractiveGuideline},set:function(_){useInteractiveGuideline=_;if(_===true){chart.interactive(false)}}}});nv.utils.inheritOptions(chart,bars);nv.utils.initOptions(chart);return chart};nv.models.ohlcBarChart=function(){var chart=nv.models.historicalBarChart(nv.models.ohlcBar());chart.useInteractiveGuideline(true);chart.interactiveLayer.tooltip.contentGenerator(function(data){var d=data.series[0].data;var color=d.open<d.close?"2ca02c":"d62728";return""+'<h3 style="color: #'+color+'">'+data.value+"</h3>"+"<table>"+"<tr><td>open:</td><td>"+chart.yAxis.tickFormat()(d.open)+"</td></tr>"+"<tr><td>close:</td><td>"+chart.yAxis.tickFormat()(d.close)+"</td></tr>"+"<tr><td>high</td><td>"+chart.yAxis.tickFormat()(d.high)+"</td></tr>"+"<tr><td>low:</td><td>"+chart.yAxis.tickFormat()(d.low)+"</td></tr>"+"</table>"});return chart};nv.models.candlestickBarChart=function(){var chart=nv.models.historicalBarChart(nv.models.candlestickBar());chart.useInteractiveGuideline(true);chart.interactiveLayer.tooltip.contentGenerator(function(data){var d=data.series[0].data;var color=d.open<d.close?"2ca02c":"d62728";return""+'<h3 style="color: #'+color+'">'+data.value+"</h3>"+"<table>"+"<tr><td>open:</td><td>"+chart.yAxis.tickFormat()(d.open)+"</td></tr>"+"<tr><td>close:</td><td>"+chart.yAxis.tickFormat()(d.close)+"</td></tr>"+"<tr><td>high</td><td>"+chart.yAxis.tickFormat()(d.high)+"</td></tr>"+"<tr><td>low:</td><td>"+chart.yAxis.tickFormat()(d.low)+"</td></tr>"+"</table>"});return chart};nv.models.legend=function(){"use strict";var margin={top:5,right:0,bottom:5,left:0},width=400,height=20,getKey=function(d){return d.key},color=nv.utils.getColor(),align=true,padding=32,rightAlign=true,updateState=true,radioButtonMode=false,expanded=false,dispatch=d3.dispatch("legendClick","legendDblclick","legendMouseover","legendMouseout","stateChange"),vers="classic";function chart(selection){selection.each(function(data){var availableWidth=width-margin.left-margin.right,container=d3.select(this);nv.utils.initSVG(container);var wrap=container.selectAll("g.nv-legend").data([data]);var gEnter=wrap.enter().append("g").attr("class","nvd3 nv-legend").append("g");var g=wrap.select("g");wrap.attr("transform","translate("+margin.left+","+margin.top+")");var series=g.selectAll(".nv-series").data(function(d){if(vers!="furious")return d;return d.filter(function(n){return expanded?true:!n.disengaged})});var seriesEnter=series.enter().append("g").attr("class","nv-series");var seriesShape;var versPadding;switch(vers){case"furious":versPadding=23;break;case"classic":versPadding=20}if(vers=="classic"){seriesEnter.append("circle").style("stroke-width",2).attr("class","nv-legend-symbol").attr("r",5);seriesShape=series.select("circle")}else if(vers=="furious"){seriesEnter.append("rect").style("stroke-width",2).attr("class","nv-legend-symbol").attr("rx",3).attr("ry",3);seriesShape=series.select(".nv-legend-symbol");seriesEnter.append("g").attr("class","nv-check-box").property("innerHTML",'<path d="M0.5,5 L22.5,5 L22.5,26.5 L0.5,26.5 L0.5,5 Z" class="nv-box"></path><path d="M5.5,12.8618467 L11.9185089,19.2803556 L31,0.198864511" class="nv-check"></path>').attr("transform","translate(-10,-8)scale(0.5)");var seriesCheckbox=series.select(".nv-check-box");seriesCheckbox.each(function(d,i){d3.select(this).selectAll("path").attr("stroke",setTextColor(d,i))})}seriesEnter.append("text").attr("text-anchor","start").attr("class","nv-legend-text").attr("dy",".32em").attr("dx","8");var seriesText=series.select("text.nv-legend-text");series.on("mouseover",function(d,i){dispatch.legendMouseover(d,i)}).on("mouseout",function(d,i){dispatch.legendMouseout(d,i)}).on("click",function(d,i){dispatch.legendClick(d,i);var data=series.data();if(updateState){if(vers=="classic"){if(radioButtonMode){data.forEach(function(series){series.disabled=true});d.disabled=false}else{d.disabled=!d.disabled;if(data.every(function(series){return series.disabled})){data.forEach(function(series){series.disabled=false})}}}else if(vers=="furious"){if(expanded){d.disengaged=!d.disengaged;d.userDisabled=d.userDisabled==undefined?!!d.disabled:d.userDisabled;d.disabled=d.disengaged||d.userDisabled}else if(!expanded){d.disabled=!d.disabled;d.userDisabled=d.disabled;var engaged=data.filter(function(d){return!d.disengaged});if(engaged.every(function(series){return series.userDisabled})){data.forEach(function(series){series.disabled=series.userDisabled=false})}}}dispatch.stateChange({disabled:data.map(function(d){return!!d.disabled}),disengaged:data.map(function(d){return!!d.disengaged})})}}).on("dblclick",function(d,i){if(vers=="furious"&&expanded)return;dispatch.legendDblclick(d,i);if(updateState){var data=series.data();data.forEach(function(series){series.disabled=true;if(vers=="furious")series.userDisabled=series.disabled});d.disabled=false;if(vers=="furious")d.userDisabled=d.disabled;dispatch.stateChange({disabled:data.map(function(d){return!!d.disabled})})}});series.classed("nv-disabled",function(d){return d.userDisabled});series.exit().remove();seriesText.attr("fill",setTextColor).text(getKey);var legendWidth=0;if(align){var seriesWidths=[];series.each(function(d,i){var legendText=d3.select(this).select("text");var nodeTextLength;try{nodeTextLength=legendText.node().getComputedTextLength();if(nodeTextLength<=0)throw Error()}catch(e){nodeTextLength=nv.utils.calcApproxTextWidth(legendText)}seriesWidths.push(nodeTextLength+padding)});var seriesPerRow=0;var columnWidths=[];legendWidth=0;while(legendWidth<availableWidth&&seriesPerRow<seriesWidths.length){columnWidths[seriesPerRow]=seriesWidths[seriesPerRow];legendWidth+=seriesWidths[seriesPerRow++]}if(seriesPerRow===0)seriesPerRow=1;while(legendWidth>availableWidth&&seriesPerRow>1){columnWidths=[];seriesPerRow--;for(var k=0;k<seriesWidths.length;k++){if(seriesWidths[k]>(columnWidths[k%seriesPerRow]||0))columnWidths[k%seriesPerRow]=seriesWidths[k]}legendWidth=columnWidths.reduce(function(prev,cur,index,array){return prev+cur})}var xPositions=[];for(var i=0,curX=0;i<seriesPerRow;i++){xPositions[i]=curX;curX+=columnWidths[i]}series.attr("transform",function(d,i){return"translate("+xPositions[i%seriesPerRow]+","+(5+Math.floor(i/seriesPerRow)*versPadding)+")"});if(rightAlign){g.attr("transform","translate("+(width-margin.right-legendWidth)+","+margin.top+")")}else{g.attr("transform","translate(0"+","+margin.top+")")}height=margin.top+margin.bottom+Math.ceil(seriesWidths.length/seriesPerRow)*versPadding}else{var ypos=5,newxpos=5,maxwidth=0,xpos;series.attr("transform",function(d,i){var length=d3.select(this).select("text").node().getComputedTextLength()+padding;xpos=newxpos;if(width<margin.left+margin.right+xpos+length){newxpos=xpos=5;ypos+=versPadding}newxpos+=length;if(newxpos>maxwidth)maxwidth=newxpos;if(legendWidth<xpos+maxwidth){legendWidth=xpos+maxwidth}return"translate("+xpos+","+ypos+")"});g.attr("transform","translate("+(width-margin.right-maxwidth)+","+margin.top+")");height=margin.top+margin.bottom+ypos+15}if(vers=="furious"){seriesShape.attr("width",function(d,i){return seriesText[0][i].getComputedTextLength()+27}).attr("height",18).attr("y",-9).attr("x",-15);gEnter.insert("rect",":first-child").attr("class","nv-legend-bg").attr("fill","#eee").attr("opacity",0);var seriesBG=g.select(".nv-legend-bg");seriesBG.transition().duration(300).attr("x",-versPadding).attr("width",legendWidth+versPadding-12).attr("height",height+10).attr("y",-margin.top-10).attr("opacity",expanded?1:0)}seriesShape.style("fill",setBGColor).style("fill-opacity",setBGOpacity).style("stroke",setBGColor)});function setTextColor(d,i){if(vers!="furious")return"#000";if(expanded){return d.disengaged?"#000":"#fff"}else if(!expanded){if(!d.color)d.color=color(d,i);return!!d.disabled?d.color:"#fff"}}function setBGColor(d,i){if(expanded&&vers=="furious"){return d.disengaged?"#eee":d.color||color(d,i)}else{return d.color||color(d,i)}}function setBGOpacity(d,i){if(expanded&&vers=="furious"){return 1}else{return!!d.disabled?0:1}}return chart}chart.dispatch=dispatch;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{width:{get:function(){return width},set:function(_){width=_}},height:{get:function(){return height},set:function(_){height=_}},key:{get:function(){return getKey},set:function(_){getKey=_}},align:{get:function(){return align},set:function(_){align=_}},rightAlign:{get:function(){return rightAlign},set:function(_){rightAlign=_}},padding:{get:function(){return padding},set:function(_){padding=_}},updateState:{get:function(){return updateState},set:function(_){updateState=_}},radioButtonMode:{get:function(){return radioButtonMode},set:function(_){radioButtonMode=_}},expanded:{get:function(){return expanded},set:function(_){expanded=_}},vers:{get:function(){return vers},set:function(_){vers=_}},margin:{get:function(){return margin},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left}},color:{get:function(){return color},set:function(_){color=nv.utils.getColor(_)}}});nv.utils.initOptions(chart);return chart};nv.models.line=function(){"use strict";var scatter=nv.models.scatter();var margin={top:0,right:0,bottom:0,left:0},width=960,height=500,container=null,strokeWidth=1.5,color=nv.utils.defaultColor(),getX=function(d){return d.x},getY=function(d){return d.y},defined=function(d,i){return!isNaN(getY(d,i))&&getY(d,i)!==null},isArea=function(d){return d.area},clipEdge=false,x,y,interpolate="linear",duration=250,dispatch=d3.dispatch("elementClick","elementMouseover","elementMouseout","renderEnd");scatter.pointSize(16).pointDomain([16,256]);var x0,y0,renderWatch=nv.utils.renderWatch(dispatch,duration);function chart(selection){renderWatch.reset();renderWatch.models(scatter);selection.each(function(data){container=d3.select(this);var availableWidth=nv.utils.availableWidth(width,container,margin),availableHeight=nv.utils.availableHeight(height,container,margin);nv.utils.initSVG(container);x=scatter.xScale();y=scatter.yScale();x0=x0||x;y0=y0||y;var wrap=container.selectAll("g.nv-wrap.nv-line").data([data]);var wrapEnter=wrap.enter().append("g").attr("class","nvd3 nv-wrap nv-line");var defsEnter=wrapEnter.append("defs");var gEnter=wrapEnter.append("g");var g=wrap.select("g");gEnter.append("g").attr("class","nv-groups");gEnter.append("g").attr("class","nv-scatterWrap");wrap.attr("transform","translate("+margin.left+","+margin.top+")");scatter.width(availableWidth).height(availableHeight);var scatterWrap=wrap.select(".nv-scatterWrap");scatterWrap.call(scatter);defsEnter.append("clipPath").attr("id","nv-edge-clip-"+scatter.id()).append("rect");wrap.select("#nv-edge-clip-"+scatter.id()+" rect").attr("width",availableWidth).attr("height",availableHeight>0?availableHeight:0);g.attr("clip-path",clipEdge?"url(#nv-edge-clip-"+scatter.id()+")":"");scatterWrap.attr("clip-path",clipEdge?"url(#nv-edge-clip-"+scatter.id()+")":"");var groups=wrap.select(".nv-groups").selectAll(".nv-group").data(function(d){return d},function(d){return d.key});groups.enter().append("g").style("stroke-opacity",1e-6).style("stroke-width",function(d){return d.strokeWidth||strokeWidth}).style("fill-opacity",1e-6);groups.exit().remove();groups.attr("class",function(d,i){return(d.classed||"")+" nv-group nv-series-"+i}).classed("hover",function(d){return d.hover}).style("fill",function(d,i){return color(d,i)}).style("stroke",function(d,i){return color(d,i)});groups.watchTransition(renderWatch,"line: groups").style("stroke-opacity",1).style("fill-opacity",function(d){return d.fillOpacity||.5});var areaPaths=groups.selectAll("path.nv-area").data(function(d){return isArea(d)?[d]:[]});areaPaths.enter().append("path").attr("class","nv-area").attr("d",function(d){return d3.svg.area().interpolate(interpolate).defined(defined).x(function(d,i){return nv.utils.NaNtoZero(x0(getX(d,i)))}).y0(function(d,i){return nv.utils.NaNtoZero(y0(getY(d,i)))}).y1(function(d,i){return y0(y.domain()[0]<=0?y.domain()[1]>=0?0:y.domain()[1]:y.domain()[0])}).apply(this,[d.values])});groups.exit().selectAll("path.nv-area").remove();areaPaths.watchTransition(renderWatch,"line: areaPaths").attr("d",function(d){return d3.svg.area().interpolate(interpolate).defined(defined).x(function(d,i){return nv.utils.NaNtoZero(x(getX(d,i)))}).y0(function(d,i){return nv.utils.NaNtoZero(y(getY(d,i)))}).y1(function(d,i){return y(y.domain()[0]<=0?y.domain()[1]>=0?0:y.domain()[1]:y.domain()[0])}).apply(this,[d.values])});var linePaths=groups.selectAll("path.nv-line").data(function(d){return[d.values]});linePaths.enter().append("path").attr("class","nv-line").attr("d",d3.svg.line().interpolate(interpolate).defined(defined).x(function(d,i){return nv.utils.NaNtoZero(x0(getX(d,i)))}).y(function(d,i){return nv.utils.NaNtoZero(y0(getY(d,i)))}));linePaths.watchTransition(renderWatch,"line: linePaths").attr("d",d3.svg.line().interpolate(interpolate).defined(defined).x(function(d,i){return nv.utils.NaNtoZero(x(getX(d,i)))}).y(function(d,i){return nv.utils.NaNtoZero(y(getY(d,i)))}));x0=x.copy();y0=y.copy()});renderWatch.renderEnd("line immediate");return chart}chart.dispatch=dispatch;chart.scatter=scatter;scatter.dispatch.on("elementClick",function(){dispatch.elementClick.apply(this,arguments)});scatter.dispatch.on("elementMouseover",function(){dispatch.elementMouseover.apply(this,arguments)});scatter.dispatch.on("elementMouseout",function(){dispatch.elementMouseout.apply(this,arguments)});chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{width:{get:function(){return width},set:function(_){width=_}},height:{get:function(){return height},set:function(_){height=_}},defined:{get:function(){return defined},set:function(_){defined=_}},interpolate:{get:function(){return interpolate},set:function(_){interpolate=_}},clipEdge:{get:function(){return clipEdge},set:function(_){clipEdge=_}},margin:{get:function(){return margin},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left}},duration:{get:function(){return duration},set:function(_){duration=_;renderWatch.reset(duration);scatter.duration(duration)}},isArea:{get:function(){return isArea},set:function(_){isArea=d3.functor(_)}},x:{get:function(){return getX},set:function(_){getX=_;scatter.x(_)}},y:{get:function(){return getY},set:function(_){getY=_;scatter.y(_)}},color:{get:function(){return color},set:function(_){color=nv.utils.getColor(_);scatter.color(color)}}});nv.utils.inheritOptions(chart,scatter);nv.utils.initOptions(chart);return chart};nv.models.lineChart=function(){"use strict";var lines=nv.models.line(),xAxis=nv.models.axis(),yAxis=nv.models.axis(),legend=nv.models.legend(),interactiveLayer=nv.interactiveGuideline(),tooltip=nv.models.tooltip();var margin={top:30,right:20,bottom:50,left:60},color=nv.utils.defaultColor(),width=null,height=null,showLegend=true,showXAxis=true,showYAxis=true,rightAlignYAxis=false,useInteractiveGuideline=false,x,y,state=nv.utils.state(),defaultState=null,noData=null,dispatch=d3.dispatch("tooltipShow","tooltipHide","stateChange","changeState","renderEnd"),duration=250;
+xAxis.orient("bottom").tickPadding(7);yAxis.orient(rightAlignYAxis?"right":"left");tooltip.valueFormatter(function(d,i){return yAxis.tickFormat()(d,i)}).headerFormatter(function(d,i){return xAxis.tickFormat()(d,i)});var renderWatch=nv.utils.renderWatch(dispatch,duration);var stateGetter=function(data){return function(){return{active:data.map(function(d){return!d.disabled})}}};var stateSetter=function(data){return function(state){if(state.active!==undefined)data.forEach(function(series,i){series.disabled=!state.active[i]})}};function chart(selection){renderWatch.reset();renderWatch.models(lines);if(showXAxis)renderWatch.models(xAxis);if(showYAxis)renderWatch.models(yAxis);selection.each(function(data){var container=d3.select(this),that=this;nv.utils.initSVG(container);var availableWidth=nv.utils.availableWidth(width,container,margin),availableHeight=nv.utils.availableHeight(height,container,margin);chart.update=function(){if(duration===0)container.call(chart);else container.transition().duration(duration).call(chart)};chart.container=this;state.setter(stateSetter(data),chart.update).getter(stateGetter(data)).update();state.disabled=data.map(function(d){return!!d.disabled});if(!defaultState){var key;defaultState={};for(key in state){if(state[key]instanceof Array)defaultState[key]=state[key].slice(0);else defaultState[key]=state[key]}}if(!data||!data.length||!data.filter(function(d){return d.values.length}).length){nv.utils.noData(chart,container);return chart}else{container.selectAll(".nv-noData").remove()}x=lines.xScale();y=lines.yScale();var wrap=container.selectAll("g.nv-wrap.nv-lineChart").data([data]);var gEnter=wrap.enter().append("g").attr("class","nvd3 nv-wrap nv-lineChart").append("g");var g=wrap.select("g");gEnter.append("rect").style("opacity",0);gEnter.append("g").attr("class","nv-x nv-axis");gEnter.append("g").attr("class","nv-y nv-axis");gEnter.append("g").attr("class","nv-linesWrap");gEnter.append("g").attr("class","nv-legendWrap");gEnter.append("g").attr("class","nv-interactive");g.select("rect").attr("width",availableWidth).attr("height",availableHeight>0?availableHeight:0);if(showLegend){legend.width(availableWidth);g.select(".nv-legendWrap").datum(data).call(legend);if(margin.top!=legend.height()){margin.top=legend.height();availableHeight=nv.utils.availableHeight(height,container,margin)}wrap.select(".nv-legendWrap").attr("transform","translate(0,"+-margin.top+")")}wrap.attr("transform","translate("+margin.left+","+margin.top+")");if(rightAlignYAxis){g.select(".nv-y.nv-axis").attr("transform","translate("+availableWidth+",0)")}if(useInteractiveGuideline){interactiveLayer.width(availableWidth).height(availableHeight).margin({left:margin.left,top:margin.top}).svgContainer(container).xScale(x);wrap.select(".nv-interactive").call(interactiveLayer)}lines.width(availableWidth).height(availableHeight).color(data.map(function(d,i){return d.color||color(d,i)}).filter(function(d,i){return!data[i].disabled}));var linesWrap=g.select(".nv-linesWrap").datum(data.filter(function(d){return!d.disabled}));linesWrap.call(lines);if(showXAxis){xAxis.scale(x)._ticks(nv.utils.calcTicksX(availableWidth/100,data)).tickSize(-availableHeight,0);g.select(".nv-x.nv-axis").attr("transform","translate(0,"+y.range()[0]+")");g.select(".nv-x.nv-axis").call(xAxis)}if(showYAxis){yAxis.scale(y)._ticks(nv.utils.calcTicksY(availableHeight/36,data)).tickSize(-availableWidth,0);g.select(".nv-y.nv-axis").call(yAxis)}legend.dispatch.on("stateChange",function(newState){for(var key in newState)state[key]=newState[key];dispatch.stateChange(state);chart.update()});interactiveLayer.dispatch.on("elementMousemove",function(e){lines.clearHighlights();var singlePoint,pointIndex,pointXLocation,allData=[];data.filter(function(series,i){series.seriesIndex=i;return!series.disabled}).forEach(function(series,i){pointIndex=nv.interactiveBisect(series.values,e.pointXValue,chart.x());var point=series.values[pointIndex];var pointYValue=chart.y()(point,pointIndex);if(pointYValue!=null){lines.highlightPoint(i,pointIndex,true)}if(point===undefined)return;if(singlePoint===undefined)singlePoint=point;if(pointXLocation===undefined)pointXLocation=chart.xScale()(chart.x()(point,pointIndex));allData.push({key:series.key,value:pointYValue,color:color(series,series.seriesIndex)})});if(allData.length>2){var yValue=chart.yScale().invert(e.mouseY);var domainExtent=Math.abs(chart.yScale().domain()[0]-chart.yScale().domain()[1]);var threshold=.03*domainExtent;var indexToHighlight=nv.nearestValueIndex(allData.map(function(d){return d.value}),yValue,threshold);if(indexToHighlight!==null)allData[indexToHighlight].highlight=true}var xValue=xAxis.tickFormat()(chart.x()(singlePoint,pointIndex));interactiveLayer.tooltip.position({left:e.mouseX+margin.left,top:e.mouseY+margin.top}).chartContainer(that.parentNode).valueFormatter(function(d,i){return d==null?"N/A":yAxis.tickFormat()(d)}).data({value:xValue,index:pointIndex,series:allData})();interactiveLayer.renderGuideLine(pointXLocation)});interactiveLayer.dispatch.on("elementClick",function(e){var pointXLocation,allData=[];data.filter(function(series,i){series.seriesIndex=i;return!series.disabled}).forEach(function(series){var pointIndex=nv.interactiveBisect(series.values,e.pointXValue,chart.x());var point=series.values[pointIndex];if(typeof point==="undefined")return;if(typeof pointXLocation==="undefined")pointXLocation=chart.xScale()(chart.x()(point,pointIndex));var yPos=chart.yScale()(chart.y()(point,pointIndex));allData.push({point:point,pointIndex:pointIndex,pos:[pointXLocation,yPos],seriesIndex:series.seriesIndex,series:series})});lines.dispatch.elementClick(allData)});interactiveLayer.dispatch.on("elementMouseout",function(e){lines.clearHighlights()});dispatch.on("changeState",function(e){if(typeof e.disabled!=="undefined"&&data.length===e.disabled.length){data.forEach(function(series,i){series.disabled=e.disabled[i]});state.disabled=e.disabled}chart.update()})});renderWatch.renderEnd("lineChart immediate");return chart}lines.dispatch.on("elementMouseover.tooltip",function(evt){tooltip.data(evt).position(evt.pos).hidden(false)});lines.dispatch.on("elementMouseout.tooltip",function(evt){tooltip.hidden(true)});chart.dispatch=dispatch;chart.lines=lines;chart.legend=legend;chart.xAxis=xAxis;chart.yAxis=yAxis;chart.interactiveLayer=interactiveLayer;chart.tooltip=tooltip;chart.dispatch=dispatch;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{width:{get:function(){return width},set:function(_){width=_}},height:{get:function(){return height},set:function(_){height=_}},showLegend:{get:function(){return showLegend},set:function(_){showLegend=_}},showXAxis:{get:function(){return showXAxis},set:function(_){showXAxis=_}},showYAxis:{get:function(){return showYAxis},set:function(_){showYAxis=_}},defaultState:{get:function(){return defaultState},set:function(_){defaultState=_}},noData:{get:function(){return noData},set:function(_){noData=_}},tooltips:{get:function(){return tooltip.enabled()},set:function(_){nv.deprecated("tooltips","use chart.tooltip.enabled() instead");tooltip.enabled(!!_)}},tooltipContent:{get:function(){return tooltip.contentGenerator()},set:function(_){nv.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead");tooltip.contentGenerator(_)}},margin:{get:function(){return margin},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left}},duration:{get:function(){return duration},set:function(_){duration=_;renderWatch.reset(duration);lines.duration(duration);xAxis.duration(duration);yAxis.duration(duration)}},color:{get:function(){return color},set:function(_){color=nv.utils.getColor(_);legend.color(color);lines.color(color)}},rightAlignYAxis:{get:function(){return rightAlignYAxis},set:function(_){rightAlignYAxis=_;yAxis.orient(rightAlignYAxis?"right":"left")}},useInteractiveGuideline:{get:function(){return useInteractiveGuideline},set:function(_){useInteractiveGuideline=_;if(useInteractiveGuideline){lines.interactive(false);lines.useVoronoi(false)}}}});nv.utils.inheritOptions(chart,lines);nv.utils.initOptions(chart);return chart};nv.models.linePlusBarChart=function(){"use strict";var lines=nv.models.line(),lines2=nv.models.line(),bars=nv.models.historicalBar(),bars2=nv.models.historicalBar(),xAxis=nv.models.axis(),x2Axis=nv.models.axis(),y1Axis=nv.models.axis(),y2Axis=nv.models.axis(),y3Axis=nv.models.axis(),y4Axis=nv.models.axis(),legend=nv.models.legend(),brush=d3.svg.brush(),tooltip=nv.models.tooltip();var margin={top:30,right:30,bottom:30,left:60},margin2={top:0,right:30,bottom:20,left:60},width=null,height=null,getX=function(d){return d.x},getY=function(d){return d.y},color=nv.utils.defaultColor(),showLegend=true,focusEnable=true,focusShowAxisY=false,focusShowAxisX=true,focusHeight=50,extent,brushExtent=null,x,x2,y1,y2,y3,y4,noData=null,dispatch=d3.dispatch("brush","stateChange","changeState"),transitionDuration=0,state=nv.utils.state(),defaultState=null,legendLeftAxisHint=" (left axis)",legendRightAxisHint=" (right axis)";lines.clipEdge(true);lines2.interactive(false);lines2.pointActive(function(d){return false});xAxis.orient("bottom").tickPadding(5);y1Axis.orient("left");y2Axis.orient("right");x2Axis.orient("bottom").tickPadding(5);y3Axis.orient("left");y4Axis.orient("right");tooltip.headerEnabled(true).headerFormatter(function(d,i){return xAxis.tickFormat()(d,i)});var stateGetter=function(data){return function(){return{active:data.map(function(d){return!d.disabled})}}};var stateSetter=function(data){return function(state){if(state.active!==undefined)data.forEach(function(series,i){series.disabled=!state.active[i]})}};function chart(selection){selection.each(function(data){var container=d3.select(this),that=this;nv.utils.initSVG(container);var availableWidth=nv.utils.availableWidth(width,container,margin),availableHeight1=nv.utils.availableHeight(height,container,margin)-(focusEnable?focusHeight:0),availableHeight2=focusHeight-margin2.top-margin2.bottom;chart.update=function(){container.transition().duration(transitionDuration).call(chart)};chart.container=this;state.setter(stateSetter(data),chart.update).getter(stateGetter(data)).update();state.disabled=data.map(function(d){return!!d.disabled});if(!defaultState){var key;defaultState={};for(key in state){if(state[key]instanceof Array)defaultState[key]=state[key].slice(0);else defaultState[key]=state[key]}}if(!data||!data.length||!data.filter(function(d){return d.values.length}).length){nv.utils.noData(chart,container);return chart}else{container.selectAll(".nv-noData").remove()}var dataBars=data.filter(function(d){return!d.disabled&&d.bar});var dataLines=data.filter(function(d){return!d.bar});x=bars.xScale();x2=x2Axis.scale();y1=bars.yScale();y2=lines.yScale();y3=bars2.yScale();y4=lines2.yScale();var series1=data.filter(function(d){return!d.disabled&&d.bar}).map(function(d){return d.values.map(function(d,i){return{x:getX(d,i),y:getY(d,i)}})});var series2=data.filter(function(d){return!d.disabled&&!d.bar}).map(function(d){return d.values.map(function(d,i){return{x:getX(d,i),y:getY(d,i)}})});x.range([0,availableWidth]);x2.domain(d3.extent(d3.merge(series1.concat(series2)),function(d){return d.x})).range([0,availableWidth]);var wrap=container.selectAll("g.nv-wrap.nv-linePlusBar").data([data]);var gEnter=wrap.enter().append("g").attr("class","nvd3 nv-wrap nv-linePlusBar").append("g");var g=wrap.select("g");gEnter.append("g").attr("class","nv-legendWrap");var focusEnter=gEnter.append("g").attr("class","nv-focus");focusEnter.append("g").attr("class","nv-x nv-axis");focusEnter.append("g").attr("class","nv-y1 nv-axis");focusEnter.append("g").attr("class","nv-y2 nv-axis");focusEnter.append("g").attr("class","nv-barsWrap");focusEnter.append("g").attr("class","nv-linesWrap");var contextEnter=gEnter.append("g").attr("class","nv-context");contextEnter.append("g").attr("class","nv-x nv-axis");contextEnter.append("g").attr("class","nv-y1 nv-axis");contextEnter.append("g").attr("class","nv-y2 nv-axis");contextEnter.append("g").attr("class","nv-barsWrap");contextEnter.append("g").attr("class","nv-linesWrap");contextEnter.append("g").attr("class","nv-brushBackground");contextEnter.append("g").attr("class","nv-x nv-brush");if(showLegend){var legendWidth=legend.align()?availableWidth/2:availableWidth;var legendXPosition=legend.align()?legendWidth:0;legend.width(legendWidth);g.select(".nv-legendWrap").datum(data.map(function(series){series.originalKey=series.originalKey===undefined?series.key:series.originalKey;series.key=series.originalKey+(series.bar?legendLeftAxisHint:legendRightAxisHint);return series})).call(legend);if(margin.top!=legend.height()){margin.top=legend.height();availableHeight1=nv.utils.availableHeight(height,container,margin)-focusHeight}g.select(".nv-legendWrap").attr("transform","translate("+legendXPosition+","+-margin.top+")")}wrap.attr("transform","translate("+margin.left+","+margin.top+")");g.select(".nv-context").style("display",focusEnable?"initial":"none");bars2.width(availableWidth).height(availableHeight2).color(data.map(function(d,i){return d.color||color(d,i)}).filter(function(d,i){return!data[i].disabled&&data[i].bar}));lines2.width(availableWidth).height(availableHeight2).color(data.map(function(d,i){return d.color||color(d,i)}).filter(function(d,i){return!data[i].disabled&&!data[i].bar}));var bars2Wrap=g.select(".nv-context .nv-barsWrap").datum(dataBars.length?dataBars:[{values:[]}]);var lines2Wrap=g.select(".nv-context .nv-linesWrap").datum(!dataLines[0].disabled?dataLines:[{values:[]}]);g.select(".nv-context").attr("transform","translate(0,"+(availableHeight1+margin.bottom+margin2.top)+")");bars2Wrap.transition().call(bars2);lines2Wrap.transition().call(lines2);if(focusShowAxisX){x2Axis._ticks(nv.utils.calcTicksX(availableWidth/100,data)).tickSize(-availableHeight2,0);g.select(".nv-context .nv-x.nv-axis").attr("transform","translate(0,"+y3.range()[0]+")");g.select(".nv-context .nv-x.nv-axis").transition().call(x2Axis)}if(focusShowAxisY){y3Axis.scale(y3)._ticks(availableHeight2/36).tickSize(-availableWidth,0);y4Axis.scale(y4)._ticks(availableHeight2/36).tickSize(dataBars.length?0:-availableWidth,0);g.select(".nv-context .nv-y3.nv-axis").style("opacity",dataBars.length?1:0).attr("transform","translate(0,"+x2.range()[0]+")");g.select(".nv-context .nv-y2.nv-axis").style("opacity",dataLines.length?1:0).attr("transform","translate("+x2.range()[1]+",0)");g.select(".nv-context .nv-y1.nv-axis").transition().call(y3Axis);g.select(".nv-context .nv-y2.nv-axis").transition().call(y4Axis)}brush.x(x2).on("brush",onBrush);if(brushExtent)brush.extent(brushExtent);var brushBG=g.select(".nv-brushBackground").selectAll("g").data([brushExtent||brush.extent()]);var brushBGenter=brushBG.enter().append("g");brushBGenter.append("rect").attr("class","left").attr("x",0).attr("y",0).attr("height",availableHeight2);brushBGenter.append("rect").attr("class","right").attr("x",0).attr("y",0).attr("height",availableHeight2);var gBrush=g.select(".nv-x.nv-brush").call(brush);gBrush.selectAll("rect").attr("height",availableHeight2);gBrush.selectAll(".resize").append("path").attr("d",resizePath);legend.dispatch.on("stateChange",function(newState){for(var key in newState)state[key]=newState[key];dispatch.stateChange(state);chart.update()});dispatch.on("changeState",function(e){if(typeof e.disabled!=="undefined"){data.forEach(function(series,i){series.disabled=e.disabled[i]});state.disabled=e.disabled}chart.update()});function resizePath(d){var e=+(d=="e"),x=e?1:-1,y=availableHeight2/3;return"M"+.5*x+","+y+"A6,6 0 0 "+e+" "+6.5*x+","+(y+6)+"V"+(2*y-6)+"A6,6 0 0 "+e+" "+.5*x+","+2*y+"Z"+"M"+2.5*x+","+(y+8)+"V"+(2*y-8)+"M"+4.5*x+","+(y+8)+"V"+(2*y-8)}function updateBrushBG(){if(!brush.empty())brush.extent(brushExtent);brushBG.data([brush.empty()?x2.domain():brushExtent]).each(function(d,i){var leftWidth=x2(d[0])-x2.range()[0],rightWidth=x2.range()[1]-x2(d[1]);d3.select(this).select(".left").attr("width",leftWidth<0?0:leftWidth);d3.select(this).select(".right").attr("x",x2(d[1])).attr("width",rightWidth<0?0:rightWidth)})}function onBrush(){brushExtent=brush.empty()?null:brush.extent();extent=brush.empty()?x2.domain():brush.extent();dispatch.brush({extent:extent,brush:brush});updateBrushBG();bars.width(availableWidth).height(availableHeight1).color(data.map(function(d,i){return d.color||color(d,i)}).filter(function(d,i){return!data[i].disabled&&data[i].bar}));lines.width(availableWidth).height(availableHeight1).color(data.map(function(d,i){return d.color||color(d,i)}).filter(function(d,i){return!data[i].disabled&&!data[i].bar}));var focusBarsWrap=g.select(".nv-focus .nv-barsWrap").datum(!dataBars.length?[{values:[]}]:dataBars.map(function(d,i){return{key:d.key,values:d.values.filter(function(d,i){return bars.x()(d,i)>=extent[0]&&bars.x()(d,i)<=extent[1]})}}));var focusLinesWrap=g.select(".nv-focus .nv-linesWrap").datum(dataLines[0].disabled?[{values:[]}]:dataLines.map(function(d,i){return{area:d.area,fillOpacity:d.fillOpacity,key:d.key,values:d.values.filter(function(d,i){return lines.x()(d,i)>=extent[0]&&lines.x()(d,i)<=extent[1]})}}));if(dataBars.length){x=bars.xScale()}else{x=lines.xScale()}xAxis.scale(x)._ticks(nv.utils.calcTicksX(availableWidth/100,data)).tickSize(-availableHeight1,0);xAxis.domain([Math.ceil(extent[0]),Math.floor(extent[1])]);g.select(".nv-x.nv-axis").transition().duration(transitionDuration).call(xAxis);focusBarsWrap.transition().duration(transitionDuration).call(bars);focusLinesWrap.transition().duration(transitionDuration).call(lines);g.select(".nv-focus .nv-x.nv-axis").attr("transform","translate(0,"+y1.range()[0]+")");y1Axis.scale(y1)._ticks(nv.utils.calcTicksY(availableHeight1/36,data)).tickSize(-availableWidth,0);y2Axis.scale(y2)._ticks(nv.utils.calcTicksY(availableHeight1/36,data)).tickSize(dataBars.length?0:-availableWidth,0);g.select(".nv-focus .nv-y1.nv-axis").style("opacity",dataBars.length?1:0);g.select(".nv-focus .nv-y2.nv-axis").style("opacity",dataLines.length&&!dataLines[0].disabled?1:0).attr("transform","translate("+x.range()[1]+",0)");g.select(".nv-focus .nv-y1.nv-axis").transition().duration(transitionDuration).call(y1Axis);g.select(".nv-focus .nv-y2.nv-axis").transition().duration(transitionDuration).call(y2Axis)}onBrush()});return chart}lines.dispatch.on("elementMouseover.tooltip",function(evt){tooltip.duration(100).valueFormatter(function(d,i){return y2Axis.tickFormat()(d,i)}).data(evt).position(evt.pos).hidden(false)});lines.dispatch.on("elementMouseout.tooltip",function(evt){tooltip.hidden(true)});bars.dispatch.on("elementMouseover.tooltip",function(evt){evt.value=chart.x()(evt.data);evt["series"]={value:chart.y()(evt.data),color:evt.color};tooltip.duration(0).valueFormatter(function(d,i){return y1Axis.tickFormat()(d,i)}).data(evt).hidden(false)});bars.dispatch.on("elementMouseout.tooltip",function(evt){tooltip.hidden(true)});bars.dispatch.on("elementMousemove.tooltip",function(evt){tooltip.position({top:d3.event.pageY,left:d3.event.pageX})()});chart.dispatch=dispatch;chart.legend=legend;chart.lines=lines;chart.lines2=lines2;chart.bars=bars;chart.bars2=bars2;chart.xAxis=xAxis;chart.x2Axis=x2Axis;chart.y1Axis=y1Axis;chart.y2Axis=y2Axis;chart.y3Axis=y3Axis;chart.y4Axis=y4Axis;chart.tooltip=tooltip;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{width:{get:function(){return width},set:function(_){width=_}},height:{get:function(){return height},set:function(_){height=_}},showLegend:{get:function(){return showLegend},set:function(_){showLegend=_}},brushExtent:{get:function(){return brushExtent},set:function(_){brushExtent=_}},noData:{get:function(){return noData},set:function(_){noData=_}},focusEnable:{get:function(){return focusEnable},set:function(_){focusEnable=_}},focusHeight:{get:function(){return focusHeight},set:function(_){focusHeight=_}},focusShowAxisX:{get:function(){return focusShowAxisX},set:function(_){focusShowAxisX=_}},focusShowAxisY:{get:function(){return focusShowAxisY},set:function(_){focusShowAxisY=_}},legendLeftAxisHint:{get:function(){return legendLeftAxisHint},set:function(_){legendLeftAxisHint=_}},legendRightAxisHint:{get:function(){return legendRightAxisHint},set:function(_){legendRightAxisHint=_}},tooltips:{get:function(){return tooltip.enabled()},set:function(_){nv.deprecated("tooltips","use chart.tooltip.enabled() instead");tooltip.enabled(!!_)}},tooltipContent:{get:function(){return tooltip.contentGenerator()},set:function(_){nv.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead");tooltip.contentGenerator(_)}},margin:{get:function(){return margin},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left}},focusMargin:{get:function(){return margin2},set:function(_){margin2.top=_.top!==undefined?_.top:margin2.top;margin2.right=_.right!==undefined?_.right:margin2.right;margin2.bottom=_.bottom!==undefined?_.bottom:margin2.bottom;margin2.left=_.left!==undefined?_.left:margin2.left}},duration:{get:function(){return transitionDuration},set:function(_){transitionDuration=_}},color:{get:function(){return color},set:function(_){color=nv.utils.getColor(_);legend.color(color)}},x:{get:function(){return getX},set:function(_){getX=_;lines.x(_);lines2.x(_);bars.x(_);bars2.x(_)}},y:{get:function(){return getY},set:function(_){getY=_;lines.y(_);lines2.y(_);bars.y(_);bars2.y(_)}}});nv.utils.inheritOptions(chart,lines);nv.utils.initOptions(chart);return chart};nv.models.lineWithFocusChart=function(){"use strict";var lines=nv.models.line(),lines2=nv.models.line(),xAxis=nv.models.axis(),yAxis=nv.models.axis(),x2Axis=nv.models.axis(),y2Axis=nv.models.axis(),legend=nv.models.legend(),brush=d3.svg.brush(),tooltip=nv.models.tooltip(),interactiveLayer=nv.interactiveGuideline();var margin={top:30,right:30,bottom:30,left:60},margin2={top:0,right:30,bottom:20,left:60},color=nv.utils.defaultColor(),width=null,height=null,height2=50,useInteractiveGuideline=false,x,y,x2,y2,showLegend=true,brushExtent=null,noData=null,dispatch=d3.dispatch("brush","stateChange","changeState"),transitionDuration=250,state=nv.utils.state(),defaultState=null;lines.clipEdge(true).duration(0);lines2.interactive(false);lines2.pointActive(function(d){return false});xAxis.orient("bottom").tickPadding(5);yAxis.orient("left");x2Axis.orient("bottom").tickPadding(5);y2Axis.orient("left");tooltip.valueFormatter(function(d,i){return yAxis.tickFormat()(d,i)}).headerFormatter(function(d,i){return xAxis.tickFormat()(d,i)});var stateGetter=function(data){return function(){return{active:data.map(function(d){return!d.disabled})}}};var stateSetter=function(data){return function(state){if(state.active!==undefined)data.forEach(function(series,i){series.disabled=!state.active[i]})}};function chart(selection){selection.each(function(data){var container=d3.select(this),that=this;nv.utils.initSVG(container);var availableWidth=nv.utils.availableWidth(width,container,margin),availableHeight1=nv.utils.availableHeight(height,container,margin)-height2,availableHeight2=height2-margin2.top-margin2.bottom;chart.update=function(){container.transition().duration(transitionDuration).call(chart)};chart.container=this;state.setter(stateSetter(data),chart.update).getter(stateGetter(data)).update();state.disabled=data.map(function(d){return!!d.disabled});if(!defaultState){var key;defaultState={};for(key in state){if(state[key]instanceof Array)defaultState[key]=state[key].slice(0);else defaultState[key]=state[key]}}if(!data||!data.length||!data.filter(function(d){return d.values.length}).length){nv.utils.noData(chart,container);return chart}else{container.selectAll(".nv-noData").remove()}x=lines.xScale();y=lines.yScale();x2=lines2.xScale();y2=lines2.yScale();var wrap=container.selectAll("g.nv-wrap.nv-lineWithFocusChart").data([data]);var gEnter=wrap.enter().append("g").attr("class","nvd3 nv-wrap nv-lineWithFocusChart").append("g");var g=wrap.select("g");gEnter.append("g").attr("class","nv-legendWrap");var focusEnter=gEnter.append("g").attr("class","nv-focus");focusEnter.append("g").attr("class","nv-x nv-axis");focusEnter.append("g").attr("class","nv-y nv-axis");focusEnter.append("g").attr("class","nv-linesWrap");focusEnter.append("g").attr("class","nv-interactive");var contextEnter=gEnter.append("g").attr("class","nv-context");contextEnter.append("g").attr("class","nv-x nv-axis");contextEnter.append("g").attr("class","nv-y nv-axis");contextEnter.append("g").attr("class","nv-linesWrap");contextEnter.append("g").attr("class","nv-brushBackground");contextEnter.append("g").attr("class","nv-x nv-brush");if(showLegend){legend.width(availableWidth);g.select(".nv-legendWrap").datum(data).call(legend);if(margin.top!=legend.height()){margin.top=legend.height();availableHeight1=nv.utils.availableHeight(height,container,margin)-height2}g.select(".nv-legendWrap").attr("transform","translate(0,"+-margin.top+")")}wrap.attr("transform","translate("+margin.left+","+margin.top+")");if(useInteractiveGuideline){interactiveLayer.width(availableWidth).height(availableHeight1).margin({left:margin.left,top:margin.top}).svgContainer(container).xScale(x);wrap.select(".nv-interactive").call(interactiveLayer)}lines.width(availableWidth).height(availableHeight1).color(data.map(function(d,i){return d.color||color(d,i)}).filter(function(d,i){return!data[i].disabled}));lines2.defined(lines.defined()).width(availableWidth).height(availableHeight2).color(data.map(function(d,i){return d.color||color(d,i)}).filter(function(d,i){return!data[i].disabled}));g.select(".nv-context").attr("transform","translate(0,"+(availableHeight1+margin.bottom+margin2.top)+")");var contextLinesWrap=g.select(".nv-context .nv-linesWrap").datum(data.filter(function(d){return!d.disabled}));d3.transition(contextLinesWrap).call(lines2);xAxis.scale(x)._ticks(nv.utils.calcTicksX(availableWidth/100,data)).tickSize(-availableHeight1,0);yAxis.scale(y)._ticks(nv.utils.calcTicksY(availableHeight1/36,data)).tickSize(-availableWidth,0);g.select(".nv-focus .nv-x.nv-axis").attr("transform","translate(0,"+availableHeight1+")");brush.x(x2).on("brush",function(){onBrush()});if(brushExtent)brush.extent(brushExtent);var brushBG=g.select(".nv-brushBackground").selectAll("g").data([brushExtent||brush.extent()]);var brushBGenter=brushBG.enter().append("g");brushBGenter.append("rect").attr("class","left").attr("x",0).attr("y",0).attr("height",availableHeight2);brushBGenter.append("rect").attr("class","right").attr("x",0).attr("y",0).attr("height",availableHeight2);var gBrush=g.select(".nv-x.nv-brush").call(brush);gBrush.selectAll("rect").attr("height",availableHeight2);gBrush.selectAll(".resize").append("path").attr("d",resizePath);onBrush();x2Axis.scale(x2)._ticks(nv.utils.calcTicksX(availableWidth/100,data)).tickSize(-availableHeight2,0);g.select(".nv-context .nv-x.nv-axis").attr("transform","translate(0,"+y2.range()[0]+")");d3.transition(g.select(".nv-context .nv-x.nv-axis")).call(x2Axis);y2Axis.scale(y2)._ticks(nv.utils.calcTicksY(availableHeight2/36,data)).tickSize(-availableWidth,0);d3.transition(g.select(".nv-context .nv-y.nv-axis")).call(y2Axis);g.select(".nv-context .nv-x.nv-axis").attr("transform","translate(0,"+y2.range()[0]+")");legend.dispatch.on("stateChange",function(newState){for(var key in newState)state[key]=newState[key];dispatch.stateChange(state);chart.update()});interactiveLayer.dispatch.on("elementMousemove",function(e){lines.clearHighlights();var singlePoint,pointIndex,pointXLocation,allData=[];data.filter(function(series,i){series.seriesIndex=i;return!series.disabled}).forEach(function(series,i){var extent=brush.empty()?x2.domain():brush.extent();var currentValues=series.values.filter(function(d,i){return lines.x()(d,i)>=extent[0]&&lines.x()(d,i)<=extent[1]});pointIndex=nv.interactiveBisect(currentValues,e.pointXValue,lines.x());var point=currentValues[pointIndex];var pointYValue=chart.y()(point,pointIndex);if(pointYValue!=null){lines.highlightPoint(i,pointIndex,true)}if(point===undefined)return;if(singlePoint===undefined)singlePoint=point;if(pointXLocation===undefined)pointXLocation=chart.xScale()(chart.x()(point,pointIndex));allData.push({key:series.key,value:chart.y()(point,pointIndex),color:color(series,series.seriesIndex)})});if(allData.length>2){var yValue=chart.yScale().invert(e.mouseY);var domainExtent=Math.abs(chart.yScale().domain()[0]-chart.yScale().domain()[1]);var threshold=.03*domainExtent;var indexToHighlight=nv.nearestValueIndex(allData.map(function(d){return d.value}),yValue,threshold);if(indexToHighlight!==null)allData[indexToHighlight].highlight=true}var xValue=xAxis.tickFormat()(chart.x()(singlePoint,pointIndex));interactiveLayer.tooltip.position({left:e.mouseX+margin.left,top:e.mouseY+margin.top}).chartContainer(that.parentNode).valueFormatter(function(d,i){return d==null?"N/A":yAxis.tickFormat()(d)}).data({value:xValue,index:pointIndex,series:allData})();interactiveLayer.renderGuideLine(pointXLocation)});interactiveLayer.dispatch.on("elementMouseout",function(e){lines.clearHighlights()});dispatch.on("changeState",function(e){if(typeof e.disabled!=="undefined"){data.forEach(function(series,i){series.disabled=e.disabled[i]})}chart.update()});function resizePath(d){var e=+(d=="e"),x=e?1:-1,y=availableHeight2/3;return"M"+.5*x+","+y+"A6,6 0 0 "+e+" "+6.5*x+","+(y+6)+"V"+(2*y-6)+"A6,6 0 0 "+e+" "+.5*x+","+2*y+"Z"+"M"+2.5*x+","+(y+8)+"V"+(2*y-8)+"M"+4.5*x+","+(y+8)+"V"+(2*y-8)}function updateBrushBG(){if(!brush.empty())brush.extent(brushExtent);brushBG.data([brush.empty()?x2.domain():brushExtent]).each(function(d,i){var leftWidth=x2(d[0])-x.range()[0],rightWidth=availableWidth-x2(d[1]);d3.select(this).select(".left").attr("width",leftWidth<0?0:leftWidth);d3.select(this).select(".right").attr("x",x2(d[1])).attr("width",rightWidth<0?0:rightWidth)})}function onBrush(){brushExtent=brush.empty()?null:brush.extent();var extent=brush.empty()?x2.domain():brush.extent();if(Math.abs(extent[0]-extent[1])<=1){return}dispatch.brush({extent:extent,brush:brush});updateBrushBG();var focusLinesWrap=g.select(".nv-focus .nv-linesWrap").datum(data.filter(function(d){return!d.disabled}).map(function(d,i){return{key:d.key,area:d.area,values:d.values.filter(function(d,i){return lines.x()(d,i)>=extent[0]&&lines.x()(d,i)<=extent[1]})}}));focusLinesWrap.transition().duration(transitionDuration).call(lines);g.select(".nv-focus .nv-x.nv-axis").transition().duration(transitionDuration).call(xAxis);g.select(".nv-focus .nv-y.nv-axis").transition().duration(transitionDuration).call(yAxis)}});return chart}lines.dispatch.on("elementMouseover.tooltip",function(evt){tooltip.data(evt).position(evt.pos).hidden(false)});lines.dispatch.on("elementMouseout.tooltip",function(evt){tooltip.hidden(true)});chart.dispatch=dispatch;chart.legend=legend;chart.lines=lines;chart.lines2=lines2;chart.xAxis=xAxis;chart.yAxis=yAxis;chart.x2Axis=x2Axis;chart.y2Axis=y2Axis;chart.interactiveLayer=interactiveLayer;chart.tooltip=tooltip;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{width:{get:function(){return width},set:function(_){width=_}},height:{get:function(){return height},set:function(_){height=_}},focusHeight:{get:function(){return height2},set:function(_){height2=_}},showLegend:{get:function(){return showLegend},set:function(_){showLegend=_}},brushExtent:{get:function(){return brushExtent},set:function(_){brushExtent=_}},defaultState:{get:function(){return defaultState},set:function(_){defaultState=_}},noData:{get:function(){return noData},set:function(_){noData=_}},tooltips:{get:function(){return tooltip.enabled()},set:function(_){nv.deprecated("tooltips","use chart.tooltip.enabled() instead");tooltip.enabled(!!_)
+}},tooltipContent:{get:function(){return tooltip.contentGenerator()},set:function(_){nv.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead");tooltip.contentGenerator(_)}},margin:{get:function(){return margin},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left}},focusMargin:{get:function(){return margin2},set:function(_){margin2.top=_.top!==undefined?_.top:margin2.top;margin2.right=_.right!==undefined?_.right:margin2.right;margin2.bottom=_.bottom!==undefined?_.bottom:margin2.bottom;margin2.left=_.left!==undefined?_.left:margin2.left}},color:{get:function(){return color},set:function(_){color=nv.utils.getColor(_);legend.color(color)}},interpolate:{get:function(){return lines.interpolate()},set:function(_){lines.interpolate(_);lines2.interpolate(_)}},xTickFormat:{get:function(){return xAxis.tickFormat()},set:function(_){xAxis.tickFormat(_);x2Axis.tickFormat(_)}},yTickFormat:{get:function(){return yAxis.tickFormat()},set:function(_){yAxis.tickFormat(_);y2Axis.tickFormat(_)}},duration:{get:function(){return transitionDuration},set:function(_){transitionDuration=_;yAxis.duration(transitionDuration);y2Axis.duration(transitionDuration);xAxis.duration(transitionDuration);x2Axis.duration(transitionDuration)}},x:{get:function(){return lines.x()},set:function(_){lines.x(_);lines2.x(_)}},y:{get:function(){return lines.y()},set:function(_){lines.y(_);lines2.y(_)}},useInteractiveGuideline:{get:function(){return useInteractiveGuideline},set:function(_){useInteractiveGuideline=_;if(useInteractiveGuideline){lines.interactive(false);lines.useVoronoi(false)}}}});nv.utils.inheritOptions(chart,lines);nv.utils.initOptions(chart);return chart};nv.models.multiBar=function(){"use strict";var margin={top:0,right:0,bottom:0,left:0},width=960,height=500,x=d3.scale.ordinal(),y=d3.scale.linear(),id=Math.floor(Math.random()*1e4),container=null,getX=function(d){return d.x},getY=function(d){return d.y},getYerr=function(d){return d.yErr},forceY=[0],clipEdge=true,stacked=false,stackOffset="zero",color=nv.utils.defaultColor(),errorBarColor=nv.utils.defaultColor(),hideable=false,barColor=null,disabled,duration=500,xDomain,yDomain,xRange,yRange,groupSpacing=.1,dispatch=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove","renderEnd");var x0,y0,renderWatch=nv.utils.renderWatch(dispatch,duration);var last_datalength=0;function chart(selection){renderWatch.reset();selection.each(function(data){var availableWidth=width-margin.left-margin.right,availableHeight=height-margin.top-margin.bottom;container=d3.select(this);nv.utils.initSVG(container);var nonStackableCount=0;var endFn=function(d,i){if(d.series===data.length-1&&i===data[0].values.length-1)return true;return false};if(hideable&&data.length)hideable=[{values:data[0].values.map(function(d){return{x:d.x,y:0,series:d.series,size:.01}})}];if(stacked){var parsed=d3.layout.stack().offset(stackOffset).values(function(d){return d.values}).y(getY)(!data.length&&hideable?hideable:data);parsed.forEach(function(series,i){if(series.nonStackable){data[i].nonStackableSeries=nonStackableCount++;parsed[i]=data[i]}else{if(i>0&&parsed[i-1].nonStackable){parsed[i].values.map(function(d,j){d.y0-=parsed[i-1].values[j].y;d.y1=d.y0+d.y})}}});data=parsed}data.forEach(function(series,i){series.values.forEach(function(point){point.series=i;point.key=series.key})});if(stacked){data[0].values.map(function(d,i){var posBase=0,negBase=0;data.map(function(d,idx){if(!data[idx].nonStackable){var f=d.values[i];f.size=Math.abs(f.y);if(f.y<0){f.y1=negBase;negBase=negBase-f.size}else{f.y1=f.size+posBase;posBase=posBase+f.size}}})})}var seriesData=xDomain&&yDomain?[]:data.map(function(d,idx){return d.values.map(function(d,i){return{x:getX(d,i),y:getY(d,i),y0:d.y0,y1:d.y1,idx:idx,yErr:getYerr(d,i)}})});x.domain(xDomain||d3.merge(seriesData).map(function(d){return d.x})).rangeBands(xRange||[0,availableWidth],groupSpacing);y.domain(yDomain||d3.extent(d3.merge(d3.merge(seriesData).map(function(d){var domain=d.y;if(stacked&&!data[d.idx].nonStackable){if(d.y>0){domain=d.y1}else{domain=d.y1+d.y}}var yerr=d.yErr;if(yerr){if(yerr.length){return[domain+yerr[0],domain+yerr[1]]}else{yerr=Math.abs(yerr);return[domain-yerr,domain+yerr]}}else{return[domain]}})).concat(forceY))).range(yRange||[availableHeight,0]);if(x.domain()[0]===x.domain()[1])x.domain()[0]?x.domain([x.domain()[0]-x.domain()[0]*.01,x.domain()[1]+x.domain()[1]*.01]):x.domain([-1,1]);if(y.domain()[0]===y.domain()[1])y.domain()[0]?y.domain([y.domain()[0]+y.domain()[0]*.01,y.domain()[1]-y.domain()[1]*.01]):y.domain([-1,1]);x0=x0||x;y0=y0||y;var wrap=container.selectAll("g.nv-wrap.nv-multibar").data([data]);var wrapEnter=wrap.enter().append("g").attr("class","nvd3 nv-wrap nv-multibar");var defsEnter=wrapEnter.append("defs");var gEnter=wrapEnter.append("g");var g=wrap.select("g");gEnter.append("g").attr("class","nv-groups");wrap.attr("transform","translate("+margin.left+","+margin.top+")");defsEnter.append("clipPath").attr("id","nv-edge-clip-"+id).append("rect");wrap.select("#nv-edge-clip-"+id+" rect").attr("width",availableWidth).attr("height",availableHeight);g.attr("clip-path",clipEdge?"url(#nv-edge-clip-"+id+")":"");var groups=wrap.select(".nv-groups").selectAll(".nv-group").data(function(d){return d},function(d,i){return i});groups.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6);var exitTransition=renderWatch.transition(groups.exit().selectAll("g.nv-bar"),"multibarExit",Math.min(100,duration)).attr("y",function(d,i,j){var yVal=y0(0)||0;if(stacked){if(data[d.series]&&!data[d.series].nonStackable){yVal=y0(d.y0)}}return yVal}).attr("height",0).remove();if(exitTransition.delay)exitTransition.delay(function(d,i){var delay=i*(duration/(last_datalength+1))-i;return delay});groups.attr("class",function(d,i){return"nv-group nv-series-"+i}).classed("hover",function(d){return d.hover}).style("fill",function(d,i){return color(d,i)}).style("stroke",function(d,i){return color(d,i)});groups.style("stroke-opacity",1).style("fill-opacity",.75);var bars=groups.selectAll("g.nv-bar").data(function(d){return hideable&&!data.length?hideable.values:d.values});bars.exit().remove();var barsEnter=bars.enter().append("g").attr("class",function(d,i){return getY(d,i)<0?"nv-bar negative":"nv-bar positive"}).attr("transform",function(d,i,j){var _x=stacked&&!data[j].nonStackable?0:j*x.rangeBand()/data.length;var _y=y0(stacked&&!data[j].nonStackable?d.y0:0)||0;return"translate("+_x+","+_y+")"});barsEnter.append("rect").attr("height",0).attr("width",function(d,i,j){return x.rangeBand()/(stacked&&!data[j].nonStackable?1:data.length)}).style("fill",function(d,i,j){return color(d,j,i)}).style("stroke",function(d,i,j){return color(d,j,i)});bars.on("mouseover",function(d,i){d3.select(this).classed("hover",true);dispatch.elementMouseover({data:d,index:i,color:d3.select(this).style("fill")})}).on("mouseout",function(d,i){d3.select(this).classed("hover",false);dispatch.elementMouseout({data:d,index:i,color:d3.select(this).style("fill")})}).on("mousemove",function(d,i){dispatch.elementMousemove({data:d,index:i,color:d3.select(this).style("fill")})}).on("click",function(d,i){dispatch.elementClick({data:d,index:i,color:d3.select(this).style("fill")});d3.event.stopPropagation()}).on("dblclick",function(d,i){dispatch.elementDblClick({data:d,index:i,color:d3.select(this).style("fill")});d3.event.stopPropagation()});if(getYerr(data[0].values[0],0)){barsEnter.append("polyline");bars.select("polyline").attr("fill","none").attr("stroke",function(d,i,j){return errorBarColor(d,j,i)}).attr("points",function(d,i){var yerr=getYerr(d,i),mid=.8*x.rangeBand()/((stacked?1:data.length)*2);yerr=yerr.length?yerr:[-Math.abs(yerr),Math.abs(yerr)];yerr=yerr.map(function(e){return y(e)-y(0)});var a=[[-mid,yerr[0]],[mid,yerr[0]],[0,yerr[0]],[0,yerr[1]],[-mid,yerr[1]],[mid,yerr[1]]];return a.map(function(path){return path.join(",")}).join(" ")}).attr("transform",function(d,i){var xOffset=x.rangeBand()/((stacked?1:data.length)*2);var yOffset=getY(d,i)<0?y(getY(d,i))-y(0):0;return"translate("+xOffset+", "+yOffset+")"})}bars.attr("class",function(d,i){return getY(d,i)<0?"nv-bar negative":"nv-bar positive"});if(barColor){if(!disabled)disabled=data.map(function(){return true});bars.select("rect").style("fill",function(d,i,j){return d3.rgb(barColor(d,i)).darker(disabled.map(function(d,i){return i}).filter(function(d,i){return!disabled[i]})[j]).toString()}).style("stroke",function(d,i,j){return d3.rgb(barColor(d,i)).darker(disabled.map(function(d,i){return i}).filter(function(d,i){return!disabled[i]})[j]).toString()})}var barSelection=bars.watchTransition(renderWatch,"multibar",Math.min(250,duration)).delay(function(d,i){return i*duration/data[0].values.length});if(stacked){barSelection.attr("transform",function(d,i,j){var yVal=0;if(!data[j].nonStackable){yVal=y(d.y1)}else{if(getY(d,i)<0){yVal=y(0)}else{if(y(0)-y(getY(d,i))<-1){yVal=y(0)-1}else{yVal=y(getY(d,i))||0}}}var width=0;if(data[j].nonStackable){width=d.series*x.rangeBand()/data.length;if(data.length!==nonStackableCount){width=data[j].nonStackableSeries*x.rangeBand()/(nonStackableCount*2)}}var xVal=width+x(getX(d,i));return"translate("+xVal+","+yVal+")"}).select("rect").attr("height",function(d,i,j){if(!data[j].nonStackable){return Math.max(Math.abs(y(d.y+d.y0)-y(d.y0)),1)}else{return Math.max(Math.abs(y(getY(d,i))-y(0)),1)||0}}).attr("width",function(d,i,j){if(!data[j].nonStackable){return x.rangeBand()}else{var width=x.rangeBand()/nonStackableCount;if(data.length!==nonStackableCount){width=x.rangeBand()/(nonStackableCount*2)}return width}})}else{barSelection.attr("transform",function(d,i){var xVal=d.series*x.rangeBand()/data.length+x(getX(d,i));var yVal=getY(d,i)<0?y(0):y(0)-y(getY(d,i))<1?y(0)-1:y(getY(d,i))||0;return"translate("+xVal+","+yVal+")"}).select("rect").attr("width",x.rangeBand()/data.length).attr("height",function(d,i){return Math.max(Math.abs(y(getY(d,i))-y(0)),1)||0})}x0=x.copy();y0=y.copy();if(data[0]&&data[0].values){last_datalength=data[0].values.length}});renderWatch.renderEnd("multibar immediate");return chart}chart.dispatch=dispatch;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{width:{get:function(){return width},set:function(_){width=_}},height:{get:function(){return height},set:function(_){height=_}},x:{get:function(){return getX},set:function(_){getX=_}},y:{get:function(){return getY},set:function(_){getY=_}},yErr:{get:function(){return getYerr},set:function(_){getYerr=_}},xScale:{get:function(){return x},set:function(_){x=_}},yScale:{get:function(){return y},set:function(_){y=_}},xDomain:{get:function(){return xDomain},set:function(_){xDomain=_}},yDomain:{get:function(){return yDomain},set:function(_){yDomain=_}},xRange:{get:function(){return xRange},set:function(_){xRange=_}},yRange:{get:function(){return yRange},set:function(_){yRange=_}},forceY:{get:function(){return forceY},set:function(_){forceY=_}},stacked:{get:function(){return stacked},set:function(_){stacked=_}},stackOffset:{get:function(){return stackOffset},set:function(_){stackOffset=_}},clipEdge:{get:function(){return clipEdge},set:function(_){clipEdge=_}},disabled:{get:function(){return disabled},set:function(_){disabled=_}},id:{get:function(){return id},set:function(_){id=_}},hideable:{get:function(){return hideable},set:function(_){hideable=_}},groupSpacing:{get:function(){return groupSpacing},set:function(_){groupSpacing=_}},margin:{get:function(){return margin},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left}},duration:{get:function(){return duration},set:function(_){duration=_;renderWatch.reset(duration)}},color:{get:function(){return color},set:function(_){color=nv.utils.getColor(_)}},barColor:{get:function(){return barColor},set:function(_){barColor=_?nv.utils.getColor(_):null}},errorBarColor:{get:function(){return errorBarColor},set:function(_){errorBarColor=_?nv.utils.getColor(_):null}}});nv.utils.initOptions(chart);return chart};nv.models.multiBarChart=function(){"use strict";var multibar=nv.models.multiBar(),xAxis=nv.models.axis(),yAxis=nv.models.axis(),legend=nv.models.legend(),controls=nv.models.legend(),tooltip=nv.models.tooltip();var margin={top:30,right:20,bottom:50,left:60},width=null,height=null,color=nv.utils.defaultColor(),showControls=true,controlLabels={},showLegend=true,showXAxis=true,showYAxis=true,rightAlignYAxis=false,reduceXTicks=true,staggerLabels=false,rotateLabels=0,x,y,state=nv.utils.state(),defaultState=null,noData=null,dispatch=d3.dispatch("stateChange","changeState","renderEnd"),controlWidth=function(){return showControls?180:0},duration=250;state.stacked=false;multibar.stacked(false);xAxis.orient("bottom").tickPadding(7).showMaxMin(false).tickFormat(function(d){return d});yAxis.orient(rightAlignYAxis?"right":"left").tickFormat(d3.format(",.1f"));tooltip.duration(0).valueFormatter(function(d,i){return yAxis.tickFormat()(d,i)}).headerFormatter(function(d,i){return xAxis.tickFormat()(d,i)});controls.updateState(false);var renderWatch=nv.utils.renderWatch(dispatch);var stacked=false;var stateGetter=function(data){return function(){return{active:data.map(function(d){return!d.disabled}),stacked:stacked}}};var stateSetter=function(data){return function(state){if(state.stacked!==undefined)stacked=state.stacked;if(state.active!==undefined)data.forEach(function(series,i){series.disabled=!state.active[i]})}};function chart(selection){renderWatch.reset();renderWatch.models(multibar);if(showXAxis)renderWatch.models(xAxis);if(showYAxis)renderWatch.models(yAxis);selection.each(function(data){var container=d3.select(this),that=this;nv.utils.initSVG(container);var availableWidth=nv.utils.availableWidth(width,container,margin),availableHeight=nv.utils.availableHeight(height,container,margin);chart.update=function(){if(duration===0)container.call(chart);else container.transition().duration(duration).call(chart)};chart.container=this;state.setter(stateSetter(data),chart.update).getter(stateGetter(data)).update();state.disabled=data.map(function(d){return!!d.disabled});if(!defaultState){var key;defaultState={};for(key in state){if(state[key]instanceof Array)defaultState[key]=state[key].slice(0);else defaultState[key]=state[key]}}if(!data||!data.length||!data.filter(function(d){return d.values.length}).length){nv.utils.noData(chart,container);return chart}else{container.selectAll(".nv-noData").remove()}x=multibar.xScale();y=multibar.yScale();var wrap=container.selectAll("g.nv-wrap.nv-multiBarWithLegend").data([data]);var gEnter=wrap.enter().append("g").attr("class","nvd3 nv-wrap nv-multiBarWithLegend").append("g");var g=wrap.select("g");gEnter.append("g").attr("class","nv-x nv-axis");gEnter.append("g").attr("class","nv-y nv-axis");gEnter.append("g").attr("class","nv-barsWrap");gEnter.append("g").attr("class","nv-legendWrap");gEnter.append("g").attr("class","nv-controlsWrap");if(showLegend){legend.width(availableWidth-controlWidth());g.select(".nv-legendWrap").datum(data).call(legend);if(margin.top!=legend.height()){margin.top=legend.height();availableHeight=nv.utils.availableHeight(height,container,margin)}g.select(".nv-legendWrap").attr("transform","translate("+controlWidth()+","+-margin.top+")")}if(showControls){var controlsData=[{key:controlLabels.grouped||"Grouped",disabled:multibar.stacked()},{key:controlLabels.stacked||"Stacked",disabled:!multibar.stacked()}];controls.width(controlWidth()).color(["#444","#444","#444"]);g.select(".nv-controlsWrap").datum(controlsData).attr("transform","translate(0,"+-margin.top+")").call(controls)}wrap.attr("transform","translate("+margin.left+","+margin.top+")");if(rightAlignYAxis){g.select(".nv-y.nv-axis").attr("transform","translate("+availableWidth+",0)")}multibar.disabled(data.map(function(series){return series.disabled})).width(availableWidth).height(availableHeight).color(data.map(function(d,i){return d.color||color(d,i)}).filter(function(d,i){return!data[i].disabled}));var barsWrap=g.select(".nv-barsWrap").datum(data.filter(function(d){return!d.disabled}));barsWrap.call(multibar);if(showXAxis){xAxis.scale(x)._ticks(nv.utils.calcTicksX(availableWidth/100,data)).tickSize(-availableHeight,0);g.select(".nv-x.nv-axis").attr("transform","translate(0,"+y.range()[0]+")");g.select(".nv-x.nv-axis").call(xAxis);var xTicks=g.select(".nv-x.nv-axis > g").selectAll("g");xTicks.selectAll("line, text").style("opacity",1);if(staggerLabels){var getTranslate=function(x,y){return"translate("+x+","+y+")"};var staggerUp=5,staggerDown=17;xTicks.selectAll("text").attr("transform",function(d,i,j){return getTranslate(0,j%2==0?staggerUp:staggerDown)});var totalInBetweenTicks=d3.selectAll(".nv-x.nv-axis .nv-wrap g g text")[0].length;g.selectAll(".nv-x.nv-axis .nv-axisMaxMin text").attr("transform",function(d,i){return getTranslate(0,i===0||totalInBetweenTicks%2!==0?staggerDown:staggerUp)})}if(reduceXTicks)xTicks.filter(function(d,i){return i%Math.ceil(data[0].values.length/(availableWidth/100))!==0}).selectAll("text, line").style("opacity",0);if(rotateLabels)xTicks.selectAll(".tick text").attr("transform","rotate("+rotateLabels+" 0,0)").style("text-anchor",rotateLabels>0?"start":"end");g.select(".nv-x.nv-axis").selectAll("g.nv-axisMaxMin text").style("opacity",1)}if(showYAxis){yAxis.scale(y)._ticks(nv.utils.calcTicksY(availableHeight/36,data)).tickSize(-availableWidth,0);g.select(".nv-y.nv-axis").call(yAxis)}legend.dispatch.on("stateChange",function(newState){for(var key in newState)state[key]=newState[key];dispatch.stateChange(state);chart.update()});controls.dispatch.on("legendClick",function(d,i){if(!d.disabled)return;controlsData=controlsData.map(function(s){s.disabled=true;return s});d.disabled=false;switch(d.key){case"Grouped":case controlLabels.grouped:multibar.stacked(false);break;case"Stacked":case controlLabels.stacked:multibar.stacked(true);break}state.stacked=multibar.stacked();dispatch.stateChange(state);chart.update()});dispatch.on("changeState",function(e){if(typeof e.disabled!=="undefined"){data.forEach(function(series,i){series.disabled=e.disabled[i]});state.disabled=e.disabled}if(typeof e.stacked!=="undefined"){multibar.stacked(e.stacked);state.stacked=e.stacked;stacked=e.stacked}chart.update()})});renderWatch.renderEnd("multibarchart immediate");return chart}multibar.dispatch.on("elementMouseover.tooltip",function(evt){evt.value=chart.x()(evt.data);evt["series"]={key:evt.data.key,value:chart.y()(evt.data),color:evt.color};tooltip.data(evt).hidden(false)});multibar.dispatch.on("elementMouseout.tooltip",function(evt){tooltip.hidden(true)});multibar.dispatch.on("elementMousemove.tooltip",function(evt){tooltip.position({top:d3.event.pageY,left:d3.event.pageX})()});chart.dispatch=dispatch;chart.multibar=multibar;chart.legend=legend;chart.controls=controls;chart.xAxis=xAxis;chart.yAxis=yAxis;chart.state=state;chart.tooltip=tooltip;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{width:{get:function(){return width},set:function(_){width=_}},height:{get:function(){return height},set:function(_){height=_}},showLegend:{get:function(){return showLegend},set:function(_){showLegend=_}},showControls:{get:function(){return showControls},set:function(_){showControls=_}},controlLabels:{get:function(){return controlLabels},set:function(_){controlLabels=_}},showXAxis:{get:function(){return showXAxis},set:function(_){showXAxis=_}},showYAxis:{get:function(){return showYAxis},set:function(_){showYAxis=_}},defaultState:{get:function(){return defaultState},set:function(_){defaultState=_}},noData:{get:function(){return noData},set:function(_){noData=_}},reduceXTicks:{get:function(){return reduceXTicks},set:function(_){reduceXTicks=_}},rotateLabels:{get:function(){return rotateLabels},set:function(_){rotateLabels=_}},staggerLabels:{get:function(){return staggerLabels},set:function(_){staggerLabels=_}},tooltips:{get:function(){return tooltip.enabled()},set:function(_){nv.deprecated("tooltips","use chart.tooltip.enabled() instead");tooltip.enabled(!!_)}},tooltipContent:{get:function(){return tooltip.contentGenerator()},set:function(_){nv.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead");tooltip.contentGenerator(_)}},margin:{get:function(){return margin},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left}},duration:{get:function(){return duration},set:function(_){duration=_;multibar.duration(duration);xAxis.duration(duration);yAxis.duration(duration);renderWatch.reset(duration)}},color:{get:function(){return color},set:function(_){color=nv.utils.getColor(_);legend.color(color)}},rightAlignYAxis:{get:function(){return rightAlignYAxis},set:function(_){rightAlignYAxis=_;yAxis.orient(rightAlignYAxis?"right":"left")}},barColor:{get:function(){return multibar.barColor},set:function(_){multibar.barColor(_);legend.color(function(d,i){return d3.rgb("#ccc").darker(i*1.5).toString()})}}});nv.utils.inheritOptions(chart,multibar);nv.utils.initOptions(chart);return chart};nv.models.multiBarHorizontal=function(){"use strict";var margin={top:0,right:0,bottom:0,left:0},width=960,height=500,id=Math.floor(Math.random()*1e4),container=null,x=d3.scale.ordinal(),y=d3.scale.linear(),getX=function(d){return d.x},getY=function(d){return d.y},getYerr=function(d){return d.yErr},forceY=[0],color=nv.utils.defaultColor(),barColor=null,errorBarColor=nv.utils.defaultColor(),disabled,stacked=false,showValues=false,showBarLabels=false,valuePadding=60,groupSpacing=.1,valueFormat=d3.format(",.2f"),delay=1200,xDomain,yDomain,xRange,yRange,duration=250,dispatch=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove","renderEnd");var x0,y0;var renderWatch=nv.utils.renderWatch(dispatch,duration);function chart(selection){renderWatch.reset();selection.each(function(data){var availableWidth=width-margin.left-margin.right,availableHeight=height-margin.top-margin.bottom;container=d3.select(this);nv.utils.initSVG(container);if(stacked)data=d3.layout.stack().offset("zero").values(function(d){return d.values}).y(getY)(data);data.forEach(function(series,i){series.values.forEach(function(point){point.series=i;point.key=series.key})});if(stacked)data[0].values.map(function(d,i){var posBase=0,negBase=0;data.map(function(d){var f=d.values[i];f.size=Math.abs(f.y);if(f.y<0){f.y1=negBase-f.size;negBase=negBase-f.size}else{f.y1=posBase;posBase=posBase+f.size}})});var seriesData=xDomain&&yDomain?[]:data.map(function(d){return d.values.map(function(d,i){return{x:getX(d,i),y:getY(d,i),y0:d.y0,y1:d.y1,yErr:getYerr(d,i)}})});x.domain(xDomain||d3.merge(seriesData).map(function(d){return d.x})).rangeBands(xRange||[0,availableHeight],groupSpacing);y.domain(yDomain||d3.extent(d3.merge(d3.merge(seriesData).map(function(d){var domain=d.y;if(stacked){if(d.y>0){domain=d.y1+d.y}else{domain=d.y1}}var yerr=d.yErr;if(yerr){if(yerr.length){return[domain+yerr[0],domain+yerr[1]]}else{yerr=Math.abs(yerr);return[domain-yerr,domain+yerr]}}else{return[domain]}})).concat(forceY)));if(showValues&&!stacked)y.range(yRange||[y.domain()[0]<0?valuePadding:0,availableWidth-(y.domain()[1]>0?valuePadding:0)]);else y.range(yRange||[0,availableWidth]);x0=x0||x;y0=y0||d3.scale.linear().domain(y.domain()).range([y(0),y(0)]);var wrap=d3.select(this).selectAll("g.nv-wrap.nv-multibarHorizontal").data([data]);var wrapEnter=wrap.enter().append("g").attr("class","nvd3 nv-wrap nv-multibarHorizontal");var defsEnter=wrapEnter.append("defs");var gEnter=wrapEnter.append("g");var g=wrap.select("g");gEnter.append("g").attr("class","nv-groups");wrap.attr("transform","translate("+margin.left+","+margin.top+")");var groups=wrap.select(".nv-groups").selectAll(".nv-group").data(function(d){return d},function(d,i){return i});groups.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6);groups.exit().watchTransition(renderWatch,"multibarhorizontal: exit groups").style("stroke-opacity",1e-6).style("fill-opacity",1e-6).remove();groups.attr("class",function(d,i){return"nv-group nv-series-"+i}).classed("hover",function(d){return d.hover}).style("fill",function(d,i){return color(d,i)}).style("stroke",function(d,i){return color(d,i)});groups.watchTransition(renderWatch,"multibarhorizontal: groups").style("stroke-opacity",1).style("fill-opacity",.75);var bars=groups.selectAll("g.nv-bar").data(function(d){return d.values});bars.exit().remove();var barsEnter=bars.enter().append("g").attr("transform",function(d,i,j){return"translate("+y0(stacked?d.y0:0)+","+(stacked?0:j*x.rangeBand()/data.length+x(getX(d,i)))+")"});barsEnter.append("rect").attr("width",0).attr("height",x.rangeBand()/(stacked?1:data.length));bars.on("mouseover",function(d,i){d3.select(this).classed("hover",true);dispatch.elementMouseover({data:d,index:i,color:d3.select(this).style("fill")})}).on("mouseout",function(d,i){d3.select(this).classed("hover",false);dispatch.elementMouseout({data:d,index:i,color:d3.select(this).style("fill")})}).on("mouseout",function(d,i){dispatch.elementMouseout({data:d,index:i,color:d3.select(this).style("fill")})}).on("mousemove",function(d,i){dispatch.elementMousemove({data:d,index:i,color:d3.select(this).style("fill")})}).on("click",function(d,i){dispatch.elementClick({data:d,index:i,color:d3.select(this).style("fill")});d3.event.stopPropagation()}).on("dblclick",function(d,i){dispatch.elementDblClick({data:d,index:i,color:d3.select(this).style("fill")});d3.event.stopPropagation()});if(getYerr(data[0].values[0],0)){barsEnter.append("polyline");bars.select("polyline").attr("fill","none").attr("stroke",function(d,i,j){return errorBarColor(d,j,i)}).attr("points",function(d,i){var xerr=getYerr(d,i),mid=.8*x.rangeBand()/((stacked?1:data.length)*2);xerr=xerr.length?xerr:[-Math.abs(xerr),Math.abs(xerr)];xerr=xerr.map(function(e){return y(e)-y(0)});var a=[[xerr[0],-mid],[xerr[0],mid],[xerr[0],0],[xerr[1],0],[xerr[1],-mid],[xerr[1],mid]];return a.map(function(path){return path.join(",")}).join(" ")}).attr("transform",function(d,i){var mid=x.rangeBand()/((stacked?1:data.length)*2);return"translate("+(getY(d,i)<0?0:y(getY(d,i))-y(0))+", "+mid+")"})}barsEnter.append("text");if(showValues&&!stacked){bars.select("text").attr("text-anchor",function(d,i){return getY(d,i)<0?"end":"start"}).attr("y",x.rangeBand()/(data.length*2)).attr("dy",".32em").text(function(d,i){var t=valueFormat(getY(d,i)),yerr=getYerr(d,i);if(yerr===undefined)return t;if(!yerr.length)return t+"±"+valueFormat(Math.abs(yerr));return t+"+"+valueFormat(Math.abs(yerr[1]))+"-"+valueFormat(Math.abs(yerr[0]))});bars.watchTransition(renderWatch,"multibarhorizontal: bars").select("text").attr("x",function(d,i){return getY(d,i)<0?-4:y(getY(d,i))-y(0)+4})}else{bars.selectAll("text").text("")}if(showBarLabels&&!stacked){barsEnter.append("text").classed("nv-bar-label",true);bars.select("text.nv-bar-label").attr("text-anchor",function(d,i){return getY(d,i)<0?"start":"end"}).attr("y",x.rangeBand()/(data.length*2)).attr("dy",".32em").text(function(d,i){return getX(d,i)});bars.watchTransition(renderWatch,"multibarhorizontal: bars").select("text.nv-bar-label").attr("x",function(d,i){return getY(d,i)<0?y(0)-y(getY(d,i))+4:-4})}else{bars.selectAll("text.nv-bar-label").text("")}bars.attr("class",function(d,i){return getY(d,i)<0?"nv-bar negative":"nv-bar positive"});if(barColor){if(!disabled)disabled=data.map(function(){return true});bars.style("fill",function(d,i,j){return d3.rgb(barColor(d,i)).darker(disabled.map(function(d,i){return i}).filter(function(d,i){return!disabled[i]})[j]).toString()}).style("stroke",function(d,i,j){return d3.rgb(barColor(d,i)).darker(disabled.map(function(d,i){return i}).filter(function(d,i){return!disabled[i]})[j]).toString()})}if(stacked)bars.watchTransition(renderWatch,"multibarhorizontal: bars").attr("transform",function(d,i){return"translate("+y(d.y1)+","+x(getX(d,i))+")"}).select("rect").attr("width",function(d,i){return Math.abs(y(getY(d,i)+d.y0)-y(d.y0))}).attr("height",x.rangeBand());else bars.watchTransition(renderWatch,"multibarhorizontal: bars").attr("transform",function(d,i){return"translate("+(getY(d,i)<0?y(getY(d,i)):y(0))+","+(d.series*x.rangeBand()/data.length+x(getX(d,i)))+")"}).select("rect").attr("height",x.rangeBand()/data.length).attr("width",function(d,i){return Math.max(Math.abs(y(getY(d,i))-y(0)),1)});x0=x.copy();y0=y.copy()});renderWatch.renderEnd("multibarHorizontal immediate");return chart}chart.dispatch=dispatch;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{width:{get:function(){return width},set:function(_){width=_}},height:{get:function(){return height},set:function(_){height=_}},x:{get:function(){return getX},set:function(_){getX=_}},y:{get:function(){return getY},set:function(_){getY=_}},yErr:{get:function(){return getYerr},set:function(_){getYerr=_}},xScale:{get:function(){return x},set:function(_){x=_}},yScale:{get:function(){return y},set:function(_){y=_}},xDomain:{get:function(){return xDomain},set:function(_){xDomain=_}},yDomain:{get:function(){return yDomain},set:function(_){yDomain=_}},xRange:{get:function(){return xRange},set:function(_){xRange=_}},yRange:{get:function(){return yRange},set:function(_){yRange=_}},forceY:{get:function(){return forceY},set:function(_){forceY=_}},stacked:{get:function(){return stacked},set:function(_){stacked=_}},showValues:{get:function(){return showValues},set:function(_){showValues=_}},disabled:{get:function(){return disabled},set:function(_){disabled=_}},id:{get:function(){return id},set:function(_){id=_}},valueFormat:{get:function(){return valueFormat},set:function(_){valueFormat=_}},valuePadding:{get:function(){return valuePadding},set:function(_){valuePadding=_}},groupSpacing:{get:function(){return groupSpacing},set:function(_){groupSpacing=_}},margin:{get:function(){return margin},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left}},duration:{get:function(){return duration},set:function(_){duration=_;renderWatch.reset(duration)}},color:{get:function(){return color},set:function(_){color=nv.utils.getColor(_)}},barColor:{get:function(){return barColor},set:function(_){barColor=_?nv.utils.getColor(_):null}},errorBarColor:{get:function(){return errorBarColor},set:function(_){errorBarColor=_?nv.utils.getColor(_):null}}});nv.utils.initOptions(chart);return chart};nv.models.multiBarHorizontalChart=function(){"use strict";var multibar=nv.models.multiBarHorizontal(),xAxis=nv.models.axis(),yAxis=nv.models.axis(),legend=nv.models.legend().height(30),controls=nv.models.legend().height(30),tooltip=nv.models.tooltip();var margin={top:30,right:20,bottom:50,left:60},width=null,height=null,color=nv.utils.defaultColor(),showControls=true,controlLabels={},showLegend=true,showXAxis=true,showYAxis=true,stacked=false,x,y,state=nv.utils.state(),defaultState=null,noData=null,dispatch=d3.dispatch("stateChange","changeState","renderEnd"),controlWidth=function(){return showControls?180:0},duration=250;state.stacked=false;multibar.stacked(stacked);xAxis.orient("left").tickPadding(5).showMaxMin(false).tickFormat(function(d){return d});yAxis.orient("bottom").tickFormat(d3.format(",.1f"));tooltip.duration(0).valueFormatter(function(d,i){return yAxis.tickFormat()(d,i)}).headerFormatter(function(d,i){return xAxis.tickFormat()(d,i)});controls.updateState(false);var stateGetter=function(data){return function(){return{active:data.map(function(d){return!d.disabled
+}),stacked:stacked}}};var stateSetter=function(data){return function(state){if(state.stacked!==undefined)stacked=state.stacked;if(state.active!==undefined)data.forEach(function(series,i){series.disabled=!state.active[i]})}};var renderWatch=nv.utils.renderWatch(dispatch,duration);function chart(selection){renderWatch.reset();renderWatch.models(multibar);if(showXAxis)renderWatch.models(xAxis);if(showYAxis)renderWatch.models(yAxis);selection.each(function(data){var container=d3.select(this),that=this;nv.utils.initSVG(container);var availableWidth=nv.utils.availableWidth(width,container,margin),availableHeight=nv.utils.availableHeight(height,container,margin);chart.update=function(){container.transition().duration(duration).call(chart)};chart.container=this;stacked=multibar.stacked();state.setter(stateSetter(data),chart.update).getter(stateGetter(data)).update();state.disabled=data.map(function(d){return!!d.disabled});if(!defaultState){var key;defaultState={};for(key in state){if(state[key]instanceof Array)defaultState[key]=state[key].slice(0);else defaultState[key]=state[key]}}if(!data||!data.length||!data.filter(function(d){return d.values.length}).length){nv.utils.noData(chart,container);return chart}else{container.selectAll(".nv-noData").remove()}x=multibar.xScale();y=multibar.yScale();var wrap=container.selectAll("g.nv-wrap.nv-multiBarHorizontalChart").data([data]);var gEnter=wrap.enter().append("g").attr("class","nvd3 nv-wrap nv-multiBarHorizontalChart").append("g");var g=wrap.select("g");gEnter.append("g").attr("class","nv-x nv-axis");gEnter.append("g").attr("class","nv-y nv-axis").append("g").attr("class","nv-zeroLine").append("line");gEnter.append("g").attr("class","nv-barsWrap");gEnter.append("g").attr("class","nv-legendWrap");gEnter.append("g").attr("class","nv-controlsWrap");if(showLegend){legend.width(availableWidth-controlWidth());g.select(".nv-legendWrap").datum(data).call(legend);if(margin.top!=legend.height()){margin.top=legend.height();availableHeight=nv.utils.availableHeight(height,container,margin)}g.select(".nv-legendWrap").attr("transform","translate("+controlWidth()+","+-margin.top+")")}if(showControls){var controlsData=[{key:controlLabels.grouped||"Grouped",disabled:multibar.stacked()},{key:controlLabels.stacked||"Stacked",disabled:!multibar.stacked()}];controls.width(controlWidth()).color(["#444","#444","#444"]);g.select(".nv-controlsWrap").datum(controlsData).attr("transform","translate(0,"+-margin.top+")").call(controls)}wrap.attr("transform","translate("+margin.left+","+margin.top+")");multibar.disabled(data.map(function(series){return series.disabled})).width(availableWidth).height(availableHeight).color(data.map(function(d,i){return d.color||color(d,i)}).filter(function(d,i){return!data[i].disabled}));var barsWrap=g.select(".nv-barsWrap").datum(data.filter(function(d){return!d.disabled}));barsWrap.transition().call(multibar);if(showXAxis){xAxis.scale(x)._ticks(nv.utils.calcTicksY(availableHeight/24,data)).tickSize(-availableWidth,0);g.select(".nv-x.nv-axis").call(xAxis);var xTicks=g.select(".nv-x.nv-axis").selectAll("g");xTicks.selectAll("line, text")}if(showYAxis){yAxis.scale(y)._ticks(nv.utils.calcTicksX(availableWidth/100,data)).tickSize(-availableHeight,0);g.select(".nv-y.nv-axis").attr("transform","translate(0,"+availableHeight+")");g.select(".nv-y.nv-axis").call(yAxis)}g.select(".nv-zeroLine line").attr("x1",y(0)).attr("x2",y(0)).attr("y1",0).attr("y2",-availableHeight);legend.dispatch.on("stateChange",function(newState){for(var key in newState)state[key]=newState[key];dispatch.stateChange(state);chart.update()});controls.dispatch.on("legendClick",function(d,i){if(!d.disabled)return;controlsData=controlsData.map(function(s){s.disabled=true;return s});d.disabled=false;switch(d.key){case"Grouped":multibar.stacked(false);break;case"Stacked":multibar.stacked(true);break}state.stacked=multibar.stacked();dispatch.stateChange(state);stacked=multibar.stacked();chart.update()});dispatch.on("changeState",function(e){if(typeof e.disabled!=="undefined"){data.forEach(function(series,i){series.disabled=e.disabled[i]});state.disabled=e.disabled}if(typeof e.stacked!=="undefined"){multibar.stacked(e.stacked);state.stacked=e.stacked;stacked=e.stacked}chart.update()})});renderWatch.renderEnd("multibar horizontal chart immediate");return chart}multibar.dispatch.on("elementMouseover.tooltip",function(evt){evt.value=chart.x()(evt.data);evt["series"]={key:evt.data.key,value:chart.y()(evt.data),color:evt.color};tooltip.data(evt).hidden(false)});multibar.dispatch.on("elementMouseout.tooltip",function(evt){tooltip.hidden(true)});multibar.dispatch.on("elementMousemove.tooltip",function(evt){tooltip.position({top:d3.event.pageY,left:d3.event.pageX})()});chart.dispatch=dispatch;chart.multibar=multibar;chart.legend=legend;chart.controls=controls;chart.xAxis=xAxis;chart.yAxis=yAxis;chart.state=state;chart.tooltip=tooltip;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{width:{get:function(){return width},set:function(_){width=_}},height:{get:function(){return height},set:function(_){height=_}},showLegend:{get:function(){return showLegend},set:function(_){showLegend=_}},showControls:{get:function(){return showControls},set:function(_){showControls=_}},controlLabels:{get:function(){return controlLabels},set:function(_){controlLabels=_}},showXAxis:{get:function(){return showXAxis},set:function(_){showXAxis=_}},showYAxis:{get:function(){return showYAxis},set:function(_){showYAxis=_}},defaultState:{get:function(){return defaultState},set:function(_){defaultState=_}},noData:{get:function(){return noData},set:function(_){noData=_}},tooltips:{get:function(){return tooltip.enabled()},set:function(_){nv.deprecated("tooltips","use chart.tooltip.enabled() instead");tooltip.enabled(!!_)}},tooltipContent:{get:function(){return tooltip.contentGenerator()},set:function(_){nv.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead");tooltip.contentGenerator(_)}},margin:{get:function(){return margin},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left}},duration:{get:function(){return duration},set:function(_){duration=_;renderWatch.reset(duration);multibar.duration(duration);xAxis.duration(duration);yAxis.duration(duration)}},color:{get:function(){return color},set:function(_){color=nv.utils.getColor(_);legend.color(color)}},barColor:{get:function(){return multibar.barColor},set:function(_){multibar.barColor(_);legend.color(function(d,i){return d3.rgb("#ccc").darker(i*1.5).toString()})}}});nv.utils.inheritOptions(chart,multibar);nv.utils.initOptions(chart);return chart};nv.models.multiChart=function(){"use strict";var margin={top:30,right:20,bottom:50,left:60},color=nv.utils.defaultColor(),width=null,height=null,showLegend=true,noData=null,yDomain1,yDomain2,getX=function(d){return d.x},getY=function(d){return d.y},interpolate="monotone",useVoronoi=true;var x=d3.scale.linear(),yScale1=d3.scale.linear(),yScale2=d3.scale.linear(),lines1=nv.models.line().yScale(yScale1),lines2=nv.models.line().yScale(yScale2),scatters1=nv.models.scatter().yScale(yScale1),scatters2=nv.models.scatter().yScale(yScale2),bars1=nv.models.multiBar().stacked(false).yScale(yScale1),bars2=nv.models.multiBar().stacked(false).yScale(yScale2),stack1=nv.models.stackedArea().yScale(yScale1),stack2=nv.models.stackedArea().yScale(yScale2),xAxis=nv.models.axis().scale(x).orient("bottom").tickPadding(5),yAxis1=nv.models.axis().scale(yScale1).orient("left"),yAxis2=nv.models.axis().scale(yScale2).orient("right"),legend=nv.models.legend().height(30),tooltip=nv.models.tooltip(),dispatch=d3.dispatch();function chart(selection){selection.each(function(data){var container=d3.select(this),that=this;nv.utils.initSVG(container);chart.update=function(){container.transition().call(chart)};chart.container=this;var availableWidth=nv.utils.availableWidth(width,container,margin),availableHeight=nv.utils.availableHeight(height,container,margin);var dataLines1=data.filter(function(d){return d.type=="line"&&d.yAxis==1});var dataLines2=data.filter(function(d){return d.type=="line"&&d.yAxis==2});var dataScatters1=data.filter(function(d){return d.type=="scatter"&&d.yAxis==1});var dataScatters2=data.filter(function(d){return d.type=="scatter"&&d.yAxis==2});var dataBars1=data.filter(function(d){return d.type=="bar"&&d.yAxis==1});var dataBars2=data.filter(function(d){return d.type=="bar"&&d.yAxis==2});var dataStack1=data.filter(function(d){return d.type=="area"&&d.yAxis==1});var dataStack2=data.filter(function(d){return d.type=="area"&&d.yAxis==2});if(!data||!data.length||!data.filter(function(d){return d.values.length}).length){nv.utils.noData(chart,container);return chart}else{container.selectAll(".nv-noData").remove()}var series1=data.filter(function(d){return!d.disabled&&d.yAxis==1}).map(function(d){return d.values.map(function(d,i){return{x:d.x,y:d.y}})});var series2=data.filter(function(d){return!d.disabled&&d.yAxis==2}).map(function(d){return d.values.map(function(d,i){return{x:d.x,y:d.y}})});x.domain(d3.extent(d3.merge(series1.concat(series2)),function(d){return d.x})).range([0,availableWidth]);var wrap=container.selectAll("g.wrap.multiChart").data([data]);var gEnter=wrap.enter().append("g").attr("class","wrap nvd3 multiChart").append("g");gEnter.append("g").attr("class","nv-x nv-axis");gEnter.append("g").attr("class","nv-y1 nv-axis");gEnter.append("g").attr("class","nv-y2 nv-axis");gEnter.append("g").attr("class","lines1Wrap");gEnter.append("g").attr("class","lines2Wrap");gEnter.append("g").attr("class","scatters1Wrap");gEnter.append("g").attr("class","scatters2Wrap");gEnter.append("g").attr("class","bars1Wrap");gEnter.append("g").attr("class","bars2Wrap");gEnter.append("g").attr("class","stack1Wrap");gEnter.append("g").attr("class","stack2Wrap");gEnter.append("g").attr("class","legendWrap");var g=wrap.select("g");var color_array=data.map(function(d,i){return data[i].color||color(d,i)});if(showLegend){var legendWidth=legend.align()?availableWidth/2:availableWidth;var legendXPosition=legend.align()?legendWidth:0;legend.width(legendWidth);legend.color(color_array);g.select(".legendWrap").datum(data.map(function(series){series.originalKey=series.originalKey===undefined?series.key:series.originalKey;series.key=series.originalKey+(series.yAxis==1?"":" (right axis)");return series})).call(legend);if(margin.top!=legend.height()){margin.top=legend.height();availableHeight=nv.utils.availableHeight(height,container,margin)}g.select(".legendWrap").attr("transform","translate("+legendXPosition+","+-margin.top+")")}lines1.width(availableWidth).height(availableHeight).interpolate(interpolate).color(color_array.filter(function(d,i){return!data[i].disabled&&data[i].yAxis==1&&data[i].type=="line"}));lines2.width(availableWidth).height(availableHeight).interpolate(interpolate).color(color_array.filter(function(d,i){return!data[i].disabled&&data[i].yAxis==2&&data[i].type=="line"}));scatters1.width(availableWidth).height(availableHeight).color(color_array.filter(function(d,i){return!data[i].disabled&&data[i].yAxis==1&&data[i].type=="scatter"}));scatters2.width(availableWidth).height(availableHeight).color(color_array.filter(function(d,i){return!data[i].disabled&&data[i].yAxis==2&&data[i].type=="scatter"}));bars1.width(availableWidth).height(availableHeight).color(color_array.filter(function(d,i){return!data[i].disabled&&data[i].yAxis==1&&data[i].type=="bar"}));bars2.width(availableWidth).height(availableHeight).color(color_array.filter(function(d,i){return!data[i].disabled&&data[i].yAxis==2&&data[i].type=="bar"}));stack1.width(availableWidth).height(availableHeight).color(color_array.filter(function(d,i){return!data[i].disabled&&data[i].yAxis==1&&data[i].type=="area"}));stack2.width(availableWidth).height(availableHeight).color(color_array.filter(function(d,i){return!data[i].disabled&&data[i].yAxis==2&&data[i].type=="area"}));g.attr("transform","translate("+margin.left+","+margin.top+")");var lines1Wrap=g.select(".lines1Wrap").datum(dataLines1.filter(function(d){return!d.disabled}));var scatters1Wrap=g.select(".scatters1Wrap").datum(dataScatters1.filter(function(d){return!d.disabled}));var bars1Wrap=g.select(".bars1Wrap").datum(dataBars1.filter(function(d){return!d.disabled}));var stack1Wrap=g.select(".stack1Wrap").datum(dataStack1.filter(function(d){return!d.disabled}));var lines2Wrap=g.select(".lines2Wrap").datum(dataLines2.filter(function(d){return!d.disabled}));var scatters2Wrap=g.select(".scatters2Wrap").datum(dataScatters2.filter(function(d){return!d.disabled}));var bars2Wrap=g.select(".bars2Wrap").datum(dataBars2.filter(function(d){return!d.disabled}));var stack2Wrap=g.select(".stack2Wrap").datum(dataStack2.filter(function(d){return!d.disabled}));var extraValue1=dataStack1.length?dataStack1.map(function(a){return a.values}).reduce(function(a,b){return a.map(function(aVal,i){return{x:aVal.x,y:aVal.y+b[i].y}})}).concat([{x:0,y:0}]):[];var extraValue2=dataStack2.length?dataStack2.map(function(a){return a.values}).reduce(function(a,b){return a.map(function(aVal,i){return{x:aVal.x,y:aVal.y+b[i].y}})}).concat([{x:0,y:0}]):[];yScale1.domain(yDomain1||d3.extent(d3.merge(series1).concat(extraValue1),function(d){return d.y})).range([0,availableHeight]);yScale2.domain(yDomain2||d3.extent(d3.merge(series2).concat(extraValue2),function(d){return d.y})).range([0,availableHeight]);lines1.yDomain(yScale1.domain());scatters1.yDomain(yScale1.domain());bars1.yDomain(yScale1.domain());stack1.yDomain(yScale1.domain());lines2.yDomain(yScale2.domain());scatters2.yDomain(yScale2.domain());bars2.yDomain(yScale2.domain());stack2.yDomain(yScale2.domain());if(dataStack1.length){d3.transition(stack1Wrap).call(stack1)}if(dataStack2.length){d3.transition(stack2Wrap).call(stack2)}if(dataBars1.length){d3.transition(bars1Wrap).call(bars1)}if(dataBars2.length){d3.transition(bars2Wrap).call(bars2)}if(dataLines1.length){d3.transition(lines1Wrap).call(lines1)}if(dataLines2.length){d3.transition(lines2Wrap).call(lines2)}if(dataScatters1.length){d3.transition(scatters1Wrap).call(scatters1)}if(dataScatters2.length){d3.transition(scatters2Wrap).call(scatters2)}xAxis._ticks(nv.utils.calcTicksX(availableWidth/100,data)).tickSize(-availableHeight,0);g.select(".nv-x.nv-axis").attr("transform","translate(0,"+availableHeight+")");d3.transition(g.select(".nv-x.nv-axis")).call(xAxis);yAxis1._ticks(nv.utils.calcTicksY(availableHeight/36,data)).tickSize(-availableWidth,0);d3.transition(g.select(".nv-y1.nv-axis")).call(yAxis1);yAxis2._ticks(nv.utils.calcTicksY(availableHeight/36,data)).tickSize(-availableWidth,0);d3.transition(g.select(".nv-y2.nv-axis")).call(yAxis2);g.select(".nv-y1.nv-axis").classed("nv-disabled",series1.length?false:true).attr("transform","translate("+x.range()[0]+",0)");g.select(".nv-y2.nv-axis").classed("nv-disabled",series2.length?false:true).attr("transform","translate("+x.range()[1]+",0)");legend.dispatch.on("stateChange",function(newState){chart.update()});function mouseover_line(evt){var yaxis=data[evt.seriesIndex].yAxis===2?yAxis2:yAxis1;evt.value=evt.point.x;evt.series={value:evt.point.y,color:evt.point.color};tooltip.duration(100).valueFormatter(function(d,i){return yaxis.tickFormat()(d,i)}).data(evt).position(evt.pos).hidden(false)}function mouseover_scatter(evt){var yaxis=data[evt.seriesIndex].yAxis===2?yAxis2:yAxis1;evt.value=evt.point.x;evt.series={value:evt.point.y,color:evt.point.color};tooltip.duration(100).valueFormatter(function(d,i){return yaxis.tickFormat()(d,i)}).data(evt).position(evt.pos).hidden(false)}function mouseover_stack(evt){var yaxis=data[evt.seriesIndex].yAxis===2?yAxis2:yAxis1;evt.point["x"]=stack1.x()(evt.point);evt.point["y"]=stack1.y()(evt.point);tooltip.duration(100).valueFormatter(function(d,i){return yaxis.tickFormat()(d,i)}).data(evt).position(evt.pos).hidden(false)}function mouseover_bar(evt){var yaxis=data[evt.data.series].yAxis===2?yAxis2:yAxis1;evt.value=bars1.x()(evt.data);evt["series"]={value:bars1.y()(evt.data),color:evt.color};tooltip.duration(0).valueFormatter(function(d,i){return yaxis.tickFormat()(d,i)}).data(evt).hidden(false)}lines1.dispatch.on("elementMouseover.tooltip",mouseover_line);lines2.dispatch.on("elementMouseover.tooltip",mouseover_line);lines1.dispatch.on("elementMouseout.tooltip",function(evt){tooltip.hidden(true)});lines2.dispatch.on("elementMouseout.tooltip",function(evt){tooltip.hidden(true)});scatters1.dispatch.on("elementMouseover.tooltip",mouseover_scatter);scatters2.dispatch.on("elementMouseover.tooltip",mouseover_scatter);scatters1.dispatch.on("elementMouseout.tooltip",function(evt){tooltip.hidden(true)});scatters2.dispatch.on("elementMouseout.tooltip",function(evt){tooltip.hidden(true)});stack1.dispatch.on("elementMouseover.tooltip",mouseover_stack);stack2.dispatch.on("elementMouseover.tooltip",mouseover_stack);stack1.dispatch.on("elementMouseout.tooltip",function(evt){tooltip.hidden(true)});stack2.dispatch.on("elementMouseout.tooltip",function(evt){tooltip.hidden(true)});bars1.dispatch.on("elementMouseover.tooltip",mouseover_bar);bars2.dispatch.on("elementMouseover.tooltip",mouseover_bar);bars1.dispatch.on("elementMouseout.tooltip",function(evt){tooltip.hidden(true)});bars2.dispatch.on("elementMouseout.tooltip",function(evt){tooltip.hidden(true)});bars1.dispatch.on("elementMousemove.tooltip",function(evt){tooltip.position({top:d3.event.pageY,left:d3.event.pageX})()});bars2.dispatch.on("elementMousemove.tooltip",function(evt){tooltip.position({top:d3.event.pageY,left:d3.event.pageX})()})});return chart}chart.dispatch=dispatch;chart.lines1=lines1;chart.lines2=lines2;chart.scatters1=scatters1;chart.scatters2=scatters2;chart.bars1=bars1;chart.bars2=bars2;chart.stack1=stack1;chart.stack2=stack2;chart.xAxis=xAxis;chart.yAxis1=yAxis1;chart.yAxis2=yAxis2;chart.tooltip=tooltip;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{width:{get:function(){return width},set:function(_){width=_}},height:{get:function(){return height},set:function(_){height=_}},showLegend:{get:function(){return showLegend},set:function(_){showLegend=_}},yDomain1:{get:function(){return yDomain1},set:function(_){yDomain1=_}},yDomain2:{get:function(){return yDomain2},set:function(_){yDomain2=_}},noData:{get:function(){return noData},set:function(_){noData=_}},interpolate:{get:function(){return interpolate},set:function(_){interpolate=_}},tooltips:{get:function(){return tooltip.enabled()},set:function(_){nv.deprecated("tooltips","use chart.tooltip.enabled() instead");tooltip.enabled(!!_)}},tooltipContent:{get:function(){return tooltip.contentGenerator()},set:function(_){nv.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead");tooltip.contentGenerator(_)}},margin:{get:function(){return margin},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left}},color:{get:function(){return color},set:function(_){color=nv.utils.getColor(_)}},x:{get:function(){return getX},set:function(_){getX=_;lines1.x(_);lines2.x(_);scatters1.x(_);scatters2.x(_);bars1.x(_);bars2.x(_);stack1.x(_);stack2.x(_)}},y:{get:function(){return getY},set:function(_){getY=_;lines1.y(_);lines2.y(_);scatters1.y(_);scatters2.y(_);stack1.y(_);stack2.y(_);bars1.y(_);bars2.y(_)}},useVoronoi:{get:function(){return useVoronoi},set:function(_){useVoronoi=_;lines1.useVoronoi(_);lines2.useVoronoi(_);stack1.useVoronoi(_);stack2.useVoronoi(_)}}});nv.utils.initOptions(chart);return chart};nv.models.ohlcBar=function(){"use strict";var margin={top:0,right:0,bottom:0,left:0},width=null,height=null,id=Math.floor(Math.random()*1e4),container=null,x=d3.scale.linear(),y=d3.scale.linear(),getX=function(d){return d.x},getY=function(d){return d.y},getOpen=function(d){return d.open},getClose=function(d){return d.close},getHigh=function(d){return d.high},getLow=function(d){return d.low},forceX=[],forceY=[],padData=false,clipEdge=true,color=nv.utils.defaultColor(),interactive=false,xDomain,yDomain,xRange,yRange,dispatch=d3.dispatch("tooltipShow","tooltipHide","stateChange","changeState","renderEnd","chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove");function chart(selection){selection.each(function(data){container=d3.select(this);var availableWidth=nv.utils.availableWidth(width,container,margin),availableHeight=nv.utils.availableHeight(height,container,margin);nv.utils.initSVG(container);var w=availableWidth/data[0].values.length*.9;x.domain(xDomain||d3.extent(data[0].values.map(getX).concat(forceX)));if(padData)x.range(xRange||[availableWidth*.5/data[0].values.length,availableWidth*(data[0].values.length-.5)/data[0].values.length]);else x.range(xRange||[5+w/2,availableWidth-w/2-5]);y.domain(yDomain||[d3.min(data[0].values.map(getLow).concat(forceY)),d3.max(data[0].values.map(getHigh).concat(forceY))]).range(yRange||[availableHeight,0]);if(x.domain()[0]===x.domain()[1])x.domain()[0]?x.domain([x.domain()[0]-x.domain()[0]*.01,x.domain()[1]+x.domain()[1]*.01]):x.domain([-1,1]);if(y.domain()[0]===y.domain()[1])y.domain()[0]?y.domain([y.domain()[0]+y.domain()[0]*.01,y.domain()[1]-y.domain()[1]*.01]):y.domain([-1,1]);var wrap=d3.select(this).selectAll("g.nv-wrap.nv-ohlcBar").data([data[0].values]);var wrapEnter=wrap.enter().append("g").attr("class","nvd3 nv-wrap nv-ohlcBar");var defsEnter=wrapEnter.append("defs");var gEnter=wrapEnter.append("g");var g=wrap.select("g");gEnter.append("g").attr("class","nv-ticks");wrap.attr("transform","translate("+margin.left+","+margin.top+")");container.on("click",function(d,i){dispatch.chartClick({data:d,index:i,pos:d3.event,id:id})});defsEnter.append("clipPath").attr("id","nv-chart-clip-path-"+id).append("rect");wrap.select("#nv-chart-clip-path-"+id+" rect").attr("width",availableWidth).attr("height",availableHeight);g.attr("clip-path",clipEdge?"url(#nv-chart-clip-path-"+id+")":"");var ticks=wrap.select(".nv-ticks").selectAll(".nv-tick").data(function(d){return d});ticks.exit().remove();ticks.enter().append("path").attr("class",function(d,i,j){return(getOpen(d,i)>getClose(d,i)?"nv-tick negative":"nv-tick positive")+" nv-tick-"+j+"-"+i}).attr("d",function(d,i){return"m0,0l0,"+(y(getOpen(d,i))-y(getHigh(d,i)))+"l"+-w/2+",0l"+w/2+",0l0,"+(y(getLow(d,i))-y(getOpen(d,i)))+"l0,"+(y(getClose(d,i))-y(getLow(d,i)))+"l"+w/2+",0l"+-w/2+",0z"}).attr("transform",function(d,i){return"translate("+x(getX(d,i))+","+y(getHigh(d,i))+")"}).attr("fill",function(d,i){return color[0]}).attr("stroke",function(d,i){return color[0]}).attr("x",0).attr("y",function(d,i){return y(Math.max(0,getY(d,i)))}).attr("height",function(d,i){return Math.abs(y(getY(d,i))-y(0))});ticks.attr("class",function(d,i,j){return(getOpen(d,i)>getClose(d,i)?"nv-tick negative":"nv-tick positive")+" nv-tick-"+j+"-"+i});d3.transition(ticks).attr("transform",function(d,i){return"translate("+x(getX(d,i))+","+y(getHigh(d,i))+")"}).attr("d",function(d,i){var w=availableWidth/data[0].values.length*.9;return"m0,0l0,"+(y(getOpen(d,i))-y(getHigh(d,i)))+"l"+-w/2+",0l"+w/2+",0l0,"+(y(getLow(d,i))-y(getOpen(d,i)))+"l0,"+(y(getClose(d,i))-y(getLow(d,i)))+"l"+w/2+",0l"+-w/2+",0z"})});return chart}chart.highlightPoint=function(pointIndex,isHoverOver){chart.clearHighlights();container.select(".nv-ohlcBar .nv-tick-0-"+pointIndex).classed("hover",isHoverOver)};chart.clearHighlights=function(){container.select(".nv-ohlcBar .nv-tick.hover").classed("hover",false)};chart.dispatch=dispatch;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{width:{get:function(){return width},set:function(_){width=_}},height:{get:function(){return height},set:function(_){height=_}},xScale:{get:function(){return x},set:function(_){x=_}},yScale:{get:function(){return y},set:function(_){y=_}},xDomain:{get:function(){return xDomain},set:function(_){xDomain=_}},yDomain:{get:function(){return yDomain},set:function(_){yDomain=_}},xRange:{get:function(){return xRange},set:function(_){xRange=_}},yRange:{get:function(){return yRange},set:function(_){yRange=_}},forceX:{get:function(){return forceX},set:function(_){forceX=_}},forceY:{get:function(){return forceY},set:function(_){forceY=_}},padData:{get:function(){return padData},set:function(_){padData=_}},clipEdge:{get:function(){return clipEdge},set:function(_){clipEdge=_}},id:{get:function(){return id},set:function(_){id=_}},interactive:{get:function(){return interactive},set:function(_){interactive=_}},x:{get:function(){return getX},set:function(_){getX=_}},y:{get:function(){return getY},set:function(_){getY=_}},open:{get:function(){return getOpen()},set:function(_){getOpen=_}},close:{get:function(){return getClose()},set:function(_){getClose=_}},high:{get:function(){return getHigh},set:function(_){getHigh=_}},low:{get:function(){return getLow},set:function(_){getLow=_}},margin:{get:function(){return margin},set:function(_){margin.top=_.top!=undefined?_.top:margin.top;margin.right=_.right!=undefined?_.right:margin.right;margin.bottom=_.bottom!=undefined?_.bottom:margin.bottom;margin.left=_.left!=undefined?_.left:margin.left}},color:{get:function(){return color},set:function(_){color=nv.utils.getColor(_)}}});nv.utils.initOptions(chart);return chart};nv.models.parallelCoordinates=function(){"use strict";var margin={top:30,right:0,bottom:10,left:0},width=null,height=null,x=d3.scale.ordinal(),y={},dimensionNames=[],dimensionFormats=[],color=nv.utils.defaultColor(),filters=[],active=[],dragging=[],lineTension=1,dispatch=d3.dispatch("brush","elementMouseover","elementMouseout");function chart(selection){selection.each(function(data){var container=d3.select(this);var availableWidth=nv.utils.availableWidth(width,container,margin),availableHeight=nv.utils.availableHeight(height,container,margin);nv.utils.initSVG(container);active=data;x.rangePoints([0,availableWidth],1).domain(dimensionNames);var onlyNanValues={};dimensionNames.forEach(function(d){var extent=d3.extent(data,function(p){return+p[d]});onlyNanValues[d]=false;if(extent[0]===undefined){onlyNanValues[d]=true;extent[0]=0;extent[1]=0}if(extent[0]===extent[1]){extent[0]=extent[0]-1;extent[1]=extent[1]+1}y[d]=d3.scale.linear().domain(extent).range([(availableHeight-12)*.9,0]);y[d].brush=d3.svg.brush().y(y[d]).on("brush",brush);return d!="name"});var wrap=container.selectAll("g.nv-wrap.nv-parallelCoordinates").data([data]);var wrapEnter=wrap.enter().append("g").attr("class","nvd3 nv-wrap nv-parallelCoordinates");var gEnter=wrapEnter.append("g");var g=wrap.select("g");gEnter.append("g").attr("class","nv-parallelCoordinates background");gEnter.append("g").attr("class","nv-parallelCoordinates foreground");gEnter.append("g").attr("class","nv-parallelCoordinates missingValuesline");wrap.attr("transform","translate("+margin.left+","+margin.top+")");var line=d3.svg.line().interpolate("cardinal").tension(lineTension),axis=d3.svg.axis().orient("left"),axisDrag=d3.behavior.drag().on("dragstart",dragStart).on("drag",dragMove).on("dragend",dragEnd);var missingValuesline,missingValueslineText;var step=x.range()[1]-x.range()[0];var axisWithMissingValues=[];var lineData=[0+step/2,availableHeight-12,availableWidth-step/2,availableHeight-12];missingValuesline=wrap.select(".missingValuesline").selectAll("line").data([lineData]);missingValuesline.enter().append("line");missingValuesline.exit().remove();missingValuesline.attr("x1",function(d){return d[0]}).attr("y1",function(d){return d[1]}).attr("x2",function(d){return d[2]}).attr("y2",function(d){return d[3]});missingValueslineText=wrap.select(".missingValuesline").selectAll("text").data(["undefined values"]);missingValueslineText.append("text").data(["undefined values"]);missingValueslineText.enter().append("text");missingValueslineText.exit().remove();missingValueslineText.attr("y",availableHeight).attr("x",availableWidth-92-step/2).text(function(d){return d});var background=wrap.select(".background").selectAll("path").data(data);background.enter().append("path");background.exit().remove();background.attr("d",path);var foreground=wrap.select(".foreground").selectAll("path").data(data);foreground.enter().append("path");foreground.exit().remove();foreground.attr("d",path).attr("stroke",color);foreground.on("mouseover",function(d,i){d3.select(this).classed("hover",true);dispatch.elementMouseover({label:d.name,data:d.data,index:i,pos:[d3.mouse(this.parentNode)[0],d3.mouse(this.parentNode)[1]]})});foreground.on("mouseout",function(d,i){d3.select(this).classed("hover",false);dispatch.elementMouseout({label:d.name,data:d.data,index:i})});var dimensions=g.selectAll(".dimension").data(dimensionNames);var dimensionsEnter=dimensions.enter().append("g").attr("class","nv-parallelCoordinates dimension");dimensionsEnter.append("g").attr("class","nv-parallelCoordinates nv-axis");dimensionsEnter.append("g").attr("class","nv-parallelCoordinates-brush");dimensionsEnter.append("text").attr("class","nv-parallelCoordinates nv-label");dimensions.attr("transform",function(d){return"translate("+x(d)+",0)"});dimensions.exit().remove();dimensions.select(".nv-label").style("cursor","move").attr("dy","-1em").attr("text-anchor","middle").text(String).on("mouseover",function(d,i){dispatch.elementMouseover({dim:d,pos:[d3.mouse(this.parentNode.parentNode)[0],d3.mouse(this.parentNode.parentNode)[1]]})}).on("mouseout",function(d,i){dispatch.elementMouseout({dim:d})}).call(axisDrag);dimensions.select(".nv-axis").each(function(d,i){d3.select(this).call(axis.scale(y[d]).tickFormat(d3.format(dimensionFormats[i])))});dimensions.select(".nv-parallelCoordinates-brush").each(function(d){d3.select(this).call(y[d].brush)}).selectAll("rect").attr("x",-8).attr("width",16);function path(d){return line(dimensionNames.map(function(p){if(isNaN(d[p])||isNaN(parseFloat(d[p]))){var domain=y[p].domain();var range=y[p].range();var min=domain[0]-(domain[1]-domain[0])/9;if(axisWithMissingValues.indexOf(p)<0){var newscale=d3.scale.linear().domain([min,domain[1]]).range([availableHeight-12,range[1]]);y[p].brush.y(newscale);axisWithMissingValues.push(p)}return[x(p),y[p](min)]}if(axisWithMissingValues.length>0){missingValuesline.style("display","inline");missingValueslineText.style("display","inline")}else{missingValuesline.style("display","none");missingValueslineText.style("display","none")}return[x(p),y[p](d[p])]}))}function brush(){var actives=dimensionNames.filter(function(p){return!y[p].brush.empty()}),extents=actives.map(function(p){return y[p].brush.extent()});filters=[];actives.forEach(function(d,i){filters[i]={dimension:d,extent:extents[i]}});active=[];foreground.style("display",function(d){var isActive=actives.every(function(p,i){if(isNaN(d[p])&&extents[i][0]==y[p].brush.y().domain()[0])return true;return extents[i][0]<=d[p]&&d[p]<=extents[i][1]});if(isActive)active.push(d);return isActive?null:"none"});dispatch.brush({filters:filters,active:active})}function dragStart(d,i){dragging[d]=this.parentNode.__origin__=x(d);background.attr("visibility","hidden")}function dragMove(d,i){dragging[d]=Math.min(availableWidth,Math.max(0,this.parentNode.__origin__+=d3.event.x));foreground.attr("d",path);dimensionNames.sort(function(a,b){return position(a)-position(b)});x.domain(dimensionNames);dimensions.attr("transform",function(d){return"translate("+position(d)+")"})}function dragEnd(d,i){delete this.parentNode.__origin__;delete dragging[d];d3.select(this.parentNode).attr("transform","translate("+x(d)+")");foreground.attr("d",path);background.attr("d",path).attr("visibility",null)}function position(d){var v=dragging[d];return v==null?x(d):v}});return chart}chart.dispatch=dispatch;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{width:{get:function(){return width},set:function(_){width=_
+}},height:{get:function(){return height},set:function(_){height=_}},dimensionNames:{get:function(){return dimensionNames},set:function(_){dimensionNames=_}},dimensionFormats:{get:function(){return dimensionFormats},set:function(_){dimensionFormats=_}},lineTension:{get:function(){return lineTension},set:function(_){lineTension=_}},dimensions:{get:function(){return dimensionNames},set:function(_){nv.deprecated("dimensions","use dimensionNames instead");dimensionNames=_}},margin:{get:function(){return margin},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left}},color:{get:function(){return color},set:function(_){color=nv.utils.getColor(_)}}});nv.utils.initOptions(chart);return chart};nv.models.pie=function(){"use strict";var margin={top:0,right:0,bottom:0,left:0},width=500,height=500,getX=function(d){return d.x},getY=function(d){return d.y},id=Math.floor(Math.random()*1e4),container=null,color=nv.utils.defaultColor(),valueFormat=d3.format(",.2f"),showLabels=true,labelsOutside=false,labelType="key",labelThreshold=.02,donut=false,title=false,growOnHover=true,titleOffset=0,labelSunbeamLayout=false,startAngle=false,padAngle=false,endAngle=false,cornerRadius=0,donutRatio=.5,arcsRadius=[],dispatch=d3.dispatch("chartClick","elementClick","elementDblClick","elementMouseover","elementMouseout","elementMousemove","renderEnd");var arcs=[];var arcsOver=[];var renderWatch=nv.utils.renderWatch(dispatch);function chart(selection){renderWatch.reset();selection.each(function(data){var availableWidth=width-margin.left-margin.right,availableHeight=height-margin.top-margin.bottom,radius=Math.min(availableWidth,availableHeight)/2,arcsRadiusOuter=[],arcsRadiusInner=[];container=d3.select(this);if(arcsRadius.length===0){var outer=radius-radius/5;var inner=donutRatio*radius;for(var i=0;i<data[0].length;i++){arcsRadiusOuter.push(outer);arcsRadiusInner.push(inner)}}else{arcsRadiusOuter=arcsRadius.map(function(d){return(d.outer-d.outer/5)*radius});arcsRadiusInner=arcsRadius.map(function(d){return(d.inner-d.inner/5)*radius});donutRatio=d3.min(arcsRadius.map(function(d){return d.inner-d.inner/5}))}nv.utils.initSVG(container);var wrap=container.selectAll(".nv-wrap.nv-pie").data(data);var wrapEnter=wrap.enter().append("g").attr("class","nvd3 nv-wrap nv-pie nv-chart-"+id);var gEnter=wrapEnter.append("g");var g=wrap.select("g");var g_pie=gEnter.append("g").attr("class","nv-pie");gEnter.append("g").attr("class","nv-pieLabels");wrap.attr("transform","translate("+margin.left+","+margin.top+")");g.select(".nv-pie").attr("transform","translate("+availableWidth/2+","+availableHeight/2+")");g.select(".nv-pieLabels").attr("transform","translate("+availableWidth/2+","+availableHeight/2+")");container.on("click",function(d,i){dispatch.chartClick({data:d,index:i,pos:d3.event,id:id})});arcs=[];arcsOver=[];for(var i=0;i<data[0].length;i++){var arc=d3.svg.arc().outerRadius(arcsRadiusOuter[i]);var arcOver=d3.svg.arc().outerRadius(arcsRadiusOuter[i]+5);if(startAngle!==false){arc.startAngle(startAngle);arcOver.startAngle(startAngle)}if(endAngle!==false){arc.endAngle(endAngle);arcOver.endAngle(endAngle)}if(donut){arc.innerRadius(arcsRadiusInner[i]);arcOver.innerRadius(arcsRadiusInner[i])}if(arc.cornerRadius&&cornerRadius){arc.cornerRadius(cornerRadius);arcOver.cornerRadius(cornerRadius)}arcs.push(arc);arcsOver.push(arcOver)}var pie=d3.layout.pie().sort(null).value(function(d){return d.disabled?0:getY(d)});if(pie.padAngle&&padAngle){pie.padAngle(padAngle)}if(donut&&title){g_pie.append("text").attr("class","nv-pie-title");wrap.select(".nv-pie-title").style("text-anchor","middle").text(function(d){return title}).style("font-size",Math.min(availableWidth,availableHeight)*donutRatio*2/(title.length+2)+"px").attr("dy","0.35em").attr("transform",function(d,i){return"translate(0, "+titleOffset+")"})}var slices=wrap.select(".nv-pie").selectAll(".nv-slice").data(pie);var pieLabels=wrap.select(".nv-pieLabels").selectAll(".nv-label").data(pie);slices.exit().remove();pieLabels.exit().remove();var ae=slices.enter().append("g");ae.attr("class","nv-slice");ae.on("mouseover",function(d,i){d3.select(this).classed("hover",true);if(growOnHover){d3.select(this).select("path").transition().duration(70).attr("d",arcsOver[i])}dispatch.elementMouseover({data:d.data,index:i,color:d3.select(this).style("fill")})});ae.on("mouseout",function(d,i){d3.select(this).classed("hover",false);if(growOnHover){d3.select(this).select("path").transition().duration(50).attr("d",arcs[i])}dispatch.elementMouseout({data:d.data,index:i})});ae.on("mousemove",function(d,i){dispatch.elementMousemove({data:d.data,index:i})});ae.on("click",function(d,i){dispatch.elementClick({data:d.data,index:i,color:d3.select(this).style("fill")})});ae.on("dblclick",function(d,i){dispatch.elementDblClick({data:d.data,index:i,color:d3.select(this).style("fill")})});slices.attr("fill",function(d,i){return color(d.data,i)});slices.attr("stroke",function(d,i){return color(d.data,i)});var paths=ae.append("path").each(function(d){this._current=d});slices.select("path").transition().attr("d",function(d,i){return arcs[i](d)}).attrTween("d",arcTween);if(showLabels){var labelsArc=[];for(var i=0;i<data[0].length;i++){labelsArc.push(arcs[i]);if(labelsOutside){if(donut){labelsArc[i]=d3.svg.arc().outerRadius(arcs[i].outerRadius());if(startAngle!==false)labelsArc[i].startAngle(startAngle);if(endAngle!==false)labelsArc[i].endAngle(endAngle)}}else if(!donut){labelsArc[i].innerRadius(0)}}pieLabels.enter().append("g").classed("nv-label",true).each(function(d,i){var group=d3.select(this);group.attr("transform",function(d,i){if(labelSunbeamLayout){d.outerRadius=arcsRadiusOuter[i]+10;d.innerRadius=arcsRadiusOuter[i]+15;var rotateAngle=(d.startAngle+d.endAngle)/2*(180/Math.PI);if((d.startAngle+d.endAngle)/2<Math.PI){rotateAngle-=90}else{rotateAngle+=90}return"translate("+labelsArc[i].centroid(d)+") rotate("+rotateAngle+")"}else{d.outerRadius=radius+10;d.innerRadius=radius+15;return"translate("+labelsArc[i].centroid(d)+")"}});group.append("rect").style("stroke","#fff").style("fill","#fff").attr("rx",3).attr("ry",3);group.append("text").style("text-anchor",labelSunbeamLayout?(d.startAngle+d.endAngle)/2<Math.PI?"start":"end":"middle").style("fill","#000")});var labelLocationHash={};var avgHeight=14;var avgWidth=140;var createHashKey=function(coordinates){return Math.floor(coordinates[0]/avgWidth)*avgWidth+","+Math.floor(coordinates[1]/avgHeight)*avgHeight};pieLabels.watchTransition(renderWatch,"pie labels").attr("transform",function(d,i){if(labelSunbeamLayout){d.outerRadius=arcsRadiusOuter[i]+10;d.innerRadius=arcsRadiusOuter[i]+15;var rotateAngle=(d.startAngle+d.endAngle)/2*(180/Math.PI);if((d.startAngle+d.endAngle)/2<Math.PI){rotateAngle-=90}else{rotateAngle+=90}return"translate("+labelsArc[i].centroid(d)+") rotate("+rotateAngle+")"}else{d.outerRadius=radius+10;d.innerRadius=radius+15;var center=labelsArc[i].centroid(d);if(d.value){var hashKey=createHashKey(center);if(labelLocationHash[hashKey]){center[1]-=avgHeight}labelLocationHash[createHashKey(center)]=true}return"translate("+center+")"}});pieLabels.select(".nv-label text").style("text-anchor",function(d,i){return labelSunbeamLayout?(d.startAngle+d.endAngle)/2<Math.PI?"start":"end":"middle"}).text(function(d,i){var percent=(d.endAngle-d.startAngle)/(2*Math.PI);var label="";if(!d.value||percent<labelThreshold)return"";if(typeof labelType==="function"){label=labelType(d,i,{key:getX(d.data),value:getY(d.data),percent:valueFormat(percent)})}else{switch(labelType){case"key":label=getX(d.data);break;case"value":label=valueFormat(getY(d.data));break;case"percent":label=d3.format("%")(percent);break}}return label})}function angle(d){var a=(d.startAngle+d.endAngle)*90/Math.PI-90;return a>90?a-180:a}function arcTween(a,idx){a.endAngle=isNaN(a.endAngle)?0:a.endAngle;a.startAngle=isNaN(a.startAngle)?0:a.startAngle;if(!donut)a.innerRadius=0;var i=d3.interpolate(this._current,a);this._current=i(0);return function(t){return arcs[idx](i(t))}}});renderWatch.renderEnd("pie immediate");return chart}chart.dispatch=dispatch;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{arcsRadius:{get:function(){return arcsRadius},set:function(_){arcsRadius=_}},width:{get:function(){return width},set:function(_){width=_}},height:{get:function(){return height},set:function(_){height=_}},showLabels:{get:function(){return showLabels},set:function(_){showLabels=_}},title:{get:function(){return title},set:function(_){title=_}},titleOffset:{get:function(){return titleOffset},set:function(_){titleOffset=_}},labelThreshold:{get:function(){return labelThreshold},set:function(_){labelThreshold=_}},valueFormat:{get:function(){return valueFormat},set:function(_){valueFormat=_}},x:{get:function(){return getX},set:function(_){getX=_}},id:{get:function(){return id},set:function(_){id=_}},endAngle:{get:function(){return endAngle},set:function(_){endAngle=_}},startAngle:{get:function(){return startAngle},set:function(_){startAngle=_}},padAngle:{get:function(){return padAngle},set:function(_){padAngle=_}},cornerRadius:{get:function(){return cornerRadius},set:function(_){cornerRadius=_}},donutRatio:{get:function(){return donutRatio},set:function(_){donutRatio=_}},labelsOutside:{get:function(){return labelsOutside},set:function(_){labelsOutside=_}},labelSunbeamLayout:{get:function(){return labelSunbeamLayout},set:function(_){labelSunbeamLayout=_}},donut:{get:function(){return donut},set:function(_){donut=_}},growOnHover:{get:function(){return growOnHover},set:function(_){growOnHover=_}},pieLabelsOutside:{get:function(){return labelsOutside},set:function(_){labelsOutside=_;nv.deprecated("pieLabelsOutside","use labelsOutside instead")}},donutLabelsOutside:{get:function(){return labelsOutside},set:function(_){labelsOutside=_;nv.deprecated("donutLabelsOutside","use labelsOutside instead")}},labelFormat:{get:function(){return valueFormat},set:function(_){valueFormat=_;nv.deprecated("labelFormat","use valueFormat instead")}},margin:{get:function(){return margin},set:function(_){margin.top=typeof _.top!="undefined"?_.top:margin.top;margin.right=typeof _.right!="undefined"?_.right:margin.right;margin.bottom=typeof _.bottom!="undefined"?_.bottom:margin.bottom;margin.left=typeof _.left!="undefined"?_.left:margin.left}},y:{get:function(){return getY},set:function(_){getY=d3.functor(_)}},color:{get:function(){return color},set:function(_){color=nv.utils.getColor(_)}},labelType:{get:function(){return labelType},set:function(_){labelType=_||"key"}}});nv.utils.initOptions(chart);return chart};nv.models.pieChart=function(){"use strict";var pie=nv.models.pie();var legend=nv.models.legend();var tooltip=nv.models.tooltip();var margin={top:30,right:20,bottom:20,left:20},width=null,height=null,showLegend=true,legendPosition="top",color=nv.utils.defaultColor(),state=nv.utils.state(),defaultState=null,noData=null,duration=250,dispatch=d3.dispatch("tooltipShow","tooltipHide","stateChange","changeState","renderEnd");tooltip.headerEnabled(false).duration(0).valueFormatter(function(d,i){return pie.valueFormat()(d,i)});var renderWatch=nv.utils.renderWatch(dispatch);var stateGetter=function(data){return function(){return{active:data.map(function(d){return!d.disabled})}}};var stateSetter=function(data){return function(state){if(state.active!==undefined){data.forEach(function(series,i){series.disabled=!state.active[i]})}}};function chart(selection){renderWatch.reset();renderWatch.models(pie);selection.each(function(data){var container=d3.select(this);nv.utils.initSVG(container);var that=this;var availableWidth=nv.utils.availableWidth(width,container,margin),availableHeight=nv.utils.availableHeight(height,container,margin);chart.update=function(){container.transition().call(chart)};chart.container=this;state.setter(stateSetter(data),chart.update).getter(stateGetter(data)).update();state.disabled=data.map(function(d){return!!d.disabled});if(!defaultState){var key;defaultState={};for(key in state){if(state[key]instanceof Array)defaultState[key]=state[key].slice(0);else defaultState[key]=state[key]}}if(!data||!data.length){nv.utils.noData(chart,container);return chart}else{container.selectAll(".nv-noData").remove()}var wrap=container.selectAll("g.nv-wrap.nv-pieChart").data([data]);var gEnter=wrap.enter().append("g").attr("class","nvd3 nv-wrap nv-pieChart").append("g");var g=wrap.select("g");gEnter.append("g").attr("class","nv-pieWrap");gEnter.append("g").attr("class","nv-legendWrap");if(showLegend){if(legendPosition==="top"){legend.width(availableWidth).key(pie.x());wrap.select(".nv-legendWrap").datum(data).call(legend);if(margin.top!=legend.height()){margin.top=legend.height();availableHeight=nv.utils.availableHeight(height,container,margin)}wrap.select(".nv-legendWrap").attr("transform","translate(0,"+-margin.top+")")}else if(legendPosition==="right"){var legendWidth=nv.models.legend().width();if(availableWidth/2<legendWidth){legendWidth=availableWidth/2}legend.height(availableHeight).key(pie.x());legend.width(legendWidth);availableWidth-=legend.width();wrap.select(".nv-legendWrap").datum(data).call(legend).attr("transform","translate("+availableWidth+",0)")}}wrap.attr("transform","translate("+margin.left+","+margin.top+")");pie.width(availableWidth).height(availableHeight);var pieWrap=g.select(".nv-pieWrap").datum([data]);d3.transition(pieWrap).call(pie);legend.dispatch.on("stateChange",function(newState){for(var key in newState){state[key]=newState[key]}dispatch.stateChange(state);chart.update()});dispatch.on("changeState",function(e){if(typeof e.disabled!=="undefined"){data.forEach(function(series,i){series.disabled=e.disabled[i]});state.disabled=e.disabled}chart.update()})});renderWatch.renderEnd("pieChart immediate");return chart}pie.dispatch.on("elementMouseover.tooltip",function(evt){evt["series"]={key:chart.x()(evt.data),value:chart.y()(evt.data),color:evt.color};tooltip.data(evt).hidden(false)});pie.dispatch.on("elementMouseout.tooltip",function(evt){tooltip.hidden(true)});pie.dispatch.on("elementMousemove.tooltip",function(evt){tooltip.position({top:d3.event.pageY,left:d3.event.pageX})()});chart.legend=legend;chart.dispatch=dispatch;chart.pie=pie;chart.tooltip=tooltip;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{noData:{get:function(){return noData},set:function(_){noData=_}},showLegend:{get:function(){return showLegend},set:function(_){showLegend=_}},legendPosition:{get:function(){return legendPosition},set:function(_){legendPosition=_}},defaultState:{get:function(){return defaultState},set:function(_){defaultState=_}},tooltips:{get:function(){return tooltip.enabled()},set:function(_){nv.deprecated("tooltips","use chart.tooltip.enabled() instead");tooltip.enabled(!!_)}},tooltipContent:{get:function(){return tooltip.contentGenerator()},set:function(_){nv.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead");tooltip.contentGenerator(_)}},color:{get:function(){return color},set:function(_){color=_;legend.color(color);pie.color(color)}},duration:{get:function(){return duration},set:function(_){duration=_;renderWatch.reset(duration)}},margin:{get:function(){return margin},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left}}});nv.utils.inheritOptions(chart,pie);nv.utils.initOptions(chart);return chart};nv.models.scatter=function(){"use strict";var margin={top:0,right:0,bottom:0,left:0},width=null,height=null,color=nv.utils.defaultColor(),id=Math.floor(Math.random()*1e5),container=null,x=d3.scale.linear(),y=d3.scale.linear(),z=d3.scale.linear(),getX=function(d){return d.x},getY=function(d){return d.y},getSize=function(d){return d.size||1},getShape=function(d){return d.shape||"circle"},forceX=[],forceY=[],forceSize=[],interactive=true,pointActive=function(d){return!d.notActive},padData=false,padDataOuter=.1,clipEdge=false,clipVoronoi=true,showVoronoi=false,clipRadius=function(){return 25},xDomain=null,yDomain=null,xRange=null,yRange=null,sizeDomain=null,sizeRange=null,singlePoint=false,dispatch=d3.dispatch("elementClick","elementDblClick","elementMouseover","elementMouseout","renderEnd"),useVoronoi=true,duration=250;var x0,y0,z0,timeoutID,needsUpdate=false,renderWatch=nv.utils.renderWatch(dispatch,duration),_sizeRange_def=[16,256];function chart(selection){renderWatch.reset();selection.each(function(data){container=d3.select(this);var availableWidth=nv.utils.availableWidth(width,container,margin),availableHeight=nv.utils.availableHeight(height,container,margin);nv.utils.initSVG(container);data.forEach(function(series,i){series.values.forEach(function(point){point.series=i})});var seriesData=xDomain&&yDomain&&sizeDomain?[]:d3.merge(data.map(function(d){return d.values.map(function(d,i){return{x:getX(d,i),y:getY(d,i),size:getSize(d,i)}})}));x.domain(xDomain||d3.extent(seriesData.map(function(d){return d.x}).concat(forceX)));if(padData&&data[0])x.range(xRange||[(availableWidth*padDataOuter+availableWidth)/(2*data[0].values.length),availableWidth-availableWidth*(1+padDataOuter)/(2*data[0].values.length)]);else x.range(xRange||[0,availableWidth]);y.domain(yDomain||d3.extent(seriesData.map(function(d){return d.y}).concat(forceY))).range(yRange||[availableHeight,0]);z.domain(sizeDomain||d3.extent(seriesData.map(function(d){return d.size}).concat(forceSize))).range(sizeRange||_sizeRange_def);singlePoint=x.domain()[0]===x.domain()[1]||y.domain()[0]===y.domain()[1];if(x.domain()[0]===x.domain()[1])x.domain()[0]?x.domain([x.domain()[0]-x.domain()[0]*.01,x.domain()[1]+x.domain()[1]*.01]):x.domain([-1,1]);if(y.domain()[0]===y.domain()[1])y.domain()[0]?y.domain([y.domain()[0]-y.domain()[0]*.01,y.domain()[1]+y.domain()[1]*.01]):y.domain([-1,1]);if(isNaN(x.domain()[0])){x.domain([-1,1])}if(isNaN(y.domain()[0])){y.domain([-1,1])}x0=x0||x;y0=y0||y;z0=z0||z;var wrap=container.selectAll("g.nv-wrap.nv-scatter").data([data]);var wrapEnter=wrap.enter().append("g").attr("class","nvd3 nv-wrap nv-scatter nv-chart-"+id);var defsEnter=wrapEnter.append("defs");var gEnter=wrapEnter.append("g");var g=wrap.select("g");wrap.classed("nv-single-point",singlePoint);gEnter.append("g").attr("class","nv-groups");gEnter.append("g").attr("class","nv-point-paths");wrapEnter.append("g").attr("class","nv-point-clips");wrap.attr("transform","translate("+margin.left+","+margin.top+")");defsEnter.append("clipPath").attr("id","nv-edge-clip-"+id).append("rect");wrap.select("#nv-edge-clip-"+id+" rect").attr("width",availableWidth).attr("height",availableHeight>0?availableHeight:0);g.attr("clip-path",clipEdge?"url(#nv-edge-clip-"+id+")":"");function updateInteractiveLayer(){needsUpdate=false;if(!interactive)return false;if(useVoronoi===true){var vertices=d3.merge(data.map(function(group,groupIndex){return group.values.map(function(point,pointIndex){var pX=getX(point,pointIndex);var pY=getY(point,pointIndex);return[x(pX)+Math.random()*1e-4,y(pY)+Math.random()*1e-4,groupIndex,pointIndex,point]}).filter(function(pointArray,pointIndex){return pointActive(pointArray[4],pointIndex)})}));if(vertices.length==0)return false;if(vertices.length<3){vertices.push([x.range()[0]-20,y.range()[0]-20,null,null]);vertices.push([x.range()[1]+20,y.range()[1]+20,null,null]);vertices.push([x.range()[0]-20,y.range()[0]+20,null,null]);vertices.push([x.range()[1]+20,y.range()[1]-20,null,null])}var bounds=d3.geom.polygon([[-10,-10],[-10,height+10],[width+10,height+10],[width+10,-10]]);var voronoi=d3.geom.voronoi(vertices).map(function(d,i){return{data:bounds.clip(d),series:vertices[i][2],point:vertices[i][3]}});wrap.select(".nv-point-paths").selectAll("path").remove();var pointPaths=wrap.select(".nv-point-paths").selectAll("path").data(voronoi);var vPointPaths=pointPaths.enter().append("svg:path").attr("d",function(d){if(!d||!d.data||d.data.length===0)return"M 0 0";else return"M"+d.data.join(",")+"Z"}).attr("id",function(d,i){return"nv-path-"+i}).attr("clip-path",function(d,i){return"url(#nv-clip-"+id+"-"+i+")"});if(showVoronoi){vPointPaths.style("fill",d3.rgb(230,230,230)).style("fill-opacity",.4).style("stroke-opacity",1).style("stroke",d3.rgb(200,200,200))}if(clipVoronoi){wrap.select(".nv-point-clips").selectAll("clipPath").remove();wrap.select(".nv-point-clips").selectAll("clipPath").data(vertices).enter().append("svg:clipPath").attr("id",function(d,i){return"nv-clip-"+id+"-"+i}).append("svg:circle").attr("cx",function(d){return d[0]}).attr("cy",function(d){return d[1]}).attr("r",clipRadius)}var mouseEventCallback=function(d,mDispatch){if(needsUpdate)return 0;var series=data[d.series];if(series===undefined)return;var point=series.values[d.point];point["color"]=color(series,d.series);point["x"]=getX(point);point["y"]=getY(point);var box=container.node().getBoundingClientRect();var scrollTop=window.pageYOffset||document.documentElement.scrollTop;var scrollLeft=window.pageXOffset||document.documentElement.scrollLeft;var pos={left:x(getX(point,d.point))+box.left+scrollLeft+margin.left+10,top:y(getY(point,d.point))+box.top+scrollTop+margin.top+10};mDispatch({point:point,series:series,pos:pos,seriesIndex:d.series,pointIndex:d.point})};pointPaths.on("click",function(d){mouseEventCallback(d,dispatch.elementClick)}).on("dblclick",function(d){mouseEventCallback(d,dispatch.elementDblClick)}).on("mouseover",function(d){mouseEventCallback(d,dispatch.elementMouseover)}).on("mouseout",function(d,i){mouseEventCallback(d,dispatch.elementMouseout)})}else{wrap.select(".nv-groups").selectAll(".nv-group").selectAll(".nv-point").on("click",function(d,i){if(needsUpdate||!data[d.series])return 0;var series=data[d.series],point=series.values[i];dispatch.elementClick({point:point,series:series,pos:[x(getX(point,i))+margin.left,y(getY(point,i))+margin.top],seriesIndex:d.series,pointIndex:i})}).on("dblclick",function(d,i){if(needsUpdate||!data[d.series])return 0;var series=data[d.series],point=series.values[i];dispatch.elementDblClick({point:point,series:series,pos:[x(getX(point,i))+margin.left,y(getY(point,i))+margin.top],seriesIndex:d.series,pointIndex:i})}).on("mouseover",function(d,i){if(needsUpdate||!data[d.series])return 0;var series=data[d.series],point=series.values[i];dispatch.elementMouseover({point:point,series:series,pos:[x(getX(point,i))+margin.left,y(getY(point,i))+margin.top],seriesIndex:d.series,pointIndex:i,color:color(d,i)})}).on("mouseout",function(d,i){if(needsUpdate||!data[d.series])return 0;var series=data[d.series],point=series.values[i];dispatch.elementMouseout({point:point,series:series,seriesIndex:d.series,pointIndex:i,color:color(d,i)})})}}needsUpdate=true;var groups=wrap.select(".nv-groups").selectAll(".nv-group").data(function(d){return d},function(d){return d.key});groups.enter().append("g").style("stroke-opacity",1e-6).style("fill-opacity",1e-6);groups.exit().remove();groups.attr("class",function(d,i){return"nv-group nv-series-"+i}).classed("hover",function(d){return d.hover});groups.watchTransition(renderWatch,"scatter: groups").style("fill",function(d,i){return color(d,i)}).style("stroke",function(d,i){return color(d,i)}).style("stroke-opacity",1).style("fill-opacity",.5);var points=groups.selectAll("path.nv-point").data(function(d){return d.values.map(function(point,pointIndex){return[point,pointIndex]}).filter(function(pointArray,pointIndex){return pointActive(pointArray[0],pointIndex)})});points.enter().append("path").style("fill",function(d){return d.color}).style("stroke",function(d){return d.color}).attr("transform",function(d){return"translate("+x0(getX(d[0],d[1]))+","+y0(getY(d[0],d[1]))+")"}).attr("d",nv.utils.symbol().type(function(d){return getShape(d[0])}).size(function(d){return z(getSize(d[0],d[1]))}));points.exit().remove();groups.exit().selectAll("path.nv-point").watchTransition(renderWatch,"scatter exit").attr("transform",function(d){return"translate("+x(getX(d[0],d[1]))+","+y(getY(d[0],d[1]))+")"}).remove();points.each(function(d){d3.select(this).classed("nv-point",true).classed("nv-point-"+d[1],true).classed("nv-noninteractive",!interactive).classed("hover",false)});points.watchTransition(renderWatch,"scatter points").attr("transform",function(d){return"translate("+x(getX(d[0],d[1]))+","+y(getY(d[0],d[1]))+")"}).attr("d",nv.utils.symbol().type(function(d){return getShape(d[0])}).size(function(d){return z(getSize(d[0],d[1]))}));clearTimeout(timeoutID);timeoutID=setTimeout(updateInteractiveLayer,300);x0=x.copy();y0=y.copy();z0=z.copy()});renderWatch.renderEnd("scatter immediate");return chart}chart.dispatch=dispatch;chart.options=nv.utils.optionsFunc.bind(chart);chart._calls=new function(){this.clearHighlights=function(){nv.dom.write(function(){container.selectAll(".nv-point.hover").classed("hover",false)});return null};this.highlightPoint=function(seriesIndex,pointIndex,isHoverOver){nv.dom.write(function(){container.select(" .nv-series-"+seriesIndex+" .nv-point-"+pointIndex).classed("hover",isHoverOver)})}};dispatch.on("elementMouseover.point",function(d){if(interactive)chart._calls.highlightPoint(d.seriesIndex,d.pointIndex,true)});dispatch.on("elementMouseout.point",function(d){if(interactive)chart._calls.highlightPoint(d.seriesIndex,d.pointIndex,false)});chart._options=Object.create({},{width:{get:function(){return width},set:function(_){width=_}},height:{get:function(){return height},set:function(_){height=_}},xScale:{get:function(){return x},set:function(_){x=_}},yScale:{get:function(){return y},set:function(_){y=_}},pointScale:{get:function(){return z},set:function(_){z=_}},xDomain:{get:function(){return xDomain},set:function(_){xDomain=_}},yDomain:{get:function(){return yDomain},set:function(_){yDomain=_}},pointDomain:{get:function(){return sizeDomain},set:function(_){sizeDomain=_}},xRange:{get:function(){return xRange},set:function(_){xRange=_}},yRange:{get:function(){return yRange},set:function(_){yRange=_}},pointRange:{get:function(){return sizeRange},set:function(_){sizeRange=_}},forceX:{get:function(){return forceX},set:function(_){forceX=_}},forceY:{get:function(){return forceY},set:function(_){forceY=_}},forcePoint:{get:function(){return forceSize},set:function(_){forceSize=_}},interactive:{get:function(){return interactive},set:function(_){interactive=_}},pointActive:{get:function(){return pointActive},set:function(_){pointActive=_}},padDataOuter:{get:function(){return padDataOuter},set:function(_){padDataOuter=_}},padData:{get:function(){return padData},set:function(_){padData=_}},clipEdge:{get:function(){return clipEdge},set:function(_){clipEdge=_}},clipVoronoi:{get:function(){return clipVoronoi},set:function(_){clipVoronoi=_}},clipRadius:{get:function(){return clipRadius},set:function(_){clipRadius=_}},showVoronoi:{get:function(){return showVoronoi},set:function(_){showVoronoi=_}},id:{get:function(){return id},set:function(_){id=_}},x:{get:function(){return getX},set:function(_){getX=d3.functor(_)}},y:{get:function(){return getY},set:function(_){getY=d3.functor(_)}},pointSize:{get:function(){return getSize},set:function(_){getSize=d3.functor(_)}},pointShape:{get:function(){return getShape},set:function(_){getShape=d3.functor(_)}},margin:{get:function(){return margin},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left}},duration:{get:function(){return duration},set:function(_){duration=_;renderWatch.reset(duration)}},color:{get:function(){return color},set:function(_){color=nv.utils.getColor(_)}},useVoronoi:{get:function(){return useVoronoi},set:function(_){useVoronoi=_;if(useVoronoi===false){clipVoronoi=false}}}});nv.utils.initOptions(chart);return chart};nv.models.scatterChart=function(){"use strict";var scatter=nv.models.scatter(),xAxis=nv.models.axis(),yAxis=nv.models.axis(),legend=nv.models.legend(),distX=nv.models.distribution(),distY=nv.models.distribution(),tooltip=nv.models.tooltip();var margin={top:30,right:20,bottom:50,left:75},width=null,height=null,container=null,color=nv.utils.defaultColor(),x=scatter.xScale(),y=scatter.yScale(),showDistX=false,showDistY=false,showLegend=true,showXAxis=true,showYAxis=true,rightAlignYAxis=false,state=nv.utils.state(),defaultState=null,dispatch=d3.dispatch("stateChange","changeState","renderEnd"),noData=null,duration=250;scatter.xScale(x).yScale(y);xAxis.orient("bottom").tickPadding(10);yAxis.orient(rightAlignYAxis?"right":"left").tickPadding(10);distX.axis("x");distY.axis("y");tooltip.headerFormatter(function(d,i){return xAxis.tickFormat()(d,i)}).valueFormatter(function(d,i){return yAxis.tickFormat()(d,i)});var x0,y0,renderWatch=nv.utils.renderWatch(dispatch,duration);var stateGetter=function(data){return function(){return{active:data.map(function(d){return!d.disabled})}}};var stateSetter=function(data){return function(state){if(state.active!==undefined)data.forEach(function(series,i){series.disabled=!state.active[i]})}};function chart(selection){renderWatch.reset();renderWatch.models(scatter);if(showXAxis)renderWatch.models(xAxis);if(showYAxis)renderWatch.models(yAxis);if(showDistX)renderWatch.models(distX);if(showDistY)renderWatch.models(distY);selection.each(function(data){var that=this;container=d3.select(this);nv.utils.initSVG(container);var availableWidth=nv.utils.availableWidth(width,container,margin),availableHeight=nv.utils.availableHeight(height,container,margin);chart.update=function(){if(duration===0)container.call(chart);else container.transition().duration(duration).call(chart)};chart.container=this;state.setter(stateSetter(data),chart.update).getter(stateGetter(data)).update();state.disabled=data.map(function(d){return!!d.disabled});if(!defaultState){var key;defaultState={};for(key in state){if(state[key]instanceof Array)defaultState[key]=state[key].slice(0);else defaultState[key]=state[key]}}if(!data||!data.length||!data.filter(function(d){return d.values.length}).length){nv.utils.noData(chart,container);renderWatch.renderEnd("scatter immediate");return chart}else{container.selectAll(".nv-noData").remove()}x=scatter.xScale();y=scatter.yScale();var wrap=container.selectAll("g.nv-wrap.nv-scatterChart").data([data]);var wrapEnter=wrap.enter().append("g").attr("class","nvd3 nv-wrap nv-scatterChart nv-chart-"+scatter.id());var gEnter=wrapEnter.append("g");var g=wrap.select("g");gEnter.append("rect").attr("class","nvd3 nv-background").style("pointer-events","none");gEnter.append("g").attr("class","nv-x nv-axis");gEnter.append("g").attr("class","nv-y nv-axis");gEnter.append("g").attr("class","nv-scatterWrap");gEnter.append("g").attr("class","nv-regressionLinesWrap");gEnter.append("g").attr("class","nv-distWrap");gEnter.append("g").attr("class","nv-legendWrap");if(rightAlignYAxis){g.select(".nv-y.nv-axis").attr("transform","translate("+availableWidth+",0)")}if(showLegend){var legendWidth=availableWidth;legend.width(legendWidth);wrap.select(".nv-legendWrap").datum(data).call(legend);if(margin.top!=legend.height()){margin.top=legend.height();availableHeight=nv.utils.availableHeight(height,container,margin)}wrap.select(".nv-legendWrap").attr("transform","translate(0"+","+-margin.top+")")}wrap.attr("transform","translate("+margin.left+","+margin.top+")");scatter.width(availableWidth).height(availableHeight).color(data.map(function(d,i){d.color=d.color||color(d,i);return d.color}).filter(function(d,i){return!data[i].disabled}));wrap.select(".nv-scatterWrap").datum(data.filter(function(d){return!d.disabled})).call(scatter);wrap.select(".nv-regressionLinesWrap").attr("clip-path","url(#nv-edge-clip-"+scatter.id()+")");var regWrap=wrap.select(".nv-regressionLinesWrap").selectAll(".nv-regLines").data(function(d){return d});regWrap.enter().append("g").attr("class","nv-regLines");
+var regLine=regWrap.selectAll(".nv-regLine").data(function(d){return[d]});regLine.enter().append("line").attr("class","nv-regLine").style("stroke-opacity",0);regLine.filter(function(d){return d.intercept&&d.slope}).watchTransition(renderWatch,"scatterPlusLineChart: regline").attr("x1",x.range()[0]).attr("x2",x.range()[1]).attr("y1",function(d,i){return y(x.domain()[0]*d.slope+d.intercept)}).attr("y2",function(d,i){return y(x.domain()[1]*d.slope+d.intercept)}).style("stroke",function(d,i,j){return color(d,j)}).style("stroke-opacity",function(d,i){return d.disabled||typeof d.slope==="undefined"||typeof d.intercept==="undefined"?0:1});if(showXAxis){xAxis.scale(x)._ticks(nv.utils.calcTicksX(availableWidth/100,data)).tickSize(-availableHeight,0);g.select(".nv-x.nv-axis").attr("transform","translate(0,"+y.range()[0]+")").call(xAxis)}if(showYAxis){yAxis.scale(y)._ticks(nv.utils.calcTicksY(availableHeight/36,data)).tickSize(-availableWidth,0);g.select(".nv-y.nv-axis").call(yAxis)}if(showDistX){distX.getData(scatter.x()).scale(x).width(availableWidth).color(data.map(function(d,i){return d.color||color(d,i)}).filter(function(d,i){return!data[i].disabled}));gEnter.select(".nv-distWrap").append("g").attr("class","nv-distributionX");g.select(".nv-distributionX").attr("transform","translate(0,"+y.range()[0]+")").datum(data.filter(function(d){return!d.disabled})).call(distX)}if(showDistY){distY.getData(scatter.y()).scale(y).width(availableHeight).color(data.map(function(d,i){return d.color||color(d,i)}).filter(function(d,i){return!data[i].disabled}));gEnter.select(".nv-distWrap").append("g").attr("class","nv-distributionY");g.select(".nv-distributionY").attr("transform","translate("+(rightAlignYAxis?availableWidth:-distY.size())+",0)").datum(data.filter(function(d){return!d.disabled})).call(distY)}legend.dispatch.on("stateChange",function(newState){for(var key in newState)state[key]=newState[key];dispatch.stateChange(state);chart.update()});dispatch.on("changeState",function(e){if(typeof e.disabled!=="undefined"){data.forEach(function(series,i){series.disabled=e.disabled[i]});state.disabled=e.disabled}chart.update()});scatter.dispatch.on("elementMouseout.tooltip",function(evt){tooltip.hidden(true);container.select(".nv-chart-"+scatter.id()+" .nv-series-"+evt.seriesIndex+" .nv-distx-"+evt.pointIndex).attr("y1",0);container.select(".nv-chart-"+scatter.id()+" .nv-series-"+evt.seriesIndex+" .nv-disty-"+evt.pointIndex).attr("x2",distY.size())});scatter.dispatch.on("elementMouseover.tooltip",function(evt){container.select(".nv-series-"+evt.seriesIndex+" .nv-distx-"+evt.pointIndex).attr("y1",evt.pos.top-availableHeight-margin.top);container.select(".nv-series-"+evt.seriesIndex+" .nv-disty-"+evt.pointIndex).attr("x2",evt.pos.left+distX.size()-margin.left);tooltip.position(evt.pos).data(evt).hidden(false)});x0=x.copy();y0=y.copy()});renderWatch.renderEnd("scatter with line immediate");return chart}chart.dispatch=dispatch;chart.scatter=scatter;chart.legend=legend;chart.xAxis=xAxis;chart.yAxis=yAxis;chart.distX=distX;chart.distY=distY;chart.tooltip=tooltip;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{width:{get:function(){return width},set:function(_){width=_}},height:{get:function(){return height},set:function(_){height=_}},container:{get:function(){return container},set:function(_){container=_}},showDistX:{get:function(){return showDistX},set:function(_){showDistX=_}},showDistY:{get:function(){return showDistY},set:function(_){showDistY=_}},showLegend:{get:function(){return showLegend},set:function(_){showLegend=_}},showXAxis:{get:function(){return showXAxis},set:function(_){showXAxis=_}},showYAxis:{get:function(){return showYAxis},set:function(_){showYAxis=_}},defaultState:{get:function(){return defaultState},set:function(_){defaultState=_}},noData:{get:function(){return noData},set:function(_){noData=_}},duration:{get:function(){return duration},set:function(_){duration=_}},tooltips:{get:function(){return tooltip.enabled()},set:function(_){nv.deprecated("tooltips","use chart.tooltip.enabled() instead");tooltip.enabled(!!_)}},tooltipContent:{get:function(){return tooltip.contentGenerator()},set:function(_){nv.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead");tooltip.contentGenerator(_)}},tooltipXContent:{get:function(){return tooltip.contentGenerator()},set:function(_){nv.deprecated("tooltipContent","This option is removed, put values into main tooltip.")}},tooltipYContent:{get:function(){return tooltip.contentGenerator()},set:function(_){nv.deprecated("tooltipContent","This option is removed, put values into main tooltip.")}},margin:{get:function(){return margin},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left}},rightAlignYAxis:{get:function(){return rightAlignYAxis},set:function(_){rightAlignYAxis=_;yAxis.orient(_?"right":"left")}},color:{get:function(){return color},set:function(_){color=nv.utils.getColor(_);legend.color(color);distX.color(color);distY.color(color)}}});nv.utils.inheritOptions(chart,scatter);nv.utils.initOptions(chart);return chart};nv.models.sparkline=function(){"use strict";var margin={top:2,right:0,bottom:2,left:0},width=400,height=32,container=null,animate=true,x=d3.scale.linear(),y=d3.scale.linear(),getX=function(d){return d.x},getY=function(d){return d.y},color=nv.utils.getColor(["#000"]),xDomain,yDomain,xRange,yRange;function chart(selection){selection.each(function(data){var availableWidth=width-margin.left-margin.right,availableHeight=height-margin.top-margin.bottom;container=d3.select(this);nv.utils.initSVG(container);x.domain(xDomain||d3.extent(data,getX)).range(xRange||[0,availableWidth]);y.domain(yDomain||d3.extent(data,getY)).range(yRange||[availableHeight,0]);var wrap=container.selectAll("g.nv-wrap.nv-sparkline").data([data]);var wrapEnter=wrap.enter().append("g").attr("class","nvd3 nv-wrap nv-sparkline");var gEnter=wrapEnter.append("g");var g=wrap.select("g");wrap.attr("transform","translate("+margin.left+","+margin.top+")");var paths=wrap.selectAll("path").data(function(d){return[d]});paths.enter().append("path");paths.exit().remove();paths.style("stroke",function(d,i){return d.color||color(d,i)}).attr("d",d3.svg.line().x(function(d,i){return x(getX(d,i))}).y(function(d,i){return y(getY(d,i))}));var points=wrap.selectAll("circle.nv-point").data(function(data){var yValues=data.map(function(d,i){return getY(d,i)});function pointIndex(index){if(index!=-1){var result=data[index];result.pointIndex=index;return result}else{return null}}var maxPoint=pointIndex(yValues.lastIndexOf(y.domain()[1])),minPoint=pointIndex(yValues.indexOf(y.domain()[0])),currentPoint=pointIndex(yValues.length-1);return[minPoint,maxPoint,currentPoint].filter(function(d){return d!=null})});points.enter().append("circle");points.exit().remove();points.attr("cx",function(d,i){return x(getX(d,d.pointIndex))}).attr("cy",function(d,i){return y(getY(d,d.pointIndex))}).attr("r",2).attr("class",function(d,i){return getX(d,d.pointIndex)==x.domain()[1]?"nv-point nv-currentValue":getY(d,d.pointIndex)==y.domain()[0]?"nv-point nv-minValue":"nv-point nv-maxValue"})});return chart}chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{width:{get:function(){return width},set:function(_){width=_}},height:{get:function(){return height},set:function(_){height=_}},xDomain:{get:function(){return xDomain},set:function(_){xDomain=_}},yDomain:{get:function(){return yDomain},set:function(_){yDomain=_}},xRange:{get:function(){return xRange},set:function(_){xRange=_}},yRange:{get:function(){return yRange},set:function(_){yRange=_}},xScale:{get:function(){return x},set:function(_){x=_}},yScale:{get:function(){return y},set:function(_){y=_}},animate:{get:function(){return animate},set:function(_){animate=_}},x:{get:function(){return getX},set:function(_){getX=d3.functor(_)}},y:{get:function(){return getY},set:function(_){getY=d3.functor(_)}},margin:{get:function(){return margin},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left}},color:{get:function(){return color},set:function(_){color=nv.utils.getColor(_)}}});nv.utils.initOptions(chart);return chart};nv.models.sparklinePlus=function(){"use strict";var sparkline=nv.models.sparkline();var margin={top:15,right:100,bottom:10,left:50},width=null,height=null,x,y,index=[],paused=false,xTickFormat=d3.format(",r"),yTickFormat=d3.format(",.2f"),showLastValue=true,alignValue=true,rightAlignValue=false,noData=null;function chart(selection){selection.each(function(data){var container=d3.select(this);nv.utils.initSVG(container);var availableWidth=nv.utils.availableWidth(width,container,margin),availableHeight=nv.utils.availableHeight(height,container,margin);chart.update=function(){container.call(chart)};chart.container=this;if(!data||!data.length){nv.utils.noData(chart,container);return chart}else{container.selectAll(".nv-noData").remove()}var currentValue=sparkline.y()(data[data.length-1],data.length-1);x=sparkline.xScale();y=sparkline.yScale();var wrap=container.selectAll("g.nv-wrap.nv-sparklineplus").data([data]);var wrapEnter=wrap.enter().append("g").attr("class","nvd3 nv-wrap nv-sparklineplus");var gEnter=wrapEnter.append("g");var g=wrap.select("g");gEnter.append("g").attr("class","nv-sparklineWrap");gEnter.append("g").attr("class","nv-valueWrap");gEnter.append("g").attr("class","nv-hoverArea");wrap.attr("transform","translate("+margin.left+","+margin.top+")");var sparklineWrap=g.select(".nv-sparklineWrap");sparkline.width(availableWidth).height(availableHeight);sparklineWrap.call(sparkline);if(showLastValue){var valueWrap=g.select(".nv-valueWrap");var value=valueWrap.selectAll(".nv-currentValue").data([currentValue]);value.enter().append("text").attr("class","nv-currentValue").attr("dx",rightAlignValue?-8:8).attr("dy",".9em").style("text-anchor",rightAlignValue?"end":"start");value.attr("x",availableWidth+(rightAlignValue?margin.right:0)).attr("y",alignValue?function(d){return y(d)}:0).style("fill",sparkline.color()(data[data.length-1],data.length-1)).text(yTickFormat(currentValue))}gEnter.select(".nv-hoverArea").append("rect").on("mousemove",sparklineHover).on("click",function(){paused=!paused}).on("mouseout",function(){index=[];updateValueLine()});g.select(".nv-hoverArea rect").attr("transform",function(d){return"translate("+-margin.left+","+-margin.top+")"}).attr("width",availableWidth+margin.left+margin.right).attr("height",availableHeight+margin.top);function updateValueLine(){if(paused)return;var hoverValue=g.selectAll(".nv-hoverValue").data(index);var hoverEnter=hoverValue.enter().append("g").attr("class","nv-hoverValue").style("stroke-opacity",0).style("fill-opacity",0);hoverValue.exit().transition().duration(250).style("stroke-opacity",0).style("fill-opacity",0).remove();hoverValue.attr("transform",function(d){return"translate("+x(sparkline.x()(data[d],d))+",0)"}).transition().duration(250).style("stroke-opacity",1).style("fill-opacity",1);if(!index.length)return;hoverEnter.append("line").attr("x1",0).attr("y1",-margin.top).attr("x2",0).attr("y2",availableHeight);hoverEnter.append("text").attr("class","nv-xValue").attr("x",-6).attr("y",-margin.top).attr("text-anchor","end").attr("dy",".9em");g.select(".nv-hoverValue .nv-xValue").text(xTickFormat(sparkline.x()(data[index[0]],index[0])));hoverEnter.append("text").attr("class","nv-yValue").attr("x",6).attr("y",-margin.top).attr("text-anchor","start").attr("dy",".9em");g.select(".nv-hoverValue .nv-yValue").text(yTickFormat(sparkline.y()(data[index[0]],index[0])))}function sparklineHover(){if(paused)return;var pos=d3.mouse(this)[0]-margin.left;function getClosestIndex(data,x){var distance=Math.abs(sparkline.x()(data[0],0)-x);var closestIndex=0;for(var i=0;i<data.length;i++){if(Math.abs(sparkline.x()(data[i],i)-x)<distance){distance=Math.abs(sparkline.x()(data[i],i)-x);closestIndex=i}}return closestIndex}index=[getClosestIndex(data,Math.round(x.invert(pos)))];updateValueLine()}});return chart}chart.sparkline=sparkline;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{width:{get:function(){return width},set:function(_){width=_}},height:{get:function(){return height},set:function(_){height=_}},xTickFormat:{get:function(){return xTickFormat},set:function(_){xTickFormat=_}},yTickFormat:{get:function(){return yTickFormat},set:function(_){yTickFormat=_}},showLastValue:{get:function(){return showLastValue},set:function(_){showLastValue=_}},alignValue:{get:function(){return alignValue},set:function(_){alignValue=_}},rightAlignValue:{get:function(){return rightAlignValue},set:function(_){rightAlignValue=_}},noData:{get:function(){return noData},set:function(_){noData=_}},margin:{get:function(){return margin},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left}}});nv.utils.inheritOptions(chart,sparkline);nv.utils.initOptions(chart);return chart};nv.models.stackedArea=function(){"use strict";var margin={top:0,right:0,bottom:0,left:0},width=960,height=500,color=nv.utils.defaultColor(),id=Math.floor(Math.random()*1e5),container=null,getX=function(d){return d.x},getY=function(d){return d.y},style="stack",offset="zero",order="default",interpolate="linear",clipEdge=false,x,y,scatter=nv.models.scatter(),duration=250,dispatch=d3.dispatch("areaClick","areaMouseover","areaMouseout","renderEnd","elementClick","elementMouseover","elementMouseout");scatter.pointSize(2.2).pointDomain([2.2,2.2]);var renderWatch=nv.utils.renderWatch(dispatch,duration);function chart(selection){renderWatch.reset();renderWatch.models(scatter);selection.each(function(data){var availableWidth=width-margin.left-margin.right,availableHeight=height-margin.top-margin.bottom;container=d3.select(this);nv.utils.initSVG(container);x=scatter.xScale();y=scatter.yScale();var dataRaw=data;data.forEach(function(aseries,i){aseries.seriesIndex=i;aseries.values=aseries.values.map(function(d,j){d.index=j;d.seriesIndex=i;return d})});var dataFiltered=data.filter(function(series){return!series.disabled});data=d3.layout.stack().order(order).offset(offset).values(function(d){return d.values}).x(getX).y(getY).out(function(d,y0,y){d.display={y:y,y0:y0}})(dataFiltered);var wrap=container.selectAll("g.nv-wrap.nv-stackedarea").data([data]);var wrapEnter=wrap.enter().append("g").attr("class","nvd3 nv-wrap nv-stackedarea");var defsEnter=wrapEnter.append("defs");var gEnter=wrapEnter.append("g");var g=wrap.select("g");gEnter.append("g").attr("class","nv-areaWrap");gEnter.append("g").attr("class","nv-scatterWrap");wrap.attr("transform","translate("+margin.left+","+margin.top+")");if(scatter.forceY().length==0){scatter.forceY().push(0)}scatter.width(availableWidth).height(availableHeight).x(getX).y(function(d){return d.display.y+d.display.y0}).forceY([0]).color(data.map(function(d,i){return d.color||color(d,d.seriesIndex)}));var scatterWrap=g.select(".nv-scatterWrap").datum(data);scatterWrap.call(scatter);defsEnter.append("clipPath").attr("id","nv-edge-clip-"+id).append("rect");wrap.select("#nv-edge-clip-"+id+" rect").attr("width",availableWidth).attr("height",availableHeight);g.attr("clip-path",clipEdge?"url(#nv-edge-clip-"+id+")":"");var area=d3.svg.area().x(function(d,i){return x(getX(d,i))}).y0(function(d){return y(d.display.y0)}).y1(function(d){return y(d.display.y+d.display.y0)}).interpolate(interpolate);var zeroArea=d3.svg.area().x(function(d,i){return x(getX(d,i))}).y0(function(d){return y(d.display.y0)}).y1(function(d){return y(d.display.y0)});var path=g.select(".nv-areaWrap").selectAll("path.nv-area").data(function(d){return d});path.enter().append("path").attr("class",function(d,i){return"nv-area nv-area-"+i}).attr("d",function(d,i){return zeroArea(d.values,d.seriesIndex)}).on("mouseover",function(d,i){d3.select(this).classed("hover",true);dispatch.areaMouseover({point:d,series:d.key,pos:[d3.event.pageX,d3.event.pageY],seriesIndex:d.seriesIndex})}).on("mouseout",function(d,i){d3.select(this).classed("hover",false);dispatch.areaMouseout({point:d,series:d.key,pos:[d3.event.pageX,d3.event.pageY],seriesIndex:d.seriesIndex})}).on("click",function(d,i){d3.select(this).classed("hover",false);dispatch.areaClick({point:d,series:d.key,pos:[d3.event.pageX,d3.event.pageY],seriesIndex:d.seriesIndex})});path.exit().remove();path.style("fill",function(d,i){return d.color||color(d,d.seriesIndex)}).style("stroke",function(d,i){return d.color||color(d,d.seriesIndex)});path.watchTransition(renderWatch,"stackedArea path").attr("d",function(d,i){return area(d.values,i)});scatter.dispatch.on("elementMouseover.area",function(e){g.select(".nv-chart-"+id+" .nv-area-"+e.seriesIndex).classed("hover",true)});scatter.dispatch.on("elementMouseout.area",function(e){g.select(".nv-chart-"+id+" .nv-area-"+e.seriesIndex).classed("hover",false)});chart.d3_stackedOffset_stackPercent=function(stackData){var n=stackData.length,m=stackData[0].length,i,j,o,y0=[];for(j=0;j<m;++j){for(i=0,o=0;i<dataRaw.length;i++){o+=getY(dataRaw[i].values[j])}if(o)for(i=0;i<n;i++){stackData[i][j][1]/=o}else{for(i=0;i<n;i++){stackData[i][j][1]=0}}}for(j=0;j<m;++j)y0[j]=0;return y0}});renderWatch.renderEnd("stackedArea immediate");return chart}chart.dispatch=dispatch;chart.scatter=scatter;scatter.dispatch.on("elementClick",function(){dispatch.elementClick.apply(this,arguments)});scatter.dispatch.on("elementMouseover",function(){dispatch.elementMouseover.apply(this,arguments)});scatter.dispatch.on("elementMouseout",function(){dispatch.elementMouseout.apply(this,arguments)});chart.interpolate=function(_){if(!arguments.length)return interpolate;interpolate=_;return chart};chart.duration=function(_){if(!arguments.length)return duration;duration=_;renderWatch.reset(duration);scatter.duration(duration);return chart};chart.dispatch=dispatch;chart.scatter=scatter;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{width:{get:function(){return width},set:function(_){width=_}},height:{get:function(){return height},set:function(_){height=_}},clipEdge:{get:function(){return clipEdge},set:function(_){clipEdge=_}},offset:{get:function(){return offset},set:function(_){offset=_}},order:{get:function(){return order},set:function(_){order=_}},interpolate:{get:function(){return interpolate},set:function(_){interpolate=_}},x:{get:function(){return getX},set:function(_){getX=d3.functor(_)}},y:{get:function(){return getY},set:function(_){getY=d3.functor(_)}},margin:{get:function(){return margin},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left}},color:{get:function(){return color},set:function(_){color=nv.utils.getColor(_)}},style:{get:function(){return style},set:function(_){style=_;switch(style){case"stack":chart.offset("zero");chart.order("default");break;case"stream":chart.offset("wiggle");chart.order("inside-out");break;case"stream-center":chart.offset("silhouette");chart.order("inside-out");break;case"expand":chart.offset("expand");chart.order("default");break;case"stack_percent":chart.offset(chart.d3_stackedOffset_stackPercent);chart.order("default");break}}},duration:{get:function(){return duration},set:function(_){duration=_;renderWatch.reset(duration);scatter.duration(duration)}}});nv.utils.inheritOptions(chart,scatter);nv.utils.initOptions(chart);return chart};nv.models.stackedAreaChart=function(){"use strict";var stacked=nv.models.stackedArea(),xAxis=nv.models.axis(),yAxis=nv.models.axis(),legend=nv.models.legend(),controls=nv.models.legend(),interactiveLayer=nv.interactiveGuideline(),tooltip=nv.models.tooltip();var margin={top:30,right:25,bottom:50,left:60},width=null,height=null,color=nv.utils.defaultColor(),showControls=true,showLegend=true,showXAxis=true,showYAxis=true,rightAlignYAxis=false,useInteractiveGuideline=false,x,y,state=nv.utils.state(),defaultState=null,noData=null,dispatch=d3.dispatch("stateChange","changeState","renderEnd"),controlWidth=250,controlOptions=["Stacked","Stream","Expanded"],controlLabels={},duration=250;state.style=stacked.style();xAxis.orient("bottom").tickPadding(7);yAxis.orient(rightAlignYAxis?"right":"left");tooltip.headerFormatter(function(d,i){return xAxis.tickFormat()(d,i)}).valueFormatter(function(d,i){return yAxis.tickFormat()(d,i)});interactiveLayer.tooltip.headerFormatter(function(d,i){return xAxis.tickFormat()(d,i)}).valueFormatter(function(d,i){return yAxis.tickFormat()(d,i)});var oldYTickFormat=null,oldValueFormatter=null;controls.updateState(false);var renderWatch=nv.utils.renderWatch(dispatch);var style=stacked.style();var stateGetter=function(data){return function(){return{active:data.map(function(d){return!d.disabled}),style:stacked.style()}}};var stateSetter=function(data){return function(state){if(state.style!==undefined)style=state.style;if(state.active!==undefined)data.forEach(function(series,i){series.disabled=!state.active[i]})}};var percentFormatter=d3.format("%");function chart(selection){renderWatch.reset();renderWatch.models(stacked);if(showXAxis)renderWatch.models(xAxis);if(showYAxis)renderWatch.models(yAxis);selection.each(function(data){var container=d3.select(this),that=this;nv.utils.initSVG(container);var availableWidth=nv.utils.availableWidth(width,container,margin),availableHeight=nv.utils.availableHeight(height,container,margin);chart.update=function(){container.transition().duration(duration).call(chart)};chart.container=this;state.setter(stateSetter(data),chart.update).getter(stateGetter(data)).update();state.disabled=data.map(function(d){return!!d.disabled});if(!defaultState){var key;defaultState={};for(key in state){if(state[key]instanceof Array)defaultState[key]=state[key].slice(0);else defaultState[key]=state[key]}}if(!data||!data.length||!data.filter(function(d){return d.values.length}).length){nv.utils.noData(chart,container);return chart}else{container.selectAll(".nv-noData").remove()}x=stacked.xScale();y=stacked.yScale();var wrap=container.selectAll("g.nv-wrap.nv-stackedAreaChart").data([data]);var gEnter=wrap.enter().append("g").attr("class","nvd3 nv-wrap nv-stackedAreaChart").append("g");var g=wrap.select("g");gEnter.append("rect").style("opacity",0);gEnter.append("g").attr("class","nv-x nv-axis");gEnter.append("g").attr("class","nv-y nv-axis");gEnter.append("g").attr("class","nv-stackedWrap");gEnter.append("g").attr("class","nv-legendWrap");gEnter.append("g").attr("class","nv-controlsWrap");gEnter.append("g").attr("class","nv-interactive");g.select("rect").attr("width",availableWidth).attr("height",availableHeight);if(showLegend){var legendWidth=showControls?availableWidth-controlWidth:availableWidth;legend.width(legendWidth);g.select(".nv-legendWrap").datum(data).call(legend);if(margin.top!=legend.height()){margin.top=legend.height();availableHeight=nv.utils.availableHeight(height,container,margin)}g.select(".nv-legendWrap").attr("transform","translate("+(availableWidth-legendWidth)+","+-margin.top+")")}if(showControls){var controlsData=[{key:controlLabels.stacked||"Stacked",metaKey:"Stacked",disabled:stacked.style()!="stack",style:"stack"},{key:controlLabels.stream||"Stream",metaKey:"Stream",disabled:stacked.style()!="stream",style:"stream"},{key:controlLabels.expanded||"Expanded",metaKey:"Expanded",disabled:stacked.style()!="expand",style:"expand"},{key:controlLabels.stack_percent||"Stack %",metaKey:"Stack_Percent",disabled:stacked.style()!="stack_percent",style:"stack_percent"}];controlWidth=controlOptions.length/3*260;controlsData=controlsData.filter(function(d){return controlOptions.indexOf(d.metaKey)!==-1});controls.width(controlWidth).color(["#444","#444","#444"]);g.select(".nv-controlsWrap").datum(controlsData).call(controls);if(margin.top!=Math.max(controls.height(),legend.height())){margin.top=Math.max(controls.height(),legend.height());availableHeight=nv.utils.availableHeight(height,container,margin)}g.select(".nv-controlsWrap").attr("transform","translate(0,"+-margin.top+")")}wrap.attr("transform","translate("+margin.left+","+margin.top+")");if(rightAlignYAxis){g.select(".nv-y.nv-axis").attr("transform","translate("+availableWidth+",0)")}if(useInteractiveGuideline){interactiveLayer.width(availableWidth).height(availableHeight).margin({left:margin.left,top:margin.top}).svgContainer(container).xScale(x);wrap.select(".nv-interactive").call(interactiveLayer)}stacked.width(availableWidth).height(availableHeight);var stackedWrap=g.select(".nv-stackedWrap").datum(data);stackedWrap.transition().call(stacked);if(showXAxis){xAxis.scale(x)._ticks(nv.utils.calcTicksX(availableWidth/100,data)).tickSize(-availableHeight,0);g.select(".nv-x.nv-axis").attr("transform","translate(0,"+availableHeight+")");g.select(".nv-x.nv-axis").transition().duration(0).call(xAxis)}if(showYAxis){var ticks;if(stacked.offset()==="wiggle"){ticks=0}else{ticks=nv.utils.calcTicksY(availableHeight/36,data)}yAxis.scale(y)._ticks(ticks).tickSize(-availableWidth,0);if(stacked.style()==="expand"||stacked.style()==="stack_percent"){var currentFormat=yAxis.tickFormat();if(!oldYTickFormat||currentFormat!==percentFormatter)oldYTickFormat=currentFormat;yAxis.tickFormat(percentFormatter)}else{if(oldYTickFormat){yAxis.tickFormat(oldYTickFormat);oldYTickFormat=null}}g.select(".nv-y.nv-axis").transition().duration(0).call(yAxis)}stacked.dispatch.on("areaClick.toggle",function(e){if(data.filter(function(d){return!d.disabled}).length===1)data.forEach(function(d){d.disabled=false});else data.forEach(function(d,i){d.disabled=i!=e.seriesIndex});state.disabled=data.map(function(d){return!!d.disabled});dispatch.stateChange(state);chart.update()});legend.dispatch.on("stateChange",function(newState){for(var key in newState)state[key]=newState[key];dispatch.stateChange(state);chart.update()});controls.dispatch.on("legendClick",function(d,i){if(!d.disabled)return;controlsData=controlsData.map(function(s){s.disabled=true;return s});d.disabled=false;stacked.style(d.style);state.style=stacked.style();dispatch.stateChange(state);chart.update()});interactiveLayer.dispatch.on("elementMousemove",function(e){stacked.clearHighlights();var singlePoint,pointIndex,pointXLocation,allData=[];data.filter(function(series,i){series.seriesIndex=i;return!series.disabled}).forEach(function(series,i){pointIndex=nv.interactiveBisect(series.values,e.pointXValue,chart.x());var point=series.values[pointIndex];var pointYValue=chart.y()(point,pointIndex);if(pointYValue!=null){stacked.highlightPoint(i,pointIndex,true)}if(typeof point==="undefined")return;if(typeof singlePoint==="undefined")singlePoint=point;if(typeof pointXLocation==="undefined")pointXLocation=chart.xScale()(chart.x()(point,pointIndex));var tooltipValue=stacked.style()=="expand"?point.display.y:chart.y()(point,pointIndex);allData.push({key:series.key,value:tooltipValue,color:color(series,series.seriesIndex),stackedValue:point.display})});allData.reverse();if(allData.length>2){var yValue=chart.yScale().invert(e.mouseY);var yDistMax=Infinity,indexToHighlight=null;allData.forEach(function(series,i){yValue=Math.abs(yValue);var stackedY0=Math.abs(series.stackedValue.y0);var stackedY=Math.abs(series.stackedValue.y);if(yValue>=stackedY0&&yValue<=stackedY+stackedY0){indexToHighlight=i;return}});if(indexToHighlight!=null)allData[indexToHighlight].highlight=true}var xValue=xAxis.tickFormat()(chart.x()(singlePoint,pointIndex));var valueFormatter=interactiveLayer.tooltip.valueFormatter();if(stacked.style()==="expand"||stacked.style()==="stack_percent"){if(!oldValueFormatter){oldValueFormatter=valueFormatter}valueFormatter=d3.format(".1%")}else{if(oldValueFormatter){valueFormatter=oldValueFormatter;oldValueFormatter=null}}interactiveLayer.tooltip.position({left:pointXLocation+margin.left,top:e.mouseY+margin.top}).chartContainer(that.parentNode).valueFormatter(valueFormatter).data({value:xValue,series:allData})();interactiveLayer.renderGuideLine(pointXLocation)});interactiveLayer.dispatch.on("elementMouseout",function(e){stacked.clearHighlights()});dispatch.on("changeState",function(e){if(typeof e.disabled!=="undefined"&&data.length===e.disabled.length){data.forEach(function(series,i){series.disabled=e.disabled[i]});state.disabled=e.disabled}if(typeof e.style!=="undefined"){stacked.style(e.style);style=e.style}chart.update()})});renderWatch.renderEnd("stacked Area chart immediate");return chart}stacked.dispatch.on("elementMouseover.tooltip",function(evt){evt.point["x"]=stacked.x()(evt.point);evt.point["y"]=stacked.y()(evt.point);tooltip.data(evt).position(evt.pos).hidden(false)});stacked.dispatch.on("elementMouseout.tooltip",function(evt){tooltip.hidden(true)});chart.dispatch=dispatch;chart.stacked=stacked;chart.legend=legend;chart.controls=controls;chart.xAxis=xAxis;chart.yAxis=yAxis;chart.interactiveLayer=interactiveLayer;chart.tooltip=tooltip;chart.dispatch=dispatch;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{width:{get:function(){return width},set:function(_){width=_}},height:{get:function(){return height},set:function(_){height=_}},showLegend:{get:function(){return showLegend},set:function(_){showLegend=_}},showXAxis:{get:function(){return showXAxis},set:function(_){showXAxis=_}},showYAxis:{get:function(){return showYAxis},set:function(_){showYAxis=_}},defaultState:{get:function(){return defaultState},set:function(_){defaultState=_}},noData:{get:function(){return noData},set:function(_){noData=_}},showControls:{get:function(){return showControls},set:function(_){showControls=_}},controlLabels:{get:function(){return controlLabels},set:function(_){controlLabels=_}},controlOptions:{get:function(){return controlOptions},set:function(_){controlOptions=_}},tooltips:{get:function(){return tooltip.enabled()},set:function(_){nv.deprecated("tooltips","use chart.tooltip.enabled() instead");tooltip.enabled(!!_)}},tooltipContent:{get:function(){return tooltip.contentGenerator()},set:function(_){nv.deprecated("tooltipContent","use chart.tooltip.contentGenerator() instead");tooltip.contentGenerator(_)}},margin:{get:function(){return margin},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left}},duration:{get:function(){return duration},set:function(_){duration=_;renderWatch.reset(duration);stacked.duration(duration);xAxis.duration(duration);yAxis.duration(duration)}},color:{get:function(){return color},set:function(_){color=nv.utils.getColor(_);legend.color(color);stacked.color(color)}},rightAlignYAxis:{get:function(){return rightAlignYAxis},set:function(_){rightAlignYAxis=_;yAxis.orient(rightAlignYAxis?"right":"left")}},useInteractiveGuideline:{get:function(){return useInteractiveGuideline},set:function(_){useInteractiveGuideline=!!_;chart.interactive(!_);chart.useVoronoi(!_);stacked.scatter.interactive(!_)}}});nv.utils.inheritOptions(chart,stacked);nv.utils.initOptions(chart);return chart};nv.models.sunburst=function(){"use strict";var margin={top:0,right:0,bottom:0,left:0},width=null,height=null,mode="count",modes={count:function(d){return 1},size:function(d){return d.size}},id=Math.floor(Math.random()*1e4),container=null,color=nv.utils.defaultColor(),duration=500,dispatch=d3.dispatch("chartClick","elementClick","elementDblClick","elementMousemove","elementMouseover","elementMouseout","renderEnd");var x=d3.scale.linear().range([0,2*Math.PI]);var y=d3.scale.sqrt();var partition=d3.layout.partition().sort(null).value(function(d){return 1
+});var arc=d3.svg.arc().startAngle(function(d){return Math.max(0,Math.min(2*Math.PI,x(d.x)))}).endAngle(function(d){return Math.max(0,Math.min(2*Math.PI,x(d.x+d.dx)))}).innerRadius(function(d){return Math.max(0,y(d.y))}).outerRadius(function(d){return Math.max(0,y(d.y+d.dy))});var node,prevNode;var rootNode;var renderWatch=nv.utils.renderWatch(dispatch);function chart(selection){renderWatch.reset();selection.each(function(data){container=d3.select(this);var availableWidth=nv.utils.availableWidth(width,container,margin);var availableHeight=nv.utils.availableHeight(height,container,margin);var radius=Math.min(availableWidth,availableHeight)/2;var path;nv.utils.initSVG(container);var wrap=container.selectAll(".nv-wrap.nv-sunburst").data(data);var wrapEnter=wrap.enter().append("g").attr("class","nvd3 nv-wrap nv-sunburst nv-chart-"+id);var g=wrapEnter.selectAll("nv-sunburst");wrap.attr("transform","translate("+availableWidth/2+","+availableHeight/2+")");container.on("click",function(d,i){dispatch.chartClick({data:d,index:i,pos:d3.event,id:id})});y.range([0,radius]);node=node||data;rootNode=data[0];partition.value(modes[mode]||modes["count"]);path=g.data(partition.nodes).enter().append("path").attr("d",arc).style("fill",function(d){return color((d.children?d:d.parent).name)}).style("stroke","#FFF").on("click",function(d){if(prevNode!==node&&node!==d)prevNode=node;node=d;path.transition().duration(duration).attrTween("d",arcTweenZoom(d))}).each(stash).on("dblclick",function(d){if(prevNode.parent==d){path.transition().duration(duration).attrTween("d",arcTweenZoom(rootNode))}}).each(stash).on("mouseover",function(d,i){d3.select(this).classed("hover",true).style("opacity",.8);dispatch.elementMouseover({data:d,color:d3.select(this).style("fill")})}).on("mouseout",function(d,i){d3.select(this).classed("hover",false).style("opacity",1);dispatch.elementMouseout({data:d})}).on("mousemove",function(d,i){dispatch.elementMousemove({data:d})});function stash(d){d.x0=d.x;d.dx0=d.dx}function arcTweenData(a,i){var oi=d3.interpolate({x:a.x0,dx:a.dx0},a);function tween(t){var b=oi(t);a.x0=b.x;a.dx0=b.dx;return arc(b)}if(i==0){var xd=d3.interpolate(x.domain(),[node.x,node.x+node.dx]);return function(t){x.domain(xd(t));return tween(t)}}else{return tween}}function arcTweenZoom(d){var xd=d3.interpolate(x.domain(),[d.x,d.x+d.dx]),yd=d3.interpolate(y.domain(),[d.y,1]),yr=d3.interpolate(y.range(),[d.y?20:0,radius]);return function(d,i){return i?function(t){return arc(d)}:function(t){x.domain(xd(t));y.domain(yd(t)).range(yr(t));return arc(d)}}}});renderWatch.renderEnd("sunburst immediate");return chart}chart.dispatch=dispatch;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{width:{get:function(){return width},set:function(_){width=_}},height:{get:function(){return height},set:function(_){height=_}},mode:{get:function(){return mode},set:function(_){mode=_}},id:{get:function(){return id},set:function(_){id=_}},duration:{get:function(){return duration},set:function(_){duration=_}},margin:{get:function(){return margin},set:function(_){margin.top=_.top!=undefined?_.top:margin.top;margin.right=_.right!=undefined?_.right:margin.right;margin.bottom=_.bottom!=undefined?_.bottom:margin.bottom;margin.left=_.left!=undefined?_.left:margin.left}},color:{get:function(){return color},set:function(_){color=nv.utils.getColor(_)}}});nv.utils.initOptions(chart);return chart};nv.models.sunburstChart=function(){"use strict";var sunburst=nv.models.sunburst();var tooltip=nv.models.tooltip();var margin={top:30,right:20,bottom:20,left:20},width=null,height=null,color=nv.utils.defaultColor(),id=Math.round(Math.random()*1e5),defaultState=null,noData=null,duration=250,dispatch=d3.dispatch("tooltipShow","tooltipHide","stateChange","changeState","renderEnd");var renderWatch=nv.utils.renderWatch(dispatch);tooltip.headerEnabled(false).duration(0).valueFormatter(function(d,i){return d});function chart(selection){renderWatch.reset();renderWatch.models(sunburst);selection.each(function(data){var container=d3.select(this);nv.utils.initSVG(container);var that=this;var availableWidth=nv.utils.availableWidth(width,container,margin),availableHeight=nv.utils.availableHeight(height,container,margin);chart.update=function(){if(duration===0)container.call(chart);else container.transition().duration(duration).call(chart)};chart.container=this;if(!data||!data.length){nv.utils.noData(chart,container);return chart}else{container.selectAll(".nv-noData").remove()}var wrap=container.selectAll("g.nv-wrap.nv-sunburstChart").data(data);var gEnter=wrap.enter().append("g").attr("class","nvd3 nv-wrap nv-sunburstChart").append("g");var g=wrap.select("g");gEnter.append("g").attr("class","nv-sunburstWrap");wrap.attr("transform","translate("+margin.left+","+margin.top+")");sunburst.width(availableWidth).height(availableHeight);var sunWrap=g.select(".nv-sunburstWrap").datum(data);d3.transition(sunWrap).call(sunburst)});renderWatch.renderEnd("sunburstChart immediate");return chart}sunburst.dispatch.on("elementMouseover.tooltip",function(evt){evt["series"]={key:evt.data.name,value:evt.data.size,color:evt.color};tooltip.data(evt).hidden(false)});sunburst.dispatch.on("elementMouseout.tooltip",function(evt){tooltip.hidden(true)});sunburst.dispatch.on("elementMousemove.tooltip",function(evt){tooltip.position({top:d3.event.pageY,left:d3.event.pageX})()});chart.dispatch=dispatch;chart.sunburst=sunburst;chart.tooltip=tooltip;chart.options=nv.utils.optionsFunc.bind(chart);chart._options=Object.create({},{noData:{get:function(){return noData},set:function(_){noData=_}},defaultState:{get:function(){return defaultState},set:function(_){defaultState=_}},color:{get:function(){return color},set:function(_){color=_;sunburst.color(color)}},duration:{get:function(){return duration},set:function(_){duration=_;renderWatch.reset(duration);sunburst.duration(duration)}},margin:{get:function(){return margin},set:function(_){margin.top=_.top!==undefined?_.top:margin.top;margin.right=_.right!==undefined?_.right:margin.right;margin.bottom=_.bottom!==undefined?_.bottom:margin.bottom;margin.left=_.left!==undefined?_.left:margin.left}}});nv.utils.inheritOptions(chart,sunburst);nv.utils.initOptions(chart);return chart};nv.version="1.8.1"})();
\ No newline at end of file
diff --git a/core/Test/build/js/respond.min.js b/core/Test/build/js/respond.min.js
new file mode 100644
index 0000000000000000000000000000000000000000..86a44a6b05d7dde22eaf44c37bcc5253f606de89
--- /dev/null
+++ b/core/Test/build/js/respond.min.js
@@ -0,0 +1 @@
+(function(w){"use strict";w.matchMedia=w.matchMedia||function(doc,undefined){var bool,docElem=doc.documentElement,refNode=docElem.firstElementChild||docElem.firstChild,fakeBody=doc.createElement("body"),div=doc.createElement("div");div.id="mq-test-1";div.style.cssText="position:absolute;top:-100em";fakeBody.style.background="none";fakeBody.appendChild(div);return function(q){div.innerHTML='&shy;<style media="'+q+'"> #mq-test-1 { width: 42px; }</style>';docElem.insertBefore(fakeBody,refNode);bool=div.offsetWidth===42;docElem.removeChild(fakeBody);return{matches:bool,media:q}}}(w.document)})(this);(function(w){"use strict";var respond={};w.respond=respond;respond.update=function(){};var requestQueue=[],xmlHttp=function(){var xmlhttpmethod=false;try{xmlhttpmethod=new w.XMLHttpRequest}catch(e){xmlhttpmethod=new w.ActiveXObject("Microsoft.XMLHTTP")}return function(){return xmlhttpmethod}}(),ajax=function(url,callback){var req=xmlHttp();if(!req){return}req.open("GET",url,true);req.onreadystatechange=function(){if(req.readyState!==4||req.status!==200&&req.status!==304){return}callback(req.responseText)};if(req.readyState===4){return}req.send(null)};respond.ajax=ajax;respond.queue=requestQueue;respond.regex={media:/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi,keyframes:/@(?:\-(?:o|moz|webkit)\-)?keyframes[^\{]+\{(?:[^\{\}]*\{[^\}\{]*\})+[^\}]*\}/gi,urls:/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,findStyles:/@media *([^\{]+)\{([\S\s]+?)$/,only:/(only\s+)?([a-zA-Z]+)\s?/,minw:/\([\s]*min\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/,maxw:/\([\s]*max\-width\s*:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/};respond.mediaQueriesSupported=w.matchMedia&&w.matchMedia("only all")!==null&&w.matchMedia("only all").matches;if(respond.mediaQueriesSupported){return}var doc=w.document,docElem=doc.documentElement,mediastyles=[],rules=[],appendedEls=[],parsedSheets={},resizeThrottle=30,head=doc.getElementsByTagName("head")[0]||docElem,base=doc.getElementsByTagName("base")[0],links=head.getElementsByTagName("link"),lastCall,resizeDefer,eminpx,getEmValue=function(){var ret,div=doc.createElement("div"),body=doc.body,originalHTMLFontSize=docElem.style.fontSize,originalBodyFontSize=body&&body.style.fontSize,fakeUsed=false;div.style.cssText="position:absolute;font-size:1em;width:1em";if(!body){body=fakeUsed=doc.createElement("body");body.style.background="none"}docElem.style.fontSize="100%";body.style.fontSize="100%";body.appendChild(div);if(fakeUsed){docElem.insertBefore(body,docElem.firstChild)}ret=div.offsetWidth;if(fakeUsed){docElem.removeChild(body)}else{body.removeChild(div)}docElem.style.fontSize=originalHTMLFontSize;if(originalBodyFontSize){body.style.fontSize=originalBodyFontSize}ret=eminpx=parseFloat(ret);return ret},applyMedia=function(fromResize){var name="clientWidth",docElemProp=docElem[name],currWidth=doc.compatMode==="CSS1Compat"&&docElemProp||doc.body[name]||docElemProp,styleBlocks={},lastLink=links[links.length-1],now=(new Date).getTime();if(fromResize&&lastCall&&now-lastCall<resizeThrottle){w.clearTimeout(resizeDefer);resizeDefer=w.setTimeout(applyMedia,resizeThrottle);return}else{lastCall=now}for(var i in mediastyles){if(mediastyles.hasOwnProperty(i)){var thisstyle=mediastyles[i],min=thisstyle.minw,max=thisstyle.maxw,minnull=min===null,maxnull=max===null,em="em";if(!!min){min=parseFloat(min)*(min.indexOf(em)>-1?eminpx||getEmValue():1)}if(!!max){max=parseFloat(max)*(max.indexOf(em)>-1?eminpx||getEmValue():1)}if(!thisstyle.hasquery||(!minnull||!maxnull)&&(minnull||currWidth>=min)&&(maxnull||currWidth<=max)){if(!styleBlocks[thisstyle.media]){styleBlocks[thisstyle.media]=[]}styleBlocks[thisstyle.media].push(rules[thisstyle.rules])}}}for(var j in appendedEls){if(appendedEls.hasOwnProperty(j)){if(appendedEls[j]&&appendedEls[j].parentNode===head){head.removeChild(appendedEls[j])}}}appendedEls.length=0;for(var k in styleBlocks){if(styleBlocks.hasOwnProperty(k)){var ss=doc.createElement("style"),css=styleBlocks[k].join("\n");ss.type="text/css";ss.media=k;head.insertBefore(ss,lastLink.nextSibling);if(ss.styleSheet){ss.styleSheet.cssText=css}else{ss.appendChild(doc.createTextNode(css))}appendedEls.push(ss)}}},translate=function(styles,href,media){var qs=styles.replace(respond.regex.keyframes,"").match(respond.regex.media),ql=qs&&qs.length||0;href=href.substring(0,href.lastIndexOf("/"));var repUrls=function(css){return css.replace(respond.regex.urls,"$1"+href+"$2$3")},useMedia=!ql&&media;if(href.length){href+="/"}if(useMedia){ql=1}for(var i=0;i<ql;i++){var fullq,thisq,eachq,eql;if(useMedia){fullq=media;rules.push(repUrls(styles))}else{fullq=qs[i].match(respond.regex.findStyles)&&RegExp.$1;rules.push(RegExp.$2&&repUrls(RegExp.$2))}eachq=fullq.split(",");eql=eachq.length;for(var j=0;j<eql;j++){thisq=eachq[j];mediastyles.push({media:thisq.split("(")[0].match(respond.regex.only)&&RegExp.$2||"all",rules:rules.length-1,hasquery:thisq.indexOf("(")>-1,minw:thisq.match(respond.regex.minw)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:thisq.match(respond.regex.maxw)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}}applyMedia()},makeRequests=function(){if(requestQueue.length){var thisRequest=requestQueue.shift();ajax(thisRequest.href,function(styles){translate(styles,thisRequest.href,thisRequest.media);parsedSheets[thisRequest.href]=true;w.setTimeout(function(){makeRequests()},0)})}},ripCSS=function(){for(var i=0;i<links.length;i++){var sheet=links[i],href=sheet.href,media=sheet.media,isCSS=sheet.rel&&sheet.rel.toLowerCase()==="stylesheet";if(!!href&&isCSS&&!parsedSheets[href]){if(sheet.styleSheet&&sheet.styleSheet.rawCssText){translate(sheet.styleSheet.rawCssText,href,media);parsedSheets[href]=true}else{if(!/^([a-zA-Z:]*\/\/)/.test(href)&&!base||href.replace(RegExp.$1,"").split("/")[0]===w.location.host){if(href.substring(0,2)==="//"){href=w.location.protocol+href}requestQueue.push({href:href,media:media})}}}}makeRequests()};ripCSS();respond.update=ripCSS;respond.getEmValue=getEmValue;function callMedia(){applyMedia(true)}if(w.addEventListener){w.addEventListener("resize",callMedia,false)}else if(w.attachEvent){w.attachEvent("onresize",callMedia)}})(this);
\ No newline at end of file
diff --git a/core/Test/build/tests-clover.xml b/core/Test/build/tests-clover.xml
new file mode 100644
index 0000000000000000000000000000000000000000..f12688f6dc632eae2c1ab85c46f16d1f11ba26e6
--- /dev/null
+++ b/core/Test/build/tests-clover.xml
@@ -0,0 +1,529 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<coverage generated="1489512266">
+  <project timestamp="1489512266">
+    <package name="MaarchTest">
+      <file name="/var/www/html/MaarchCourrier/core/Test/DocserverControllerTest.php">
+        <class name="DocserverControllerTest" namespace="MaarchTest">
+          <metrics complexity="6" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="45" coveredstatements="45" elements="50" coveredelements="50"/>
+        </class>
+        <line num="141" type="method" name="testGetDocserverToInsert" visibility="public" complexity="1" crap="1" count="1"/>
+        <line num="143" type="stmt" count="1"/>
+        <line num="147" type="stmt" count="1"/>
+        <line num="149" type="stmt" count="1"/>
+        <line num="151" type="stmt" count="1"/>
+        <line num="152" type="stmt" count="1"/>
+        <line num="153" type="stmt" count="1"/>
+        <line num="155" type="stmt" count="1"/>
+        <line num="157" type="method" name="testCheckSize" visibility="public" complexity="1" crap="1" count="1"/>
+        <line num="159" type="stmt" count="1"/>
+        <line num="163" type="stmt" count="1"/>
+        <line num="165" type="stmt" count="1"/>
+        <line num="168" type="stmt" count="1"/>
+        <line num="169" type="stmt" count="1"/>
+        <line num="172" type="stmt" count="1"/>
+        <line num="174" type="stmt" count="1"/>
+        <line num="175" type="stmt" count="1"/>
+        <line num="177" type="method" name="testSetSize" visibility="public" complexity="1" crap="1" count="1"/>
+        <line num="179" type="stmt" count="1"/>
+        <line num="183" type="stmt" count="1"/>
+        <line num="185" type="stmt" count="1"/>
+        <line num="188" type="stmt" count="1"/>
+        <line num="189" type="stmt" count="1"/>
+        <line num="192" type="stmt" count="1"/>
+        <line num="194" type="stmt" count="1"/>
+        <line num="195" type="stmt" count="1"/>
+        <line num="197" type="method" name="testGetNextFileNameInDocserver" visibility="public" complexity="1" crap="1" count="1"/>
+        <line num="199" type="stmt" count="1"/>
+        <line num="203" type="stmt" count="1"/>
+        <line num="205" type="stmt" count="1"/>
+        <line num="207" type="stmt" count="1"/>
+        <line num="208" type="stmt" count="1"/>
+        <line num="210" type="method" name="testStoreResourceOnDocserver" visibility="public" complexity="2" crap="2" count="1"/>
+        <line num="212" type="stmt" count="1"/>
+        <line num="214" type="stmt" count="1"/>
+        <line num="216" type="stmt" count="1"/>
+        <line num="217" type="stmt" count="1"/>
+        <line num="220" type="stmt" count="1"/>
+        <line num="222" type="stmt" count="1"/>
+        <line num="223" type="stmt" count="1"/>
+        <line num="224" type="stmt" count="1"/>
+        <line num="227" type="stmt" count="1"/>
+        <line num="230" type="stmt" count="1"/>
+        <line num="231" type="stmt" count="1"/>
+        <line num="232" type="stmt" count="1"/>
+        <line num="233" type="stmt" count="1"/>
+        <line num="237" type="stmt" count="1"/>
+        <line num="241" type="stmt" count="1"/>
+        <line num="242" type="stmt" count="1"/>
+        <line num="245" type="stmt" count="1"/>
+        <metrics loc="246" ncloc="44" classes="1" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="45" coveredstatements="45" elements="50" coveredelements="50"/>
+      </file>
+      <file name="/var/www/html/MaarchCourrier/core/Test/DocserverToolsControllerTest.php">
+        <class name="DocserverToolsControllerTest" namespace="MaarchTest">
+          <metrics complexity="10" methods="6" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="61" coveredstatements="57" elements="67" coveredelements="59"/>
+        </class>
+        <line num="16" type="method" name="testSetRights" visibility="public" complexity="1" crap="1" count="1"/>
+        <line num="18" type="stmt" count="1"/>
+        <line num="22" type="stmt" count="1"/>
+        <line num="24" type="stmt" count="1"/>
+        <line num="26" type="stmt" count="1"/>
+        <line num="27" type="stmt" count="1"/>
+        <line num="29" type="method" name="testDoFingerprint" visibility="public" complexity="2" crap="2.00" count="1"/>
+        <line num="31" type="stmt" count="1"/>
+        <line num="33" type="stmt" count="1"/>
+        <line num="35" type="stmt" count="1"/>
+        <line num="36" type="stmt" count="0"/>
+        <line num="39" type="stmt" count="1"/>
+        <line num="42" type="stmt" count="1"/>
+        <line num="43" type="stmt" count="1"/>
+        <line num="44" type="stmt" count="1"/>
+        <line num="47" type="stmt" count="1"/>
+        <line num="48" type="stmt" count="1"/>
+        <line num="51" type="stmt" count="1"/>
+        <line num="53" type="stmt" count="1"/>
+        <line num="54" type="stmt" count="1"/>
+        <line num="56" type="method" name="testControlFingerprint" visibility="public" complexity="2" crap="2.00" count="1"/>
+        <line num="58" type="stmt" count="1"/>
+        <line num="60" type="stmt" count="1"/>
+        <line num="62" type="stmt" count="1"/>
+        <line num="63" type="stmt" count="0"/>
+        <line num="66" type="stmt" count="1"/>
+        <line num="68" type="stmt" count="1"/>
+        <line num="69" type="stmt" count="1"/>
+        <line num="70" type="stmt" count="1"/>
+        <line num="73" type="stmt" count="1"/>
+        <line num="74" type="stmt" count="1"/>
+        <line num="75" type="stmt" count="1"/>
+        <line num="78" type="stmt" count="1"/>
+        <line num="80" type="stmt" count="1"/>
+        <line num="81" type="stmt" count="1"/>
+        <line num="83" type="method" name="testCopyOnDocserver" visibility="public" complexity="2" crap="2.00" count="1"/>
+        <line num="85" type="stmt" count="1"/>
+        <line num="87" type="stmt" count="1"/>
+        <line num="89" type="stmt" count="1"/>
+        <line num="90" type="stmt" count="0"/>
+        <line num="93" type="stmt" count="1"/>
+        <line num="94" type="stmt" count="1"/>
+        <line num="96" type="stmt" count="1"/>
+        <line num="97" type="stmt" count="1"/>
+        <line num="98" type="stmt" count="1"/>
+        <line num="101" type="stmt" count="1"/>
+        <line num="102" type="stmt" count="1"/>
+        <line num="103" type="stmt" count="1"/>
+        <line num="104" type="stmt" count="1"/>
+        <line num="107" type="stmt" count="1"/>
+        <line num="109" type="stmt" count="1"/>
+        <line num="110" type="stmt" count="1"/>
+        <line num="112" type="method" name="testWashTmp" visibility="public" complexity="2" crap="2.01" count="1"/>
+        <line num="114" type="stmt" count="1"/>
+        <line num="116" type="stmt" count="1"/>
+        <line num="118" type="stmt" count="1"/>
+        <line num="119" type="stmt" count="0"/>
+        <line num="123" type="stmt" count="1"/>
+        <line num="127" type="stmt" count="1"/>
+        <line num="129" type="stmt" count="1"/>
+        <line num="130" type="stmt" count="1"/>
+        <line num="132" type="method" name="testCreatePathOnDocServer" visibility="public" complexity="1" crap="1" count="1"/>
+        <line num="134" type="stmt" count="1"/>
+        <line num="138" type="stmt" count="1"/>
+        <line num="140" type="stmt" count="1"/>
+        <line num="142" type="stmt" count="1"/>
+        <line num="143" type="stmt" count="1"/>
+        <metrics loc="144" ncloc="136" classes="1" methods="6" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="61" coveredstatements="57" elements="67" coveredelements="59"/>
+      </file>
+      <file name="/var/www/html/MaarchCourrier/core/Test/DocserverTypeControllerTest.php">
+        <class name="DocserverTypeControllerTest" namespace="MaarchTest">
+          <metrics complexity="2" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="18" coveredstatements="18" elements="20" coveredelements="20"/>
+        </class>
+        <line num="16" type="method" name="testGetList" visibility="public" complexity="1" crap="1" count="1"/>
+        <line num="18" type="stmt" count="1"/>
+        <line num="20" type="stmt" count="1"/>
+        <line num="22" type="stmt" count="1"/>
+        <line num="28" type="stmt" count="1"/>
+        <line num="29" type="stmt" count="1"/>
+        <line num="30" type="stmt" count="1"/>
+        <line num="32" type="stmt" count="1"/>
+        <line num="33" type="stmt" count="1"/>
+        <line num="35" type="method" name="testGetById" visibility="public" complexity="1" crap="1" count="1"/>
+        <line num="37" type="stmt" count="1"/>
+        <line num="39" type="stmt" count="1"/>
+        <line num="41" type="stmt" count="1"/>
+        <line num="47" type="stmt" count="1"/>
+        <line num="49" type="stmt" count="1"/>
+        <line num="50" type="stmt" count="1"/>
+        <line num="51" type="stmt" count="1"/>
+        <line num="58" type="stmt" count="1"/>
+        <line num="60" type="stmt" count="1"/>
+        <line num="61" type="stmt" count="1"/>
+        <metrics loc="143" ncloc="9" classes="1" methods="2" coveredmethods="2" conditionals="0" coveredconditionals="0" statements="18" coveredstatements="18" elements="20" coveredelements="20"/>
+      </file>
+      <file name="/var/www/html/MaarchCourrier/core/Test/ResControllerTest.php">
+        <class name="ResControllerTest" namespace="MaarchTest">
+          <metrics complexity="7" methods="5" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="89" coveredstatements="88" elements="94" coveredelements="92"/>
+        </class>
+        <line num="17" type="method" name="testPrepareStorage" visibility="public" complexity="1" crap="1" count="1"/>
+        <line num="19" type="stmt" count="1"/>
+        <line num="21" type="stmt" count="1"/>
+        <line num="23" type="stmt" count="1"/>
+        <line num="26" type="stmt" count="1"/>
+        <line num="32" type="stmt" count="1"/>
+        <line num="35" type="stmt" count="1"/>
+        <line num="42" type="stmt" count="1"/>
+        <line num="43" type="stmt" count="1"/>
+        <line num="44" type="stmt" count="1"/>
+        <line num="45" type="stmt" count="1"/>
+        <line num="48" type="stmt" count="1"/>
+        <line num="50" type="stmt" count="1"/>
+        <line num="51" type="stmt" count="1"/>
+        <line num="53" type="method" name="testStoreResource" visibility="public" complexity="2" crap="2" count="1"/>
+        <line num="55" type="stmt" count="1"/>
+        <line num="57" type="stmt" count="1"/>
+        <line num="59" type="stmt" count="1"/>
+        <line num="60" type="stmt" count="1"/>
+        <line num="63" type="stmt" count="1"/>
+        <line num="65" type="stmt" count="1"/>
+        <line num="66" type="stmt" count="1"/>
+        <line num="67" type="stmt" count="1"/>
+        <line num="69" type="stmt" count="1"/>
+        <line num="70" type="stmt" count="1"/>
+        <line num="72" type="stmt" count="1"/>
+        <line num="74" type="stmt" count="1"/>
+        <line num="77" type="stmt" count="1"/>
+        <line num="83" type="stmt" count="1"/>
+        <line num="86" type="stmt" count="1"/>
+        <line num="92" type="stmt" count="1"/>
+        <line num="95" type="stmt" count="1"/>
+        <line num="101" type="stmt" count="1"/>
+        <line num="104" type="stmt" count="1"/>
+        <line num="111" type="stmt" count="1"/>
+        <line num="112" type="stmt" count="1"/>
+        <line num="113" type="stmt" count="1"/>
+        <line num="114" type="stmt" count="1"/>
+        <line num="115" type="stmt" count="1"/>
+        <line num="116" type="stmt" count="1"/>
+        <line num="119" type="stmt" count="1"/>
+        <line num="121" type="stmt" count="1"/>
+        <line num="122" type="stmt" count="1"/>
+        <line num="124" type="method" name="testDelete" visibility="public" complexity="1" crap="1" count="1"/>
+        <line num="126" type="stmt" count="1"/>
+        <line num="128" type="stmt" count="1"/>
+        <line num="130" type="stmt" count="1"/>
+        <line num="134" type="stmt" count="1"/>
+        <line num="137" type="stmt" count="1"/>
+        <line num="140" type="stmt" count="1"/>
+        <line num="141" type="stmt" count="1"/>
+        <line num="142" type="stmt" count="1"/>
+        <line num="144" type="stmt" count="1"/>
+        <line num="145" type="stmt" count="1"/>
+        <line num="147" type="method" name="testCreate" visibility="public" complexity="2" crap="2" count="1"/>
+        <line num="149" type="stmt" count="1"/>
+        <line num="151" type="stmt" count="1"/>
+        <line num="153" type="stmt" count="1"/>
+        <line num="157" type="stmt" count="1"/>
+        <line num="159" type="stmt" count="1"/>
+        <line num="160" type="stmt" count="0"/>
+        <line num="163" type="stmt" count="1"/>
+        <line num="165" type="stmt" count="1"/>
+        <line num="166" type="stmt" count="1"/>
+        <line num="167" type="stmt" count="1"/>
+        <line num="169" type="stmt" count="1"/>
+        <line num="170" type="stmt" count="1"/>
+        <line num="173" type="stmt" count="1"/>
+        <line num="175" type="stmt" count="1"/>
+        <line num="178" type="stmt" count="1"/>
+        <line num="184" type="stmt" count="1"/>
+        <line num="187" type="stmt" count="1"/>
+        <line num="193" type="stmt" count="1"/>
+        <line num="196" type="stmt" count="1"/>
+        <line num="202" type="stmt" count="1"/>
+        <line num="205" type="stmt" count="1"/>
+        <line num="217" type="stmt" count="1"/>
+        <line num="218" type="stmt" count="1"/>
+        <line num="219" type="stmt" count="1"/>
+        <line num="220" type="stmt" count="1"/>
+        <line num="221" type="stmt" count="1"/>
+        <line num="222" type="stmt" count="1"/>
+        <line num="225" type="stmt" count="1"/>
+        <line num="226" type="stmt" count="1"/>
+        <line num="227" type="stmt" count="1"/>
+        <line num="229" type="stmt" count="1"/>
+        <line num="230" type="stmt" count="1"/>
+        <line num="232" type="method" name="testDeleteRes" visibility="public" complexity="1" crap="1" count="1"/>
+        <line num="234" type="stmt" count="1"/>
+        <line num="236" type="stmt" count="1"/>
+        <line num="239" type="stmt" count="1"/>
+        <line num="242" type="stmt" count="1"/>
+        <line num="244" type="stmt" count="1"/>
+        <line num="245" type="stmt" count="1"/>
+        <metrics loc="246" ncloc="226" classes="1" methods="5" coveredmethods="4" conditionals="0" coveredconditionals="0" statements="89" coveredstatements="88" elements="94" coveredelements="92"/>
+      </file>
+      <file name="/var/www/html/MaarchCourrier/core/Test/ResExtControllerTest.php">
+        <class name="ResExtControllerTest" namespace="MaarchTest">
+          <metrics complexity="8" methods="7" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="135" coveredstatements="134" elements="142" coveredelements="140"/>
+        </class>
+        <line num="16" type="method" name="testCreate" visibility="public" complexity="1" crap="1" count="1"/>
+        <line num="18" type="stmt" count="1"/>
+        <line num="20" type="stmt" count="1"/>
+        <line num="22" type="stmt" count="1"/>
+        <line num="24" type="stmt" count="1"/>
+        <line num="28" type="stmt" count="1"/>
+        <line num="30" type="stmt" count="1"/>
+        <line num="33" type="stmt" count="1"/>
+        <line num="39" type="stmt" count="1"/>
+        <line num="42" type="stmt" count="1"/>
+        <line num="48" type="stmt" count="1"/>
+        <line num="51" type="stmt" count="1"/>
+        <line num="57" type="stmt" count="1"/>
+        <line num="60" type="stmt" count="1"/>
+        <line num="66" type="stmt" count="1"/>
+        <line num="69" type="stmt" count="1"/>
+        <line num="75" type="stmt" count="1"/>
+        <line num="78" type="stmt" count="1"/>
+        <line num="84" type="stmt" count="1"/>
+        <line num="87" type="stmt" count="1"/>
+        <line num="93" type="stmt" count="1"/>
+        <line num="96" type="stmt" count="1"/>
+        <line num="97" type="stmt" count="1"/>
+        <line num="98" type="stmt" count="1"/>
+        <line num="103" type="stmt" count="1"/>
+        <line num="104" type="stmt" count="1"/>
+        <line num="105" type="stmt" count="1"/>
+        <line num="106" type="stmt" count="1"/>
+        <line num="109" type="stmt" count="1"/>
+        <line num="110" type="stmt" count="1"/>
+        <line num="111" type="stmt" count="1"/>
+        <line num="113" type="stmt" count="1"/>
+        <line num="115" type="stmt" count="1"/>
+        <line num="116" type="stmt" count="1"/>
+        <line num="118" type="method" name="testDelete" visibility="public" complexity="1" crap="1" count="1"/>
+        <line num="120" type="stmt" count="1"/>
+        <line num="122" type="stmt" count="1"/>
+        <line num="124" type="stmt" count="1"/>
+        <line num="128" type="stmt" count="1"/>
+        <line num="131" type="stmt" count="1"/>
+        <line num="134" type="stmt" count="1"/>
+        <line num="135" type="stmt" count="1"/>
+        <line num="136" type="stmt" count="1"/>
+        <line num="138" type="stmt" count="1"/>
+        <line num="139" type="stmt" count="1"/>
+        <line num="141" type="method" name="testPrepareStorageExt" visibility="public" complexity="1" crap="1" count="1"/>
+        <line num="143" type="stmt" count="1"/>
+        <line num="145" type="stmt" count="1"/>
+        <line num="147" type="stmt" count="1"/>
+        <line num="150" type="stmt" count="1"/>
+        <line num="156" type="stmt" count="1"/>
+        <line num="159" type="stmt" count="1"/>
+        <line num="165" type="stmt" count="1"/>
+        <line num="168" type="stmt" count="1"/>
+        <line num="174" type="stmt" count="1"/>
+        <line num="177" type="stmt" count="1"/>
+        <line num="183" type="stmt" count="1"/>
+        <line num="186" type="stmt" count="1"/>
+        <line num="192" type="stmt" count="1"/>
+        <line num="195" type="stmt" count="1"/>
+        <line num="201" type="stmt" count="1"/>
+        <line num="204" type="stmt" count="1"/>
+        <line num="210" type="stmt" count="1"/>
+        <line num="213" type="stmt" count="1"/>
+        <line num="214" type="stmt" count="1"/>
+        <line num="215" type="stmt" count="1"/>
+        <line num="220" type="stmt" count="1"/>
+        <line num="221" type="stmt" count="1"/>
+        <line num="222" type="stmt" count="1"/>
+        <line num="225" type="stmt" count="1"/>
+        <line num="227" type="stmt" count="1"/>
+        <line num="228" type="stmt" count="1"/>
+        <line num="230" type="method" name="testStoreExtResource" visibility="public" complexity="1" crap="1" count="1"/>
+        <line num="232" type="stmt" count="1"/>
+        <line num="234" type="stmt" count="1"/>
+        <line num="236" type="stmt" count="1"/>
+        <line num="238" type="stmt" count="1"/>
+        <line num="241" type="stmt" count="1"/>
+        <line num="247" type="stmt" count="1"/>
+        <line num="250" type="stmt" count="1"/>
+        <line num="256" type="stmt" count="1"/>
+        <line num="259" type="stmt" count="1"/>
+        <line num="265" type="stmt" count="1"/>
+        <line num="268" type="stmt" count="1"/>
+        <line num="274" type="stmt" count="1"/>
+        <line num="277" type="stmt" count="1"/>
+        <line num="283" type="stmt" count="1"/>
+        <line num="286" type="stmt" count="1"/>
+        <line num="292" type="stmt" count="1"/>
+        <line num="295" type="stmt" count="1"/>
+        <line num="301" type="stmt" count="1"/>
+        <line num="304" type="stmt" count="1"/>
+        <line num="305" type="stmt" count="1"/>
+        <line num="306" type="stmt" count="1"/>
+        <line num="311" type="stmt" count="1"/>
+        <line num="312" type="stmt" count="1"/>
+        <line num="313" type="stmt" count="1"/>
+        <line num="314" type="stmt" count="1"/>
+        <line num="317" type="stmt" count="1"/>
+        <line num="319" type="stmt" count="1"/>
+        <line num="321" type="stmt" count="1"/>
+        <line num="322" type="stmt" count="1"/>
+        <line num="324" type="method" name="testDeleteExtRes" visibility="public" complexity="1" crap="1" count="1"/>
+        <line num="326" type="stmt" count="1"/>
+        <line num="328" type="stmt" count="1"/>
+        <line num="331" type="stmt" count="1"/>
+        <line num="334" type="stmt" count="1"/>
+        <line num="336" type="stmt" count="1"/>
+        <line num="337" type="stmt" count="1"/>
+        <line num="339" type="method" name="createResArtefact" visibility="public" complexity="2" crap="2" count="2"/>
+        <line num="341" type="stmt" count="2"/>
+        <line num="343" type="stmt" count="2"/>
+        <line num="345" type="stmt" count="2"/>
+        <line num="346" type="stmt" count="0"/>
+        <line num="349" type="stmt" count="2"/>
+        <line num="351" type="stmt" count="2"/>
+        <line num="352" type="stmt" count="2"/>
+        <line num="353" type="stmt" count="2"/>
+        <line num="355" type="stmt" count="2"/>
+        <line num="356" type="stmt" count="2"/>
+        <line num="358" type="stmt" count="2"/>
+        <line num="360" type="stmt" count="2"/>
+        <line num="363" type="stmt" count="2"/>
+        <line num="369" type="stmt" count="2"/>
+        <line num="372" type="stmt" count="2"/>
+        <line num="378" type="stmt" count="2"/>
+        <line num="381" type="stmt" count="2"/>
+        <line num="387" type="stmt" count="2"/>
+        <line num="390" type="stmt" count="2"/>
+        <line num="397" type="stmt" count="2"/>
+        <line num="398" type="stmt" count="2"/>
+        <line num="399" type="stmt" count="2"/>
+        <line num="400" type="stmt" count="2"/>
+        <line num="401" type="stmt" count="2"/>
+        <line num="402" type="stmt" count="2"/>
+        <line num="405" type="stmt" count="2"/>
+        <line num="407" type="stmt" count="2"/>
+        <line num="410" type="method" name="deleteResArtefact" visibility="public" complexity="1" crap="1" count="2"/>
+        <line num="412" type="stmt" count="2"/>
+        <line num="415" type="stmt" count="2"/>
+        <line num="418" type="stmt" count="2"/>
+        <line num="419" type="stmt" count="2"/>
+        <metrics loc="420" ncloc="414" classes="1" methods="7" coveredmethods="6" conditionals="0" coveredconditionals="0" statements="135" coveredstatements="134" elements="142" coveredelements="140"/>
+      </file>
+      <file name="/var/www/html/MaarchCourrier/core/Test/StatusControllerTest.php">
+        <class name="StatusControllerTest" namespace="MaarchTest">
+          <metrics complexity="5" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="53" coveredstatements="53" elements="58" coveredelements="58"/>
+        </class>
+        <line num="16" type="method" name="testGetList" visibility="public" complexity="1" crap="1" count="1"/>
+        <line num="18" type="stmt" count="1"/>
+        <line num="20" type="stmt" count="1"/>
+        <line num="22" type="stmt" count="1"/>
+        <line num="28" type="stmt" count="1"/>
+        <line num="29" type="stmt" count="1"/>
+        <line num="30" type="stmt" count="1"/>
+        <line num="32" type="stmt" count="1"/>
+        <line num="33" type="stmt" count="1"/>
+        <line num="35" type="method" name="testGetById" visibility="public" complexity="1" crap="1" count="1"/>
+        <line num="37" type="stmt" count="1"/>
+        <line num="39" type="stmt" count="1"/>
+        <line num="41" type="stmt" count="1"/>
+        <line num="47" type="stmt" count="1"/>
+        <line num="49" type="stmt" count="1"/>
+        <line num="50" type="stmt" count="1"/>
+        <line num="51" type="stmt" count="1"/>
+        <line num="55" type="stmt" count="1"/>
+        <line num="57" type="stmt" count="1"/>
+        <line num="58" type="stmt" count="1"/>
+        <line num="60" type="method" name="testCreate" visibility="public" complexity="1" crap="1" count="1"/>
+        <line num="62" type="stmt" count="1"/>
+        <line num="64" type="stmt" count="1"/>
+        <line num="65" type="stmt" count="1"/>
+        <line num="67" type="stmt" count="1"/>
+        <line num="69" type="stmt" count="1"/>
+        <line num="70" type="stmt" count="1"/>
+        <line num="76" type="stmt" count="1"/>
+        <line num="78" type="stmt" count="1"/>
+        <line num="79" type="stmt" count="1"/>
+        <line num="80" type="stmt" count="1"/>
+        <line num="85" type="stmt" count="1"/>
+        <line num="87" type="stmt" count="1"/>
+        <line num="88" type="stmt" count="1"/>
+        <line num="90" type="method" name="testUpdate" visibility="public" complexity="1" crap="1" count="1"/>
+        <line num="92" type="stmt" count="1"/>
+        <line num="94" type="stmt" count="1"/>
+        <line num="95" type="stmt" count="1"/>
+        <line num="97" type="stmt" count="1"/>
+        <line num="99" type="stmt" count="1"/>
+        <line num="100" type="stmt" count="1"/>
+        <line num="106" type="stmt" count="1"/>
+        <line num="108" type="stmt" count="1"/>
+        <line num="109" type="stmt" count="1"/>
+        <line num="110" type="stmt" count="1"/>
+        <line num="115" type="stmt" count="1"/>
+        <line num="117" type="stmt" count="1"/>
+        <line num="118" type="stmt" count="1"/>
+        <line num="120" type="method" name="testDelete" visibility="public" complexity="1" crap="1" count="1"/>
+        <line num="122" type="stmt" count="1"/>
+        <line num="124" type="stmt" count="1"/>
+        <line num="126" type="stmt" count="1"/>
+        <line num="132" type="stmt" count="1"/>
+        <line num="134" type="stmt" count="1"/>
+        <line num="135" type="stmt" count="1"/>
+        <line num="136" type="stmt" count="1"/>
+        <line num="138" type="stmt" count="1"/>
+        <line num="139" type="stmt" count="1"/>
+        <metrics loc="140" ncloc="130" classes="1" methods="5" coveredmethods="5" conditionals="0" coveredconditionals="0" statements="53" coveredstatements="53" elements="58" coveredelements="58"/>
+      </file>
+    </package>
+    <file name="/var/www/html/MaarchCourrier/core/Test/define.php">
+      <line num="10" type="stmt" count="0"/>
+      <line num="11" type="stmt" count="0"/>
+      <line num="12" type="stmt" count="0"/>
+      <line num="13" type="stmt" count="0"/>
+      <line num="14" type="stmt" count="0"/>
+      <line num="15" type="stmt" count="0"/>
+      <line num="16" type="stmt" count="0"/>
+      <line num="17" type="stmt" count="0"/>
+      <line num="18" type="stmt" count="0"/>
+      <line num="21" type="stmt" count="0"/>
+      <line num="22" type="stmt" count="0"/>
+      <line num="25" type="stmt" count="0"/>
+      <line num="26" type="stmt" count="0"/>
+      <line num="27" type="stmt" count="0"/>
+      <line num="28" type="stmt" count="0"/>
+      <line num="29" type="stmt" count="0"/>
+      <line num="30" type="stmt" count="0"/>
+      <line num="31" type="stmt" count="0"/>
+      <line num="32" type="stmt" count="0"/>
+      <line num="33" type="stmt" count="0"/>
+      <line num="34" type="stmt" count="0"/>
+      <line num="35" type="stmt" count="0"/>
+      <line num="36" type="stmt" count="0"/>
+      <line num="37" type="stmt" count="0"/>
+      <line num="38" type="stmt" count="0"/>
+      <line num="39" type="stmt" count="0"/>
+      <line num="40" type="stmt" count="0"/>
+      <line num="41" type="stmt" count="0"/>
+      <line num="42" type="stmt" count="0"/>
+      <line num="43" type="stmt" count="0"/>
+      <line num="44" type="stmt" count="0"/>
+      <line num="45" type="stmt" count="0"/>
+      <line num="46" type="stmt" count="0"/>
+      <line num="47" type="stmt" count="0"/>
+      <line num="49" type="stmt" count="0"/>
+      <line num="50" type="stmt" count="0"/>
+      <line num="51" type="stmt" count="0"/>
+      <line num="53" type="stmt" count="0"/>
+      <line num="56" type="stmt" count="0"/>
+      <line num="57" type="stmt" count="0"/>
+      <line num="58" type="stmt" count="0"/>
+      <line num="62" type="stmt" count="0"/>
+      <line num="63" type="stmt" count="0"/>
+      <line num="64" type="stmt" count="0"/>
+      <line num="65" type="stmt" count="0"/>
+      <line num="66" type="stmt" count="0"/>
+      <line num="67" type="stmt" count="0"/>
+      <line num="69" type="stmt" count="0"/>
+      <line num="71" type="stmt" count="0"/>
+      <line num="72" type="stmt" count="0"/>
+      <line num="73" type="stmt" count="0"/>
+      <metrics loc="73" ncloc="55" classes="0" methods="0" coveredmethods="0" conditionals="0" coveredconditionals="0" statements="51" coveredstatements="0" elements="51" coveredelements="0"/>
+    </file>
+    <metrics files="7" loc="1412" ncloc="1014" classes="6" methods="30" coveredmethods="24" conditionals="0" coveredconditionals="0" statements="452" coveredstatements="395" elements="482" coveredelements="419"/>
+  </project>
+</coverage>
diff --git a/core/class/class_resource.php b/core/class/class_resource.php
index 32573c5801b18a375edb31dd41937467b6a61456..3597d53015b2d28ea51e93387d63f41711ee50c3 100644
--- a/core/class/class_resource.php
+++ b/core/class/class_resource.php
@@ -184,50 +184,6 @@
         }
     }
 
-    /**
-    * Gets the resource identifier
-    *
-    * @return integer Resource identifier (res_id)
-    */
-    public function get_id()
-    {
-        return $this->res_id;
-    }
-    /**
-    * Gets the resource filename
-    *
-    * @return integer Resource name (filemane)
-    */
-    public function get_filename($id,$coll_id)
-    {
-        require_once("core/class/class_security.php");
-        $sec = new security();
-        $resource_table = $sec->retrieve_table_from_coll($coll_id);
-        if ($resource_table == '')
-            echo "error with coll_id";
-        $db = new Database();
-        $stmt = $db->query("select filename from ".$resource_table." where res_id=?", array($id));
-        $result = $stmt->fetchObject();
-        return $result->filename;
-    }
-
-    /**
-    * Gets the resource path
-    *
-    * @return integer Resource path (path)
-    */
-    public function get_path($id,$coll_id)
-    {
-        require_once("core/class/class_security.php");
-        $sec = new security();
-        $resource_table = $sec->retrieve_table_from_coll($coll_id);
-        if ($resource_table == '')
-            echo "error with coll_id";
-        $db = new Database();
-        $stmt = $db->query("select path from ".$resource_table." where res_id=?", array($id));
-        $result = $stmt->fetchObject();
-        return str_replace('#', DIRECTORY_SEPARATOR, $result->path);
-    }
 
     /**
     * Gets the error message of the resource object
diff --git a/modules/entities/load_listmodel.php b/modules/entities/load_listmodel.php
index 43f8f62a984ed27cbbdb7feedb0b8fe2d7b44f33..ce8a8822bbb43f76d7c9dfaeae90c6a21b58781e 100644
--- a/modules/entities/load_listmodel.php
+++ b/modules/entities/load_listmodel.php
@@ -41,21 +41,21 @@ if ($objectId <> '') {
 // Fill session with listmodel
 $_SESSION[$origin]['diff_list'] = $diffList->get_listmodel($objectType, $objectId);
 //Permet de bloquer la liste diffusion avec celle de l'utilisateur qui enregistre le courrier. Si il change le service expéditeur la liste de diffusion ne changera pas.
-// if($category == 'outgoing' && $origin == 'indexing'){
-//     $_SESSION[$origin]['diff_list']['dest']['users'] = array();
-//     $diffListOutgoing = array(
-//         'user_id' => $_SESSION['user']['UserId'],
-//         'lastname' => $_SESSION['user']['LastName'],
-//         'firstname' => $_SESSION['user']['FirstName'],
-//         'entity_id' => $_SESSION['user']['entities'][0]['ENTITY_ID'],
-//         'entity_label' => $_SESSION['user']['entities'][0]['ENTITY_LABEL'],
-//         'visible' => 'Y',
-//         'process_comment' => ''
-//     );
+if($category == 'outgoing' && $origin == 'indexing'){
+    $_SESSION[$origin]['diff_list']['dest']['users'] = array();
+    $diffListOutgoing = array(
+        'user_id' => $_SESSION['user']['UserId'],
+        'lastname' => $_SESSION['user']['LastName'],
+        'firstname' => $_SESSION['user']['FirstName'],
+        'entity_id' => $_SESSION['user']['entities'][0]['ENTITY_ID'],
+        'entity_label' => $_SESSION['user']['entities'][0]['ENTITY_LABEL'],
+        'visible' => 'Y',
+        'process_comment' => ''
+    );
 
-//     $_SESSION[$origin]['diff_list']['dest']['users'][]=$diffListOutgoing;
-//     $_SESSION[$origin]['diff_list']['copy'] = array();
-// }
+    $_SESSION[$origin]['diff_list']['dest']['users'][]=$diffListOutgoing;
+    $_SESSION[$origin]['diff_list']['copy'] = array();
+}
 
 $_SESSION[$origin]['diff_list']['difflist_type'] = $_SESSION[$origin]['diff_list']['object_type'];
 $roles = $diffList->list_difflist_roles();
diff --git a/modules/visa/Controllers/VisaController.php b/modules/visa/Controllers/VisaController.php
index 127c8c2ec975a9a9bff19bce726855cbc89775c4..3f0205bc8b190bdf4bb7eadd0594e247a4854ae9 100644
--- a/modules/visa/Controllers/VisaController.php
+++ b/modules/visa/Controllers/VisaController.php
@@ -64,18 +64,11 @@ class VisaController
 			];
 		}
 
-		$history = \HistoryModel::getByIdForActions([
-			'id'      => $resId,
-			'select'  => ['event_date', 'info', 'firstname', 'lastname'],
-			'orderBy' => ['event_date DESC']
-		]);
-                
-                $notes = \NotesModel::getByResId([
-			'resId'      => $resId,
-			'select'  => ['id','firstname','lastname','date_note', 'note_text'],
-			'orderBy' => ['date_note DESC']
-		]);
-                
+//		$history = \HistoryModel::getByIdForActions([
+//			'id'      => $resId,
+//			'select'  => ['event_date', 'info', 'firstname', 'lastname'],
+//			'orderBy' => ['event_date DESC']
+//		]);
 
 		$resList = \BasketsModel::getResListById([
 			'basketId' => $basketId,
@@ -104,8 +97,7 @@ class VisaController
 			unset($resList[$key]['priority'], $resList[$key]['contact_id'], $resList[$key]['address_id'], $resList[$key]['user_lastname'], $resList[$key]['user_firstname']);
 		}
 
-		$actionLabel = \BasketsModel::getActionByActionId(['actionId' => \BasketsModel::getActionIdById(['basketId' => $basketId]), 'select' => ['label_action']])['label_action'] . ' n°';
-		$actionLabel .= (_ID_TO_DISPLAY == 'res_id' ? $incomingMail[0]['res_id'] : $incomingMail[0]['alt_identifier']);
+		$actionLabel = (_ID_TO_DISPLAY == 'res_id' ? $incomingMail[0]['res_id'] : $incomingMail[0]['alt_identifier']);
 		$actionLabel .= ' : ' . $incomingMail[0]['subject'];
 		$currentAction = [
 			'id' => $_SESSION['current_basket']['default_action'], //TODO No Session
@@ -113,16 +105,14 @@ class VisaController
 		];
 
 		$datas = [];
-		$datas['actions'] = $actionsData;
-		$datas['attachments'] = $this->getAttachmentsForSignatureBook(['resId' => $resId]);
-		$datas['documents'] = $documents;
+		$datas['actions'] 		= $actionsData;
+		$datas['attachments'] 	= $this->getAttachmentsForSignatureBook(['resId' => $resId]);
+		$datas['documents'] 	= $documents;
 		$datas['currentAction'] = $currentAction;
-		$datas['linkNotes'] = 'index.php?display=true&module=notes&page=notes&identifier=' .$resId. '&origin=document&coll_id=letterbox_coll&load&size=medium';
-		$datas['histories'] = $history;
-		$datas['notes'] = $notes;
-		$datas['resList'] = $resList;
-		$datas['signature'] = \UsersModel::getSignatureForCurrentUser()['pathToSignatureOnTmp'];
-		$datas['consigne'] = \UsersModel::getConsigneForCurrentUserById(['resId' => $resId]);
+//		$datas['histories'] 	= $history;
+		$datas['resList'] 		= $resList;
+		$datas['signature'] 	= \UsersModel::getSignatureForCurrentUser()['pathToSignatureOnTmp'];
+		$datas['consigne'] 		= \UsersModel::getConsigneForCurrentUserById(['resId' => $resId]);
 
 		return $response->withJson($datas);
 	}
@@ -200,11 +190,13 @@ class VisaController
 
 			$viewerId = $realId;
 			$pathToFind = $value['path'] . str_replace(strrchr($value['filename'], '.'), '.pdf', $value['filename']);
+			$isConverted = false;
 			foreach ($attachments as $tmpKey => $tmpValue) {
 				if ($tmpValue['attachment_type'] == 'converted_pdf' && ($tmpValue['path'] . $tmpValue['filename'] == $pathToFind)) {
 					if ($value['status'] != 'SIGN') {
 						$viewerId = $tmpValue['res_id'];
 					}
+					$isConverted = true;
 					unset($attachments[$tmpKey]);
 				}
 				if ($value['status'] == 'SIGN' && $tmpValue['attachment_type'] == 'signed_response' && !empty($tmpValue['origin'])) {
@@ -230,7 +222,7 @@ class VisaController
 				$attachments[$key]['typist'] = \UsersModel::getLabelledUserById(['id' => $value['typist']]);
 			}
 
-			$attachments[$key]['truncateTitle'] = ((strlen($value['title']) > 20) ? (substr($value['title'], 0, 20) . '...') : $value['title']);
+			$attachments[$key]['isConverted'] = $isConverted;
 			$attachments[$key]['attachment_type'] = $attachmentTypes[$value['attachment_type']]['label'];
 			$attachments[$key]['icon'] = $attachmentTypes[$value['attachment_type']]['icon'];
 
diff --git a/modules/visa/css/module.css b/modules/visa/css/module.css
index eaea9923dd8becfe872eceeafecef0aedfe10be5..4a433b2bf391dfd45cec5a125f243c44638ec05b 100644
--- a/modules/visa/css/module.css
+++ b/modules/visa/css/module.css
@@ -286,14 +286,14 @@
 }
 
 .resListContentFrame:hover{
-    background-color: #009DC5;
-    color: white;
+    background-color: #FDD16C;
 }
 
 .resListContentFrame{
     border-bottom : solid 1px black;
     position:relative;
     overflow: hidden;
+    background-color: white;
 }
 
 .resListContentPos{
@@ -315,11 +315,11 @@
 .contentLeft{
     border-right: solid 1px;
     vertical-align: top;
-    width:39%;
+    /*width:39%;*/
 }
 
 .contentRight{
-    width:39%;
+    /*width:39%;*/
 }
 
 .contentLeft, .contentRight{
@@ -346,6 +346,7 @@
     text-align: center;
     position: absolute;
     right: -1px;
+    background-color: white;
 }
 
 .panelRightContent{
@@ -382,6 +383,7 @@
 }
 
 .pjDetails,.pjSign,.pjCreate{
+    background-color:white;
     display: block;
     width: 97%;
     text-align: left;
@@ -393,7 +395,7 @@
     -moz-border-radius: 5px;
     -webkit-border-radius: 5px;
     border-radius: 5px;
-    padding: 10px;
+    padding:10px;
     height:30px;
 }
 
@@ -435,6 +437,7 @@
 
 .pjDoc{
    height: 30px;
+   background-color: white;
    -moz-box-shadow: inset 0px 0px 5px 0px #656565;
     -webkit-box-shadow: inset 0px 0px 5px 0px #656565;
     -o-box-shadow: inset 0px 0px 5px 0px #656565;
@@ -458,30 +461,32 @@ img.panelSelectedThumbnail,img:hover.panelSelectedThumbnail{
 }
 
 .actions{
-    width: 20%;
+    width: 25%;
     display: table-cell;
     padding: 5px;
     vertical-align: middle;
     text-align: right;
 }
+.actions i{
+   width:5%;
+}
 
 .actions select{
-   width:80%;
+   width:75%;
 }
 
 .actions input{
    text-align:center;
-   width:19%;
+   width:17%;
 }
 
 .titleSignatureBook{
     display: table;
-    border-radius: 0px 0px 20px;
-    width:40%;
+    width:100%;
     border-right: solid 1px black;
     border-top: solid 1px black;
     border-left: solid 1px black;
-    padding: 5px;
+    /*padding: 5px;*/
     vertical-align: middle;
     font-weight: bold;
     background: #009DC5;
@@ -495,6 +500,7 @@ img.panelSelectedThumbnail,img:hover.panelSelectedThumbnail{
 .titleSignatureBook span{
     display: table-cell;
     vertical-align: middle;
+    padding:5px;
 }
 
 .titleSignatureBook span:nth-child(2){
@@ -518,6 +524,7 @@ img.panelSelectedThumbnail,img:hover.panelSelectedThumbnail{
     height:85vh;
     white-space: nowrap;
     overflow: hidden;
+    background-color: #CEE9F1;
 }
 
 .headerSignatureBook .item{
@@ -527,6 +534,7 @@ img.panelSelectedThumbnail,img:hover.panelSelectedThumbnail{
     cursor: pointer;
     width: 5%;
     vertical-align: middle;
+    background-color: #deedf3;
 }
 
 .headerSignatureBook .activeTabSignatureBook i{
@@ -540,13 +548,20 @@ img.panelSelectedThumbnail,img:hover.panelSelectedThumbnail{
     font-weight: bold;
 }
 
-.headerSignatureBook .item.activeTabSignatureBook,.panelRight .panelSelectedThumbnail,.resListContentFrameSelected{
-    background: #009DC5;
-    color:white;
+.headerSignatureBook .item.activeTabSignatureBook{
+    /*background: #009DC5;
+    color:white;*/
     -moz-box-shadow: inset 0px 0px 5px 0px #656565;
--webkit-box-shadow: inset 0px 0px 5px 0px #656565;
--o-box-shadow: inset 0px 0px 5px 0px #656565;
-box-shadow: inset 0px 0px 5px 0px #656565;
+    -webkit-box-shadow: inset 0px 0px 5px 0px #656565;
+    -o-box-shadow: inset 0px 0px 5px 0px #656565;
+    box-shadow: inset 0px 0px 5px 0px #656565;
+    padding-left: 10px;
+    padding-right: 10px;
+}
+
+.resListContentFrameSelected{
+    background-color: #FDD16C;
+    
 }
 
 .panelRightAddPj{
@@ -557,8 +572,20 @@ box-shadow: inset 0px 0px 5px 0px #656565;
     color: #009DC5;
 }
 
-.panelSelectedThumbnail:hover{
-    color: white;
+.panelRightContent .item:hover{
+     -moz-box-shadow: inset 0px 0px 5px 0px #656565;
+    -webkit-box-shadow: inset 0px 0px 5px 0px #656565;
+    -o-box-shadow: inset 0px 0px 5px 0px #656565;
+    box-shadow: inset 0px 0px 5px 0px #656565;
+    background-color: #FDD16C;
+}
+.panelSelectedThumbnail{
+    -moz-box-shadow: inset 0px 0px 5px 0px #656565;
+    -webkit-box-shadow: inset 0px 0px 5px 0px #656565;
+    -o-box-shadow: inset 0px 0px 5px 0px #656565;
+    box-shadow: inset 0px 0px 5px 0px #656565;
+    background-color: #FDD16C;
+    color: #666 !important;
 }
 
 .infoPj{
@@ -766,4 +793,4 @@ box-shadow: inset 0px 0px 5px 0px #656565;
 
 /*.showLeftPanel.contentRight{*/
     /*width:46.5%;*/
-/*}*/
+/*}*/
diff --git a/modules/visa/js/aController.js b/modules/visa/js/aController.js
deleted file mode 100644
index d3a268ed519d5f4e8d1a54a03cd86b171890b3c1..0000000000000000000000000000000000000000
--- a/modules/visa/js/aController.js
+++ /dev/null
@@ -1,219 +0,0 @@
-"use strict";
-
-mainApp.controller("visaCtrl", ["$scope", "$http", "$routeParams", "$interval", "NgTableParams", "$location",
-    function($scope, $http, $routeParams, $interval, NgTableParams, $location) {
-
-    var vm = this;
-
-    function prepareSignatureBook() {
-        if (typeof globalConfig == "undefined") {
-            InitializeJsGlobalConfig();
-        }
-
-        $j('#inner_content').remove();
-        $j('#header').remove();
-        $j('#viewBasketsTitle').remove();
-        $j('#homePageWelcomeTitle').remove();
-        $j('#footer').remove();
-        $j('#container').width("98%");
-    }
-
-    function getDatas(basketId, resId) {
-        prepareSignatureBook();
-
-        $http({
-            method : 'GET',
-            url    : globalConfig.coreurl + 'rest/' + basketId + '/signatureBook/' + resId,
-            headers: {'Content-Type': 'application/x-www-form-urlencoded'}
-        }).then(function successCallback(response) {
-
-            $scope.signatureBook = response.data;
-            $scope.signatureBook.rightSelectedThumbnail = 0;
-            $scope.signatureBook.leftSelectedThumbnail = 0;
-            if ($scope.signatureBook.attachments[0]) {
-                $scope.signatureBook.rightViewerLink = $scope.signatureBook.attachments[0].viewerLink;
-            }
-            if ($scope.signatureBook.documents[0]) {
-                $scope.signatureBook.leftViewerLink = $scope.signatureBook.documents[0].viewerLink;
-            }
-            $scope.signatureBook.headerTab = 1;
-            $scope.signatureBook.showTopRightPanel = false;
-            $scope.signatureBook.showTopLeftPanel = false;
-            $scope.signatureBook.showResLeftPanel = false;
-            $scope.signatureBook.showLeftPanel = true;
-            $scope.signatureBook.showAttachmentEditionPanel = false;
-
-            $scope.historyTable = new NgTableParams({
-                page: 1,
-                count: 20,
-                sorting: {
-                    event_date: 'desc'
-                }
-            }, {
-                total: $scope.signatureBook.histories.length,
-                dataset: $scope.signatureBook.histories
-            });
-
-            $scope.notesTable = new NgTableParams({
-                page: 1,
-                count: 20,
-                sorting: {
-                    date_note: 'desc'
-                }
-            }, {
-                total: $scope.signatureBook.notes.length,
-                dataset: $scope.signatureBook.notes
-            });
-
-        }, function errorCallback(error) {
-        });
-    }
-
-    $scope.changeSignatureBookLeftContent = function(id) {
-        $scope.signatureBook.headerTab = id;
-        $scope.signatureBook.showTopLeftPanel = false;
-    };
-
-    $scope.changeRightViewer = function(index) {
-        if (index < 0) {
-            $scope.signatureBook.showAttachmentEditionPanel = true;
-        } else {
-            $scope.signatureBook.rightViewerLink = $scope.signatureBook.attachments[index].viewerLink;
-            $scope.signatureBook.showAttachmentEditionPanel = false;
-        }
-        $scope.signatureBook.rightSelectedThumbnail = index;
-    };
-
-    $scope.changeLeftViewer = function(index) {
-        $scope.signatureBook.leftViewerLink = $scope.signatureBook.documents[index].viewerLink;
-        $scope.signatureBook.leftSelectedThumbnail = index;
-    };
-
-    $scope.displayPanel = function(panel) {
-        if (panel == "TOPRIGHT") {
-            $scope.signatureBook.showTopRightPanel = !$scope.signatureBook.showTopRightPanel;
-            $scope.signatureBook.showTopRightPanel == true ? $j(".pjDetails").css("height", "100px") : $j(".pjDetails").css("height", "30px");
-            $scope.signatureBook.showTopRightPanel == true ? $j("#rightPanelShowDocumentIframe").css("height", "69vh") : $j("#rightPanelShowDocumentIframe").css("height", "75vh");
-        } else if (panel == "TOPLEFT") {
-            $scope.signatureBook.showTopLeftPanel = !$scope.signatureBook.showTopLeftPanel;
-            $scope.signatureBook.showTopLeftPanel == true ? $j(".pjDoc").css("height", "100px") : $j(".pjDoc").css("height", "30px");
-            $scope.signatureBook.showTopLeftPanel == true ? $j("#leftPanelShowDocumentIframe").css("height", "69vh") : $j("#leftPanelShowDocumentIframe").css("height", "75vh");
-        } else if (panel == "LEFT") {
-            $scope.signatureBook.showLeftPanel = !$scope.signatureBook.showLeftPanel;
-            $scope.signatureBook.showResLeftPanel = false;
-        } else if (panel == "RESLEFT") {
-            $scope.signatureBook.showResLeftPanel = !$scope.signatureBook.showResLeftPanel;
-            $scope.signatureBook.showTopLeftPanel == true ? $j(".pjDoc").css("height", "100px") : $j(".pjDoc").css("height", "30px");
-
-        }
-    };
-
-    vm.prepareSignFile = function(attachment) {
-        if (attachment.res_id == 0) {
-            signatureBookSignFile(attachment.res_id_version, 1);
-        } else if (attachment.res_id_version == 0) {
-            signatureBookSignFile(attachment.res_id, 0);
-        }
-    };
-
-    function signatureBookSignFile(resId, type) {
-        var path = '';
-
-        if (type == 0) {
-            path = 'index.php?display=true&module=visa&page=sign_file&collId=letterbox_coll&resIdMaster=' + vm.resId + '&id=' + resId;
-        } else if (type == 1) {
-            path = 'index.php?display=true&module=visa&page=sign_file&collId=letterbox_coll&isVersion&resIdMaster=' + vm.resId + '&id=' + resId;
-        } else if (type == 2) {
-            path = 'index.php?display=true&module=visa&page=sign_file&collId=letterbox_coll&isOutgoing&resIdMaster=' + vm.resId + '&id=' + resId;
-        }
-
-        $http({
-            method : 'GET',
-            url    : path,
-            headers: {'Content-Type': 'application/x-www-form-urlencoded'}
-        }).then(function successCallback(response) {
-
-            if (response.data.status == 0) {
-                $scope.signatureBook.rightViewerLink = "index.php?display=true&module=visa&page=view_pdf_attachement&res_id_master=" + vm.resId + "&id=" + response.data.new_id;
-                $scope.signatureBook.attachments[$scope.signatureBook.rightSelectedThumbnail].viewerLink = $scope.signatureBook.rightViewerLink;
-                $scope.signatureBook.attachments[$scope.signatureBook.rightSelectedThumbnail].status = 'SIGN';
-            } else {
-                alert(response.data.error);
-            }
-
-        }, function errorCallback(error) {
-        });
-
-    }
-
-    vm.unsignFile = function(attachment) {
-        var collId;
-        var resId;
-        if (attachment.res_id == 0) {
-            resId = attachment.res_id_version;
-            collId = "res_version_attachments";
-        } else if (attachment.res_id_version == 0) {
-            resId = attachment.res_id;
-            collId = "res_attachments";
-        }
-
-        $http({
-            method : 'PUT',
-            url    : globalConfig.coreurl + 'rest/' + collId + '/' + resId + '/unsign',
-            headers: {'Content-Type': 'application/x-www-form-urlencoded'}
-        }).then(function successCallback(response) {
-
-            if (response.data.status == "OK") {
-                $scope.signatureBook.rightViewerLink = "index.php?display=true&module=visa&page=view_pdf_attachement&res_id_master=" + vm.resId + "&id=" + resId;
-                $scope.signatureBook.attachments[$scope.signatureBook.rightSelectedThumbnail].viewerLink = $scope.signatureBook.rightViewerLink;
-                $scope.signatureBook.attachments[$scope.signatureBook.rightSelectedThumbnail].status = 'A_TRA';
-            } else {
-                alert(response.data.error);
-            }
-
-        }, function errorCallback(error) {
-        });
-
-    };
-
-    $scope.backToBasket = function() {
-        location.hash = "";
-        location.reload();
-    };
-
-    $scope.changeLocation = function(resId) {
-        $location.path(vm.basketId + "/signatureBook/" + resId);
-    };
-
-    $scope.validForm = function() {
-        if ($j("#signatureBookActions option:selected")[0].value != "") {
-            //$interval.cancel(intervalPromise);
-            unlockDocument($routeParams.resId);
-
-            valid_action_form(
-                'empty',
-                'index.php?display=true&page=manage_action&module=core',
-                $scope.signatureBook.currentAction.id,
-                $routeParams.resId,
-                'res_letterbox',
-                'null',
-                'letterbox_coll',
-                'page',
-                false,
-                [$j("#signatureBookActions option:selected")[0].value]
-            );
-        }
-    };
-
-
-    //Initialize View
-    vm.basketId = $routeParams.basketId;
-    vm.resId = $routeParams.resId;
-
-    getDatas($routeParams.basketId, $routeParams.resId);
-    lockDocument($routeParams.resId);
-    $interval(function () {
-        lockDocument($routeParams.resId);
-    }, 50000);
-
-}]);
diff --git a/package.json b/package.json
index 6a981f9ee8a459f5f9b4b42985212c38092896de..77db12f12da2d7915558e320f705a4185f645a77 100644
--- a/package.json
+++ b/package.json
@@ -11,8 +11,8 @@
   "author": "Maarch",
   "license": "GPL-3.0",
   "dependencies": {
-    "systemjs": "0.19.40",
     "core-js": "^2.4.1",
+    "systemjs": "0.19.40",
     "zone.js": "^0.7.4"
   },
   "devDependencies": {
@@ -24,13 +24,12 @@
     "@angular/platform-browser": "~2.4.0",
     "@angular/platform-browser-dynamic": "~2.4.0",
     "@angular/router": "~3.4.0",
-
-    "rxjs": "5.0.1",
+    "rxjs": "5.2.0",
     "angular-in-memory-web-api": "~0.2.4",
     "browserify": "^13.0.1",
     "uglifyjs": "^2.4.10",
-
     "typescript": "~2.0.10",
+    "@types/node": "^7.0.8",
     "@types/jquery": "~2.0.40"
   },
   "repository": {}
diff --git a/php_errors.log b/php_errors.log
deleted file mode 100644
index fa45543fdac58eca19eefeb5001195d447ed3dfc..0000000000000000000000000000000000000000
--- a/php_errors.log
+++ /dev/null
@@ -1,103 +0,0 @@
-[09-Mar-2017 16:31:07 Europe/Paris] PHP Fatal error:  Class 'MaarchTest\PHPUnit_Framework_TestCase' not found in /var/www/html/MaarchCourrier/core/Test/ResControllerTest.php on line 14
-[09-Mar-2017 16:31:07 Europe/Paris] PHP Stack trace:
-[09-Mar-2017 16:31:07 Europe/Paris] PHP   1. {main}() /usr/bin/phpunit:0
-[09-Mar-2017 16:31:07 Europe/Paris] PHP   2. PHPUnit_TextUI_Command::main() /usr/bin/phpunit:29
-[09-Mar-2017 16:31:07 Europe/Paris] PHP   3. PHPUnit_TextUI_Command->run() /usr/share/php/PHPUnit/TextUI/Command.php:106
-[09-Mar-2017 16:31:07 Europe/Paris] PHP   4. PHPUnit_Runner_BaseTestRunner->getTest() /usr/share/php/PHPUnit/TextUI/Command.php:128
-[09-Mar-2017 16:31:07 Europe/Paris] PHP   5. PHPUnit_Runner_BaseTestRunner->loadSuiteClass() /usr/share/php/PHPUnit/Runner/BaseTestRunner.php:65
-[09-Mar-2017 16:31:07 Europe/Paris] PHP   6. PHPUnit_Runner_StandardTestSuiteLoader->load() /usr/share/php/PHPUnit/Runner/BaseTestRunner.php:124
-[09-Mar-2017 16:31:07 Europe/Paris] PHP   7. PHPUnit_Util_Fileloader::checkAndLoad() /usr/share/php/PHPUnit/Runner/StandardTestSuiteLoader.php:39
-[09-Mar-2017 16:31:07 Europe/Paris] PHP   8. PHPUnit_Util_Fileloader::load() /usr/share/php/PHPUnit/Util/Fileloader.php:38
-[09-Mar-2017 16:31:07 Europe/Paris] PHP   9. include_once() /usr/share/php/PHPUnit/Util/Fileloader.php:56
-[09-Mar-2017 16:32:36 Europe/Paris] PHP Fatal error:  Class 'MaarchTest\PHPUnit_Framework_TestCase' not found in /var/www/html/MaarchCourrier/core/Test/StatusControllerTest.php on line 14
-[09-Mar-2017 16:32:36 Europe/Paris] PHP Stack trace:
-[09-Mar-2017 16:32:36 Europe/Paris] PHP   1. {main}() /usr/bin/phpunit:0
-[09-Mar-2017 16:32:36 Europe/Paris] PHP   2. PHPUnit_TextUI_Command::main() /usr/bin/phpunit:29
-[09-Mar-2017 16:32:36 Europe/Paris] PHP   3. PHPUnit_TextUI_Command->run() /usr/share/php/PHPUnit/TextUI/Command.php:106
-[09-Mar-2017 16:32:36 Europe/Paris] PHP   4. PHPUnit_Runner_BaseTestRunner->getTest() /usr/share/php/PHPUnit/TextUI/Command.php:128
-[09-Mar-2017 16:32:36 Europe/Paris] PHP   5. PHPUnit_Runner_BaseTestRunner->loadSuiteClass() /usr/share/php/PHPUnit/Runner/BaseTestRunner.php:65
-[09-Mar-2017 16:32:36 Europe/Paris] PHP   6. PHPUnit_Runner_StandardTestSuiteLoader->load() /usr/share/php/PHPUnit/Runner/BaseTestRunner.php:124
-[09-Mar-2017 16:32:36 Europe/Paris] PHP   7. PHPUnit_Util_Fileloader::checkAndLoad() /usr/share/php/PHPUnit/Runner/StandardTestSuiteLoader.php:39
-[09-Mar-2017 16:32:36 Europe/Paris] PHP   8. PHPUnit_Util_Fileloader::load() /usr/share/php/PHPUnit/Util/Fileloader.php:38
-[09-Mar-2017 16:32:36 Europe/Paris] PHP   9. include_once() /usr/share/php/PHPUnit/Util/Fileloader.php:56
-[09-Mar-2017 16:54:48 Europe/Paris] PHP Warning:  include(apps//css/styles.css): failed to open stream: No such file or directory in /var/www/html/MaarchCourrier/apps/maarch_entreprise/merged_css.php on line 109
-[09-Mar-2017 16:54:48 Europe/Paris] PHP Stack trace:
-[09-Mar-2017 16:54:48 Europe/Paris] PHP   1. {main}() /var/www/html/MaarchCourrier/apps/maarch_entreprise/merged_css.php:0
-[09-Mar-2017 16:54:48 Europe/Paris] PHP Warning:  include(): Failed opening 'apps//css/styles.css' for inclusion (include_path='/var/www/html/MaarchCourrier/:.:/usr/share/php') in /var/www/html/MaarchCourrier/apps/maarch_entreprise/merged_css.php on line 109
-[09-Mar-2017 16:54:48 Europe/Paris] PHP Stack trace:
-[09-Mar-2017 16:54:48 Europe/Paris] PHP   1. {main}() /var/www/html/MaarchCourrier/apps/maarch_entreprise/merged_css.php:0
-[09-Mar-2017 16:54:48 Europe/Paris] PHP Warning:  array_keys() expects parameter 1 to be array, null given in /var/www/html/MaarchCourrier/apps/maarch_entreprise/merged_css.php on line 110
-[09-Mar-2017 16:54:48 Europe/Paris] PHP Stack trace:
-[09-Mar-2017 16:54:48 Europe/Paris] PHP   1. {main}() /var/www/html/MaarchCourrier/apps/maarch_entreprise/merged_css.php:0
-[09-Mar-2017 16:54:48 Europe/Paris] PHP   2. array_keys() /var/www/html/MaarchCourrier/apps/maarch_entreprise/merged_css.php:110
-[09-Mar-2017 16:54:48 Europe/Paris] PHP Warning:  Invalid argument supplied for foreach() in /var/www/html/MaarchCourrier/apps/maarch_entreprise/merged_css.php on line 110
-[09-Mar-2017 16:54:48 Europe/Paris] PHP Stack trace:
-[09-Mar-2017 16:54:48 Europe/Paris] PHP   1. {main}() /var/www/html/MaarchCourrier/apps/maarch_entreprise/merged_css.php:0
-[09-Mar-2017 16:54:48 Europe/Paris] PHP Warning:  include_once(apps//css/doctype_levels.css): failed to open stream: No such file or directory in /var/www/html/MaarchCourrier/apps/maarch_entreprise/merged_css.php on line 127
-[09-Mar-2017 16:54:48 Europe/Paris] PHP Stack trace:
-[09-Mar-2017 16:54:48 Europe/Paris] PHP   1. {main}() /var/www/html/MaarchCourrier/apps/maarch_entreprise/merged_css.php:0
-[09-Mar-2017 16:54:48 Europe/Paris] PHP Warning:  include_once(): Failed opening 'apps//css/doctype_levels.css' for inclusion (include_path='/var/www/html/MaarchCourrier/:.:/usr/share/php') in /var/www/html/MaarchCourrier/apps/maarch_entreprise/merged_css.php on line 127
-[09-Mar-2017 16:54:48 Europe/Paris] PHP Stack trace:
-[09-Mar-2017 16:54:48 Europe/Paris] PHP   1. {main}() /var/www/html/MaarchCourrier/apps/maarch_entreprise/merged_css.php:0
-[09-Mar-2017 16:54:48 Europe/Paris] PHP Warning:  include_once(apps//css/chosen.min.css): failed to open stream: No such file or directory in /var/www/html/MaarchCourrier/apps/maarch_entreprise/merged_css.php on line 128
-[09-Mar-2017 16:54:48 Europe/Paris] PHP Stack trace:
-[09-Mar-2017 16:54:48 Europe/Paris] PHP   1. {main}() /var/www/html/MaarchCourrier/apps/maarch_entreprise/merged_css.php:0
-[09-Mar-2017 16:54:48 Europe/Paris] PHP Warning:  include_once(): Failed opening 'apps//css/chosen.min.css' for inclusion (include_path='/var/www/html/MaarchCourrier/:.:/usr/share/php') in /var/www/html/MaarchCourrier/apps/maarch_entreprise/merged_css.php on line 128
-[09-Mar-2017 16:54:48 Europe/Paris] PHP Stack trace:
-[09-Mar-2017 16:54:48 Europe/Paris] PHP   1. {main}() /var/www/html/MaarchCourrier/apps/maarch_entreprise/merged_css.php:0
-[09-Mar-2017 17:05:07 Europe/Paris] PHP Warning:  Illegal string offset 'column' in /var/www/html/MaarchCourrier/core/Controllers/ResController.php on line 93
-[09-Mar-2017 17:05:07 Europe/Paris] PHP Stack trace:
-[09-Mar-2017 17:05:07 Europe/Paris] PHP   1. {main}() /var/www/html/MaarchCourrier/rest/index.php:0
-[09-Mar-2017 17:05:07 Europe/Paris] PHP   2. Slim\App->run() /var/www/html/MaarchCourrier/rest/index.php:128
-[09-Mar-2017 17:05:07 Europe/Paris] PHP   3. Slim\App->process() /var/www/html/MaarchCourrier/vendor/slim/slim/Slim/App.php:293
-[09-Mar-2017 17:05:07 Europe/Paris] PHP   4. Slim\App->callMiddlewareStack() /var/www/html/MaarchCourrier/vendor/slim/slim/Slim/App.php:332
-[09-Mar-2017 17:05:07 Europe/Paris] PHP   5. Slim\App->__invoke() /var/www/html/MaarchCourrier/vendor/slim/slim/Slim/MiddlewareAwareTrait.php:116
-[09-Mar-2017 17:05:07 Europe/Paris] PHP   6. Slim\Route->run() /var/www/html/MaarchCourrier/vendor/slim/slim/Slim/App.php:438
-[09-Mar-2017 17:05:07 Europe/Paris] PHP   7. Slim\Route->callMiddlewareStack() /var/www/html/MaarchCourrier/vendor/slim/slim/Slim/Route.php:316
-[09-Mar-2017 17:05:07 Europe/Paris] PHP   8. Slim\Route->__invoke() /var/www/html/MaarchCourrier/vendor/slim/slim/Slim/MiddlewareAwareTrait.php:116
-[09-Mar-2017 17:05:07 Europe/Paris] PHP   9. Slim\Handlers\Strategies\RequestResponse->__invoke() /var/www/html/MaarchCourrier/vendor/slim/slim/Slim/Route.php:344
-[09-Mar-2017 17:05:07 Europe/Paris] PHP  10. call_user_func:{/var/www/html/MaarchCourrier/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponse.php:41}() /var/www/html/MaarchCourrier/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponse.php:41
-[09-Mar-2017 17:05:07 Europe/Paris] PHP  11. Core\Controllers\ResController->create() /var/www/html/MaarchCourrier/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponse.php:41
-[09-Mar-2017 17:05:07 Europe/Paris] PHP  12. Core\Controllers\ResController->storeResource() /var/www/html/MaarchCourrier/core/Controllers/ResController.php:35
-[09-Mar-2017 17:05:07 Europe/Paris] PHP Fatal error:  Cannot use string offset as an array in /var/www/html/MaarchCourrier/core/Controllers/ResController.php on line 93
-[09-Mar-2017 17:05:07 Europe/Paris] PHP Stack trace:
-[09-Mar-2017 17:05:07 Europe/Paris] PHP   1. {main}() /var/www/html/MaarchCourrier/rest/index.php:0
-[09-Mar-2017 17:05:07 Europe/Paris] PHP   2. Slim\App->run() /var/www/html/MaarchCourrier/rest/index.php:128
-[09-Mar-2017 17:05:07 Europe/Paris] PHP   3. Slim\App->process() /var/www/html/MaarchCourrier/vendor/slim/slim/Slim/App.php:293
-[09-Mar-2017 17:05:07 Europe/Paris] PHP   4. Slim\App->callMiddlewareStack() /var/www/html/MaarchCourrier/vendor/slim/slim/Slim/App.php:332
-[09-Mar-2017 17:05:07 Europe/Paris] PHP   5. Slim\App->__invoke() /var/www/html/MaarchCourrier/vendor/slim/slim/Slim/MiddlewareAwareTrait.php:116
-[09-Mar-2017 17:05:07 Europe/Paris] PHP   6. Slim\Route->run() /var/www/html/MaarchCourrier/vendor/slim/slim/Slim/App.php:438
-[09-Mar-2017 17:05:07 Europe/Paris] PHP   7. Slim\Route->callMiddlewareStack() /var/www/html/MaarchCourrier/vendor/slim/slim/Slim/Route.php:316
-[09-Mar-2017 17:05:07 Europe/Paris] PHP   8. Slim\Route->__invoke() /var/www/html/MaarchCourrier/vendor/slim/slim/Slim/MiddlewareAwareTrait.php:116
-[09-Mar-2017 17:05:07 Europe/Paris] PHP   9. Slim\Handlers\Strategies\RequestResponse->__invoke() /var/www/html/MaarchCourrier/vendor/slim/slim/Slim/Route.php:344
-[09-Mar-2017 17:05:07 Europe/Paris] PHP  10. call_user_func:{/var/www/html/MaarchCourrier/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponse.php:41}() /var/www/html/MaarchCourrier/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponse.php:41
-[09-Mar-2017 17:05:07 Europe/Paris] PHP  11. Core\Controllers\ResController->create() /var/www/html/MaarchCourrier/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponse.php:41
-[09-Mar-2017 17:05:07 Europe/Paris] PHP  12. Core\Controllers\ResController->storeResource() /var/www/html/MaarchCourrier/core/Controllers/ResController.php:35
-[09-Mar-2017 17:06:16 Europe/Paris] PHP Fatal error:  Cannot use object of type stdClass as array in /var/www/html/MaarchCourrier/core/Controllers/ResController.php on line 94
-[09-Mar-2017 17:06:16 Europe/Paris] PHP Stack trace:
-[09-Mar-2017 17:06:16 Europe/Paris] PHP   1. {main}() /var/www/html/MaarchCourrier/rest/index.php:0
-[09-Mar-2017 17:06:16 Europe/Paris] PHP   2. Slim\App->run() /var/www/html/MaarchCourrier/rest/index.php:128
-[09-Mar-2017 17:06:16 Europe/Paris] PHP   3. Slim\App->process() /var/www/html/MaarchCourrier/vendor/slim/slim/Slim/App.php:293
-[09-Mar-2017 17:06:16 Europe/Paris] PHP   4. Slim\App->callMiddlewareStack() /var/www/html/MaarchCourrier/vendor/slim/slim/Slim/App.php:332
-[09-Mar-2017 17:06:16 Europe/Paris] PHP   5. Slim\App->__invoke() /var/www/html/MaarchCourrier/vendor/slim/slim/Slim/MiddlewareAwareTrait.php:116
-[09-Mar-2017 17:06:16 Europe/Paris] PHP   6. Slim\Route->run() /var/www/html/MaarchCourrier/vendor/slim/slim/Slim/App.php:438
-[09-Mar-2017 17:06:16 Europe/Paris] PHP   7. Slim\Route->callMiddlewareStack() /var/www/html/MaarchCourrier/vendor/slim/slim/Slim/Route.php:316
-[09-Mar-2017 17:06:16 Europe/Paris] PHP   8. Slim\Route->__invoke() /var/www/html/MaarchCourrier/vendor/slim/slim/Slim/MiddlewareAwareTrait.php:116
-[09-Mar-2017 17:06:16 Europe/Paris] PHP   9. Slim\Handlers\Strategies\RequestResponse->__invoke() /var/www/html/MaarchCourrier/vendor/slim/slim/Slim/Route.php:344
-[09-Mar-2017 17:06:16 Europe/Paris] PHP  10. call_user_func:{/var/www/html/MaarchCourrier/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponse.php:41}() /var/www/html/MaarchCourrier/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponse.php:41
-[09-Mar-2017 17:06:16 Europe/Paris] PHP  11. Core\Controllers\ResController->create() /var/www/html/MaarchCourrier/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponse.php:41
-[09-Mar-2017 17:06:16 Europe/Paris] PHP  12. Core\Controllers\ResController->storeResource() /var/www/html/MaarchCourrier/core/Controllers/ResController.php:36
-[09-Mar-2017 17:13:15 Europe/Paris] PHP Fatal error:  Cannot use object of type stdClass as array in /var/www/html/MaarchCourrier/core/Controllers/ResController.php on line 96
-[09-Mar-2017 17:13:15 Europe/Paris] PHP Stack trace:
-[09-Mar-2017 17:13:15 Europe/Paris] PHP   1. {main}() /var/www/html/MaarchCourrier/rest/index.php:0
-[09-Mar-2017 17:13:15 Europe/Paris] PHP   2. Slim\App->run() /var/www/html/MaarchCourrier/rest/index.php:128
-[09-Mar-2017 17:13:15 Europe/Paris] PHP   3. Slim\App->process() /var/www/html/MaarchCourrier/vendor/slim/slim/Slim/App.php:293
-[09-Mar-2017 17:13:15 Europe/Paris] PHP   4. Slim\App->callMiddlewareStack() /var/www/html/MaarchCourrier/vendor/slim/slim/Slim/App.php:332
-[09-Mar-2017 17:13:15 Europe/Paris] PHP   5. Slim\App->__invoke() /var/www/html/MaarchCourrier/vendor/slim/slim/Slim/MiddlewareAwareTrait.php:116
-[09-Mar-2017 17:13:15 Europe/Paris] PHP   6. Slim\Route->run() /var/www/html/MaarchCourrier/vendor/slim/slim/Slim/App.php:438
-[09-Mar-2017 17:13:15 Europe/Paris] PHP   7. Slim\Route->callMiddlewareStack() /var/www/html/MaarchCourrier/vendor/slim/slim/Slim/Route.php:316
-[09-Mar-2017 17:13:15 Europe/Paris] PHP   8. Slim\Route->__invoke() /var/www/html/MaarchCourrier/vendor/slim/slim/Slim/MiddlewareAwareTrait.php:116
-[09-Mar-2017 17:13:15 Europe/Paris] PHP   9. Slim\Handlers\Strategies\RequestResponse->__invoke() /var/www/html/MaarchCourrier/vendor/slim/slim/Slim/Route.php:344
-[09-Mar-2017 17:13:15 Europe/Paris] PHP  10. call_user_func:{/var/www/html/MaarchCourrier/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponse.php:41}() /var/www/html/MaarchCourrier/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponse.php:41
-[09-Mar-2017 17:13:15 Europe/Paris] PHP  11. Core\Controllers\ResController->create() /var/www/html/MaarchCourrier/vendor/slim/slim/Slim/Handlers/Strategies/RequestResponse.php:41
-[09-Mar-2017 17:13:15 Europe/Paris] PHP  12. Core\Controllers\ResController->storeResource() /var/www/html/MaarchCourrier/core/Controllers/ResController.php:38
diff --git a/phpunit.xml b/phpunit.xml
new file mode 100644
index 0000000000000000000000000000000000000000..8626dff0406d03d4ebafdd119b66cb8af5a93f46
--- /dev/null
+++ b/phpunit.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<phpunit colors="true">
+    <testsuites>
+        <testsuite name="Maarch Core Test Suite">
+            <directory>core/Test</directory>
+        </testsuite>
+    </testsuites>
+    <filter>
+      <whitelist>
+          <directory suffix=".php">core/Test</directory>
+          <!-- <directory suffix=".php">core/Controllers</directory> -->
+      </whitelist>
+    </filter>
+    <logging>
+        <log type="coverage-clover" target="core/Test/build/tests-clover.xml"/>
+        <log type="coverage-html"   target="core/Test/build" lowUpperBound="35" highLowerBound="70"/>
+    </logging>
+</phpunit>
+
diff --git a/rest/index.php b/rest/index.php
index a53d67642de6913d1194be9da24ef6e387efdc31..c17dbbcb4d2232ae50efbdd199153e3630de2bb1 100644
--- a/rest/index.php
+++ b/rest/index.php
@@ -124,6 +124,7 @@ $app->put('/{collId}/{resId}/unsign', \Visa\Controllers\VisaController::class .
 //resource
 $app->post('/res', \Core\Controllers\ResController::class . ':create');
 
-
+//extresource
+$app->post('/resExt', \Core\Controllers\ResExtController::class . ':create');
 
 $app->run();
diff --git a/sql/160_to_161.sql b/sql/160_to_161.sql
index 59a2505aaec27eae502b53463d0203d492d30ed4..4e7d6fddd7a9901719d4b1d182ef7800e236d328 100644
--- a/sql/160_to_161.sql
+++ b/sql/160_to_161.sql
@@ -168,3 +168,6 @@ ALTER TABLE entities ADD COLUMN archival_agreement character varying(255);
 DELETE FROM docservers where docserver_id = 'FASTHD_ATTACH';
 INSERT INTO docservers (docserver_id, docserver_type_id, device_label, is_readonly, enabled, size_limit_number, actual_size_number, path_template, ext_docserver_info, chain_before, chain_after, creation_date, closing_date, coll_id, priority_number, docserver_location_id, adr_priority_number) 
 VALUES ('FASTHD_ATTACH', 'FASTHD', 'Fast internal disc bay for attachments', 'N', 'Y', 50000000000, 1, '/opt/maarch/docservers/manual_attachments/', NULL, NULL, NULL, '2011-01-13 14:47:49.197164', NULL, 'attachments_coll', 2, 'NANTERRE', 3);
+
+ALTER TABLE basket_persistent_mode ALTER COLUMN user_id TYPE character varying(128);
+ALTER TABLE res_mark_as_read ALTER COLUMN user_id TYPE character varying(128);
diff --git a/sql/structure.sql b/sql/structure.sql
index fe75fc0bbbf10f689449064fd707e4bafc5f8687..6138b946c75e3c38dfdfc3a13588b406c6105fb1 100644
--- a/sql/structure.sql
+++ b/sql/structure.sql
@@ -714,7 +714,7 @@ WITH (OIDS=FALSE);
 CREATE TABLE basket_persistent_mode
 (
   res_id bigint,
-  user_id character varying(32),
+  user_id character varying(128),
   is_persistent character varying(1)
 )
 WITH (
@@ -725,7 +725,7 @@ CREATE TABLE res_mark_as_read
 (
   coll_id character varying(32),
   res_id bigint,
-  user_id character varying(32),
+  user_id character varying(128),
   basket_id character varying(32)
 )
 WITH (