From 54e6042f394d80ca9bad5cae4302851f708cce48 Mon Sep 17 00:00:00 2001
From: Ari-Pekka Kauppinen <aripekka.kauppinen@gmail.com>
Date: Mon, 18 Mar 2019 16:27:38 +0200
Subject: [PATCH] Main view has now examples from favourite cities, clothes and
 space for sliders.

---
 wearright/package-lock.json          | 233 +++++++++++++--------------
 wearright/package.json               |   1 +
 wearright/src/components/MainPage.js | 106 +++++++++---
 wearright/src/styles/MainPage.css    |  53 +++++-
 wearright/src/testimages/housut.png  | Bin 0 -> 1978 bytes
 wearright/src/testimages/paita.png   | Bin 0 -> 2231 bytes
 wearright/src/testimages/pipo.png    | Bin 0 -> 2374 bytes
 7 files changed, 252 insertions(+), 141 deletions(-)
 create mode 100644 wearright/src/testimages/housut.png
 create mode 100644 wearright/src/testimages/paita.png
 create mode 100644 wearright/src/testimages/pipo.png

diff --git a/wearright/package-lock.json b/wearright/package-lock.json
index a0acd17..761caad 100644
--- a/wearright/package-lock.json
+++ b/wearright/package-lock.json
@@ -2830,7 +2830,8 @@
             },
             "ansi-regex": {
               "version": "2.1.1",
-              "bundled": true
+              "bundled": true,
+              "optional": true
             },
             "aproba": {
               "version": "1.2.0",
@@ -2856,7 +2857,7 @@
               "bundled": true,
               "optional": true,
               "requires": {
-                "balanced-match": "1.0.0",
+                "balanced-match": "^1.0.0",
                 "concat-map": "0.0.1"
               }
             },
@@ -2959,7 +2960,7 @@
               "bundled": true,
               "optional": true,
               "requires": {
-                "safer-buffer": "2.1.2"
+                "safer-buffer": ">= 2.1.2 < 3"
               }
             },
             "ignore-walk": {
@@ -2967,7 +2968,7 @@
               "bundled": true,
               "optional": true,
               "requires": {
-                "minimatch": "3.0.4"
+                "minimatch": "^3.0.4"
               }
             },
             "inflight": {
@@ -2994,7 +2995,7 @@
               "bundled": true,
               "optional": true,
               "requires": {
-                "number-is-nan": "1.0.1"
+                "number-is-nan": "^1.0.0"
               }
             },
             "isarray": {
@@ -3007,7 +3008,7 @@
               "bundled": true,
               "optional": true,
               "requires": {
-                "brace-expansion": "1.1.11"
+                "brace-expansion": "^1.1.7"
               }
             },
             "minimist": {
@@ -3050,9 +3051,9 @@
               "bundled": true,
               "optional": true,
               "requires": {
-                "debug": "2.6.9",
-                "iconv-lite": "0.4.24",
-                "sax": "1.2.4"
+                "debug": "^2.1.2",
+                "iconv-lite": "^0.4.4",
+                "sax": "^1.2.4"
               }
             },
             "node-pre-gyp": {
@@ -3077,8 +3078,8 @@
               "bundled": true,
               "optional": true,
               "requires": {
-                "abbrev": "1.1.1",
-                "osenv": "0.1.5"
+                "abbrev": "1",
+                "osenv": "^0.1.4"
               }
             },
             "npm-bundled": {
@@ -3091,8 +3092,8 @@
               "bundled": true,
               "optional": true,
               "requires": {
-                "ignore-walk": "3.0.1",
-                "npm-bundled": "1.0.5"
+                "ignore-walk": "^3.0.1",
+                "npm-bundled": "^1.0.1"
               }
             },
             "npmlog": {
@@ -3139,8 +3140,8 @@
               "bundled": true,
               "optional": true,
               "requires": {
-                "os-homedir": "1.0.2",
-                "os-tmpdir": "1.0.2"
+                "os-homedir": "^1.0.0",
+                "os-tmpdir": "^1.0.0"
               }
             },
             "path-is-absolute": {
@@ -3158,10 +3159,10 @@
               "bundled": true,
               "optional": true,
               "requires": {
-                "deep-extend": "0.6.0",
-                "ini": "1.3.5",
-                "minimist": "1.2.0",
-                "strip-json-comments": "2.0.1"
+                "deep-extend": "^0.6.0",
+                "ini": "~1.3.0",
+                "minimist": "^1.2.0",
+                "strip-json-comments": "~2.0.1"
               },
               "dependencies": {
                 "minimist": {
@@ -3195,7 +3196,8 @@
             },
             "safe-buffer": {
               "version": "5.1.2",
-              "bundled": true
+              "bundled": true,
+              "optional": true
             },
             "safer-buffer": {
               "version": "2.1.2",
@@ -3227,9 +3229,9 @@
               "bundled": true,
               "optional": true,
               "requires": {
-                "code-point-at": "1.1.0",
-                "is-fullwidth-code-point": "1.0.0",
-                "strip-ansi": "3.0.1"
+                "code-point-at": "^1.0.0",
+                "is-fullwidth-code-point": "^1.0.0",
+                "strip-ansi": "^3.0.0"
               }
             },
             "string_decoder": {
@@ -3237,14 +3239,15 @@
               "bundled": true,
               "optional": true,
               "requires": {
-                "safe-buffer": "5.1.2"
+                "safe-buffer": "~5.1.0"
               }
             },
             "strip-ansi": {
               "version": "3.0.1",
               "bundled": true,
+              "optional": true,
               "requires": {
-                "ansi-regex": "2.1.1"
+                "ansi-regex": "^2.0.0"
               }
             },
             "strip-json-comments": {
@@ -3281,11 +3284,13 @@
             },
             "wrappy": {
               "version": "1.0.2",
-              "bundled": true
+              "bundled": true,
+              "optional": true
             },
             "yallist": {
               "version": "3.0.3",
-              "bundled": true
+              "bundled": true,
+              "optional": true
             }
           }
         },
@@ -6321,8 +6326,8 @@
           "bundled": true,
           "optional": true,
           "requires": {
-            "delegates": "1.0.0",
-            "readable-stream": "2.3.6"
+            "delegates": "^1.0.0",
+            "readable-stream": "^2.0.6"
           }
         },
         "balanced-match": {
@@ -6346,8 +6351,7 @@
         },
         "code-point-at": {
           "version": "1.1.0",
-          "bundled": true,
-          "optional": true
+          "bundled": true
         },
         "concat-map": {
           "version": "0.0.1",
@@ -6356,8 +6360,7 @@
         },
         "console-control-strings": {
           "version": "1.1.0",
-          "bundled": true,
-          "optional": true
+          "bundled": true
         },
         "core-util-is": {
           "version": "1.0.2",
@@ -6392,7 +6395,7 @@
           "bundled": true,
           "optional": true,
           "requires": {
-            "minipass": "2.2.4"
+            "minipass": "^2.2.1"
           }
         },
         "fs.realpath": {
@@ -6405,14 +6408,14 @@
           "bundled": true,
           "optional": true,
           "requires": {
-            "aproba": "1.2.0",
-            "console-control-strings": "1.1.0",
-            "has-unicode": "2.0.1",
-            "object-assign": "4.1.1",
-            "signal-exit": "3.0.2",
-            "string-width": "1.0.2",
-            "strip-ansi": "3.0.1",
-            "wide-align": "1.1.2"
+            "aproba": "^1.0.3",
+            "console-control-strings": "^1.0.0",
+            "has-unicode": "^2.0.0",
+            "object-assign": "^4.1.0",
+            "signal-exit": "^3.0.0",
+            "string-width": "^1.0.1",
+            "strip-ansi": "^3.0.1",
+            "wide-align": "^1.1.0"
           }
         },
         "glob": {
@@ -6420,12 +6423,12 @@
           "bundled": true,
           "optional": true,
           "requires": {
-            "fs.realpath": "1.0.0",
-            "inflight": "1.0.6",
-            "inherits": "2.0.3",
-            "minimatch": "3.0.4",
-            "once": "1.4.0",
-            "path-is-absolute": "1.0.1"
+            "fs.realpath": "^1.0.0",
+            "inflight": "^1.0.4",
+            "inherits": "2",
+            "minimatch": "^3.0.4",
+            "once": "^1.3.0",
+            "path-is-absolute": "^1.0.0"
           }
         },
         "has-unicode": {
@@ -6438,7 +6441,7 @@
           "bundled": true,
           "optional": true,
           "requires": {
-            "safer-buffer": "2.1.2"
+            "safer-buffer": "^2.1.0"
           }
         },
         "ignore-walk": {
@@ -6446,7 +6449,7 @@
           "bundled": true,
           "optional": true,
           "requires": {
-            "minimatch": "3.0.4"
+            "minimatch": "^3.0.4"
           }
         },
         "inflight": {
@@ -6454,14 +6457,13 @@
           "bundled": true,
           "optional": true,
           "requires": {
-            "once": "1.4.0",
-            "wrappy": "1.0.2"
+            "once": "^1.3.0",
+            "wrappy": "1"
           }
         },
         "inherits": {
           "version": "2.0.3",
-          "bundled": true,
-          "optional": true
+          "bundled": true
         },
         "ini": {
           "version": "1.3.5",
@@ -6471,9 +6473,8 @@
         "is-fullwidth-code-point": {
           "version": "1.0.0",
           "bundled": true,
-          "optional": true,
           "requires": {
-            "number-is-nan": "1.0.1"
+            "number-is-nan": "^1.0.0"
           }
         },
         "isarray": {
@@ -6484,23 +6485,20 @@
         "minimatch": {
           "version": "3.0.4",
           "bundled": true,
-          "optional": true,
           "requires": {
             "brace-expansion": "1.1.11"
           }
         },
         "minimist": {
           "version": "0.0.8",
-          "bundled": true,
-          "optional": true
+          "bundled": true
         },
         "minipass": {
           "version": "2.2.4",
           "bundled": true,
-          "optional": true,
           "requires": {
-            "safe-buffer": "5.1.1",
-            "yallist": "3.0.2"
+            "safe-buffer": "^5.1.1",
+            "yallist": "^3.0.0"
           }
         },
         "minizlib": {
@@ -6508,13 +6506,12 @@
           "bundled": true,
           "optional": true,
           "requires": {
-            "minipass": "2.2.4"
+            "minipass": "^2.2.1"
           }
         },
         "mkdirp": {
           "version": "0.5.1",
           "bundled": true,
-          "optional": true,
           "requires": {
             "minimist": "0.0.8"
           }
@@ -6529,9 +6526,9 @@
           "bundled": true,
           "optional": true,
           "requires": {
-            "debug": "2.6.9",
-            "iconv-lite": "0.4.21",
-            "sax": "1.2.4"
+            "debug": "^2.1.2",
+            "iconv-lite": "^0.4.4",
+            "sax": "^1.2.4"
           }
         },
         "node-pre-gyp": {
@@ -6539,16 +6536,16 @@
           "bundled": true,
           "optional": true,
           "requires": {
-            "detect-libc": "1.0.3",
-            "mkdirp": "0.5.1",
-            "needle": "2.2.0",
-            "nopt": "4.0.1",
-            "npm-packlist": "1.1.10",
-            "npmlog": "4.1.2",
-            "rc": "1.2.7",
-            "rimraf": "2.6.2",
-            "semver": "5.5.0",
-            "tar": "4.4.1"
+            "detect-libc": "^1.0.2",
+            "mkdirp": "^0.5.1",
+            "needle": "^2.2.0",
+            "nopt": "^4.0.1",
+            "npm-packlist": "^1.1.6",
+            "npmlog": "^4.0.2",
+            "rc": "^1.1.7",
+            "rimraf": "^2.6.1",
+            "semver": "^5.3.0",
+            "tar": "^4"
           }
         },
         "nopt": {
@@ -6556,8 +6553,8 @@
           "bundled": true,
           "optional": true,
           "requires": {
-            "abbrev": "1.1.1",
-            "osenv": "0.1.5"
+            "abbrev": "1",
+            "osenv": "^0.1.4"
           }
         },
         "npm-bundled": {
@@ -6570,8 +6567,8 @@
           "bundled": true,
           "optional": true,
           "requires": {
-            "ignore-walk": "3.0.1",
-            "npm-bundled": "1.0.3"
+            "ignore-walk": "^3.0.1",
+            "npm-bundled": "^1.0.1"
           }
         },
         "npmlog": {
@@ -6579,16 +6576,15 @@
           "bundled": true,
           "optional": true,
           "requires": {
-            "are-we-there-yet": "1.1.4",
-            "console-control-strings": "1.1.0",
-            "gauge": "2.7.4",
-            "set-blocking": "2.0.0"
+            "are-we-there-yet": "~1.1.2",
+            "console-control-strings": "~1.1.0",
+            "gauge": "~2.7.3",
+            "set-blocking": "~2.0.0"
           }
         },
         "number-is-nan": {
           "version": "1.0.1",
-          "bundled": true,
-          "optional": true
+          "bundled": true
         },
         "object-assign": {
           "version": "4.1.1",
@@ -6598,9 +6594,8 @@
         "once": {
           "version": "1.4.0",
           "bundled": true,
-          "optional": true,
           "requires": {
-            "wrappy": "1.0.2"
+            "wrappy": "1"
           }
         },
         "os-homedir": {
@@ -6618,8 +6613,8 @@
           "bundled": true,
           "optional": true,
           "requires": {
-            "os-homedir": "1.0.2",
-            "os-tmpdir": "1.0.2"
+            "os-homedir": "^1.0.0",
+            "os-tmpdir": "^1.0.0"
           }
         },
         "path-is-absolute": {
@@ -6637,10 +6632,10 @@
           "bundled": true,
           "optional": true,
           "requires": {
-            "deep-extend": "0.5.1",
-            "ini": "1.3.5",
-            "minimist": "1.2.0",
-            "strip-json-comments": "2.0.1"
+            "deep-extend": "^0.5.1",
+            "ini": "~1.3.0",
+            "minimist": "^1.2.0",
+            "strip-json-comments": "~2.0.1"
           },
           "dependencies": {
             "minimist": {
@@ -6655,13 +6650,13 @@
           "bundled": true,
           "optional": true,
           "requires": {
-            "core-util-is": "1.0.2",
-            "inherits": "2.0.3",
-            "isarray": "1.0.0",
-            "process-nextick-args": "2.0.0",
-            "safe-buffer": "5.1.1",
-            "string_decoder": "1.1.1",
-            "util-deprecate": "1.0.2"
+            "core-util-is": "~1.0.0",
+            "inherits": "~2.0.3",
+            "isarray": "~1.0.0",
+            "process-nextick-args": "~2.0.0",
+            "safe-buffer": "~5.1.1",
+            "string_decoder": "~1.1.1",
+            "util-deprecate": "~1.0.1"
           }
         },
         "rimraf": {
@@ -6669,7 +6664,7 @@
           "bundled": true,
           "optional": true,
           "requires": {
-            "glob": "7.1.2"
+            "glob": "^7.0.5"
           }
         },
         "safe-buffer": {
@@ -6704,11 +6699,10 @@
         "string-width": {
           "version": "1.0.2",
           "bundled": true,
-          "optional": true,
           "requires": {
-            "code-point-at": "1.1.0",
-            "is-fullwidth-code-point": "1.0.0",
-            "strip-ansi": "3.0.1"
+            "code-point-at": "^1.0.0",
+            "is-fullwidth-code-point": "^1.0.0",
+            "strip-ansi": "^3.0.0"
           }
         },
         "string_decoder": {
@@ -6716,14 +6710,14 @@
           "bundled": true,
           "optional": true,
           "requires": {
-            "safe-buffer": "5.1.1"
+            "safe-buffer": "~5.1.0"
           }
         },
         "strip-ansi": {
           "version": "3.0.1",
           "bundled": true,
           "requires": {
-            "ansi-regex": "2.1.1"
+            "ansi-regex": "^2.0.0"
           }
         },
         "strip-json-comments": {
@@ -6736,13 +6730,13 @@
           "bundled": true,
           "optional": true,
           "requires": {
-            "chownr": "1.0.1",
-            "fs-minipass": "1.2.5",
-            "minipass": "2.2.4",
-            "minizlib": "1.1.0",
-            "mkdirp": "0.5.1",
-            "safe-buffer": "5.1.1",
-            "yallist": "3.0.2"
+            "chownr": "^1.0.1",
+            "fs-minipass": "^1.2.5",
+            "minipass": "^2.2.4",
+            "minizlib": "^1.1.0",
+            "mkdirp": "^0.5.0",
+            "safe-buffer": "^5.1.1",
+            "yallist": "^3.0.2"
           }
         },
         "util-deprecate": {
@@ -6755,7 +6749,7 @@
           "bundled": true,
           "optional": true,
           "requires": {
-            "string-width": "1.0.2"
+            "string-width": "^1.0.2"
           }
         },
         "wrappy": {
@@ -12906,6 +12900,11 @@
       "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-5.1.4.tgz",
       "integrity": "sha512-fp+U98OMZcnduQ+NSEiQa4s/XMsbp+5KlydmkbESOw4P69iWZ68ZMFM5a2BuE0FgqPBKApJyRuYHR95jM8lAmg=="
     },
+    "react-icons": {
+      "version": "3.5.0",
+      "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-3.5.0.tgz",
+      "integrity": "sha512-LuKUcavgPWjPrRkIdNbsGw8LqcnhfNN0AGCtU4Td1UkOenJSIWbYppSJrD6zi/TDZOHtTs9opu6ZKB/NFWk21g=="
+    },
     "react-is": {
       "version": "16.8.4",
       "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.4.tgz",
diff --git a/wearright/package.json b/wearright/package.json
index 06c4c2a..c9c6ea7 100644
--- a/wearright/package.json
+++ b/wearright/package.json
@@ -5,6 +5,7 @@
   "dependencies": {
     "react": "^16.8.4",
     "react-dom": "^16.8.4",
+    "react-icons": "^3.5.0",
     "react-scripts": "2.1.8",
     "universal-cookie": "^3.0.7"
   },
diff --git a/wearright/src/components/MainPage.js b/wearright/src/components/MainPage.js
index ffb403d..35a3bc6 100644
--- a/wearright/src/components/MainPage.js
+++ b/wearright/src/components/MainPage.js
@@ -1,19 +1,40 @@
 import React, { Component } from 'react';
 import "../styles/MainPage.css"
+import {FaStar, FaArrowLeft, FaArrowRight, FaBars } from 'react-icons/fa';
 
 class MainPage extends Component {
     constructor(props) {
         super(props);  
         this.state = {
             currentWeather : [],
-            isLoaded: false,
-            error: null
+            isLoaded: true,
+            error: null,
+            clothes: [],
+            location: []
+
         }
-      }
+        this.currentWeather = this.currentWeather.bind(this);
+        this.getClothes = this.getClothes.bind(this);
+        this.getLocation = this.getLocation.bind(this);
+    }
 
     componentDidMount(){
-        //token for API request
-        const token = "&APPID=dc7912235b38897f91307afe6e1162c3"
+        //this.currentWeather()
+        this.getClothes()
+        this.getLocation()
+    }
+
+    getLocation(){
+        const tempArr = []
+        tempArr.push('Jyväskylä')
+        tempArr.push('Helsinki')
+ 
+        this.setState({location: tempArr})
+    }
+
+    currentWeather(){
+        //token for API request    
+        const token = ""
         const unit = "&units=metric"
         //API address
         const apiUrl ='http://api.openweathermap.org/data/2.5/weather?q=Tampere,fi'
@@ -36,32 +57,75 @@ class MainPage extends Component {
                             error
                         })
                     }                     
-                )                                       
+                )                     
+    }
+    
+    getClothes(){
+        //get clothes for user from backend
+        //compare clothes to weather => set to state array
+        
+        //testdata
+        const tempArr = []
+        tempArr.push(require('../testimages/housut.png'))
+        tempArr.push(require('../testimages/paita.png'))
+        tempArr.push(require('../testimages/pipo.png'))
+
+        this.setState({clothes: tempArr})
+        //console.log(this.state.clothes[2])
     }
 
+    
     render() {  
-        const {currentWeather, isLoaded} = this.state
+        const {currentWeather, isLoaded, clothes, location} = this.state    
             if(isLoaded){
-                return (              
-                    <div className="weatherBox">   
-                    {/* <ul>
-                            <li>testdata</li>
-                            <li>testdata</li>
-                            <li>testdata</li>
-                        </ul>
-                    */}
+                return ( 
+                    <div className={"content"}>
+                        <h1>Wear Right</h1>
+                        <div className={"header"}>
+                            <div className={"menu"}>
+                                {/* menubutton here! from component */}
+                                {/* Test menu button */}
+                                <button><FaBars className={"icons"} /></button>
+                            </div>
+                            <div className={"location"}>
+                                {/* favourite places here from component  */}
+                                {/* Test data */}
+                                {location.map((loc) => <h3><FaStar className={"icons"} />{loc}</h3>)}                                 
+                            </div>                           
+                        </div>
+                        <hr></hr>
+                        <div className={"weather"}>                           
+                            <div className={"sliders"}>
+                                <p>sliders</p>
+                            </div>
+                            <div className="weatherBox">   
+                                {/* <ul>
+                                    <li>testdata</li>
+                                    <li>testdata</li>
+                                    <li>testdata</li>
+                                </ul>                              */}
+                                <ul>
+                                    <li>Lämpötila: { JSON.stringify(currentWeather[0]) }C</li>
+                                    <li>Tuuli: { JSON.stringify(currentWeather[1]) }m/s</li>
+                                    <li>Tuntuu kuin: ?</li>
+                                </ul>      
+                            </div>  
+                        </div>  
+                        <div className={"clothes"}>                  
+                            {clothes.map((item) => <img alt="img" src={item}></img>)}    
 
-                        <ul>
-                            <li>Lämpötila: { JSON.stringify(currentWeather[0]) }C</li>
-                            <li>Tuuli: { JSON.stringify(currentWeather[1]) }m/s</li>
-                            <li>Tuntuu kuin: ?</li>
-                        </ul>              
-                    </div>            
+                            <div className={"button"}>
+                                <button id={"left"} ><FaArrowLeft className={"icons"} /></button>
+                                <button id={"right"}><FaArrowRight className={"icons"}/></button>
+                            </div>                                              
+                        </div>
+                    </div>          
                 );
                 }
                 else{
                     return <p>Lataa...</p>
                 }
+                
     }
 }
 
diff --git a/wearright/src/styles/MainPage.css b/wearright/src/styles/MainPage.css
index 44909b4..ed79a0a 100644
--- a/wearright/src/styles/MainPage.css
+++ b/wearright/src/styles/MainPage.css
@@ -1,8 +1,55 @@
-ul{
-    list-style: none;
+
+
+/*top page*/
+
+.header{
+    display: flex;
+    justify-content: space-between;
+}
+
+.menu{
+    margin: 20px;
+}
+.location{
+    margin-right: 30px;
+}
+.icons{
+    font-size: 30px;
+}
+
+.weather{
+    margin: 20px;
+    display: flex;
+    justify-content: space-around
+}
+
+.weatherBox, .sliders {
     box-sizing: content-box;
     width: 300px;
     height: 100px;
+    padding: 10px;  
+    border: solid;
+}
+
+ul{
+    list-style: none;
+}
+
+/*bottom of page*/
+
+.clothes{ 
+    margin: 30px;
+    display: inline-block;
+    box-sizing: content-box;
     padding: 30px;  
     border: solid;
-}
\ No newline at end of file
+}
+
+#left{
+    float: left;
+    margin: 10px;
+}
+#right{
+    float: right;
+    margin: 10px;
+}   
\ No newline at end of file
diff --git a/wearright/src/testimages/housut.png b/wearright/src/testimages/housut.png
new file mode 100644
index 0000000000000000000000000000000000000000..d5fe4630d792cf58a411cf5d2fe9d12412efafc1
GIT binary patch
literal 1978
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

literal 0
HcmV?d00001

diff --git a/wearright/src/testimages/paita.png b/wearright/src/testimages/paita.png
new file mode 100644
index 0000000000000000000000000000000000000000..0622920ba41b717bdffa2780ab7128fb8b0d8c6a
GIT binary patch
literal 2231
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
YjnIVPzQ=kypAEp-(=HAbr~H%t4i~pMLI3~&

literal 0
HcmV?d00001

diff --git a/wearright/src/testimages/pipo.png b/wearright/src/testimages/pipo.png
new file mode 100644
index 0000000000000000000000000000000000000000..0e28d2ad49aad42ecb83e3b2cf05f182cb07840f
GIT binary patch
literal 2374
zcmZuzd05iv76uc<Ak;Ax(=peX5jS$lwA@P51Xrw-QlS(_Q%5aJ3$=bcN|{+|DrUJf
zWni`lnOkXOY6@sBV;L?mhU<{H+^dPp(7n(7W1i>!@tyCy?|07m<DBO??|04L*K^1A
zUE4t*(2gTs?tvf>SXJ(iz!c=x-Y(ifeu2*hdL9Hl?a`f)1H~veA2$%F_9lFt1d(Iq
z1h0^@AP}<c`vG_U#)trcV1gs=Zb2zwl2Jj?-F-i}23*?QDjy9%^7<3hwuic^Im#-t
zjKNWn9i{=2FsIh7^>0gX*OINcEqDcp1A>m^?^u?t%*V~`9*diYk#{o1(y_9YH$TRA
zfwlqKK)W#-n7K(%FrxP`O!fjZ*9dQo=<$q5h~hSsDsH#A)%D=7r;EDAUT)4VO0<R!
z27%3&)nd@J`TDf0+-I&Ba7_}ns_kOg@!{VM{;0h2hq)TBqPD6C(ylU@Sfit*ZEli+
zna~8!6^7)Vx~j`NP^X_m=e&2d89*5jF?YHf2wsViea^BrTW(w2+?Rx4k<337Uec~Q
zi^tId@m-V)G%9?Y*3|fHKU_UK6<f9KbK2pOOYf8qKT7pS0|b3Qv0#WLnXMLg-_|_x
zLW6t>l%r;VI^xmtvIewv)V?Reg$ob5rBRhuA)XU^&{H0aDA}B=(6RE3U06jP{wYad
z-LIZpp?&7|S=}7u>*OJE&Ffq1jWSa5F2ByZz&i3YtGAZ-BK~dw+%k1XRlMN}d-0LY
z*M<pedY96jF@+^9oCuwGEQK=BfXBx605jIPNqKSCzh(8ITbH%6`aY?A%bYT$TTaj$
zVRgd1(%w}}?i5WhbYp|)v}dDQ)-I|%Ix&;L>5QV3wV(4N2a1{UNjW6Bv`7t2cKOk?
zTDEFgu_HdSn}ec|;l?<V<@b^+q4JD(ZkP)bDZ^ApmxqEGJqNNtA)Bv<Yblbr9lQA8
zu%XHTq1!5%xo~dPIvG>UUfowARyU^wz;To<<k|BpxBn`BMtj7799x1GXm>VmOyT>T
zWKe2uOab(){QxUNFk5M&Q+=Y~(FxXiPFeZrif-BG`pDM!U~#yzLg^klH?gLykBhFx
zs|~VPGXPVkvzcw1v%xI#-C1Ye(`gaXPM<ZM36XhJ)5-{#<CtRg)K8`YmgkJ#u$M{$
zC1#v4lnznE$hMz#sA73u=w_c9_m{Evk2X537LSPN2j&*8#@r{OvjT4xKQm49o`wjb
z?h&4sn$WqGy0&vw+(3AsbNY-6w|8OlFA-|EHLkEyQx~Vk6QA6RJTtlcRvysv>M3US
z>5I6>;5uRd15QxyT>76Cx1R4SHsgi*nv_VCB9NAi$f4yl%+!qe-H*$dVao$^0ng_2
zjWf(}jvq2?z8PFv#9Ma8o(Q?flz<bgLos3_S$!V=<y=>~F{vV#twElyz^m!;HFy<y
zh1~9s>xE2+NlSVDxxgj-iG2eXgEv{UDDh+GL5ZJkn89R_EpSNu^Zvq&^Yy!5`fZ77
z+R7O^)nC@Ax?$H=rR_rBJ{YpF=fY(BmvW!T+-1AlwB!4iu%VuBi0>S7ZlCm2SzW(m
z?~s9S3ClpR6$@r6Pc^8pllR##MSaWP+PmlNAZOZjXUp4j7r*-M3H@*{{{rYn)oMs-
zdcP?ieN%}`n#<|iEDH1uXY>3=ZHpfnhJVz(SJ=9urmKWc@oq1i=!;eS&BLgeGu^qB
zLJ^U$BB$st=JdthW+`x{zdk^!8S)L*u?#Nugml;5ainM8Tv~KYad*g^+|l8<wwAY)
zYJdOkD{X3Rt}`>|P4mU*CSre*-a=(=)%<gz&oQ>55pKW_Z8fpuxcU=};Fz{^qu+BO
zPA!LmP!w`m@Sc?dZ;NybI={2c+X8G}$S+><w#YNj=SLY~EetYyCrg<Ri#{o2wCtvw
z9%KOwEMLIJT41lOB(|<?_;Ufk!ftbO-coq|fuU_FXiS#ZyU1!lVfolYI1B$VcIxR|
zCPXRS^VI5GmFCH$ra>vzrNw{=<9FoMx@?AoN#B1Av`MI7Ld36dT*e9Om@C(C*DdV|
zbgYL40msigUfVzhiwU_w)~oEPj~E2bTOVv1#4)BQc(`LfnOyqIrXI8)Kj>X7)~DX?
ziWox0)eSy>OFZua=i6d^$|L2J6`jN+WnR&dQy;NDw8HO{EP)w)FFA&D+_}UlzDrm*
zXvn`RSune^Yr{BEDC9fTgp(MMf)5YLmoTXMh^xXnGMY+C<;0FfXK6qaUwy#&V9c%P
zL(}A7k}CfL83qO4IMbnvSUH_Q^0%qMz|Oea$oKdsK$MPXITs!gOp@<>w}dn;?L(N6
zn;d2?|M^=GRFP`3Oo)I%A5Zt=qA}|VRM6*AQYMG6tCWeT;!5<T*NVv5-%I%0nIX9F
zSC7LYc%12&Hh^lkfOR2Cb#ZHOL@Q4pQSv3b+4>mj%^OvD7{CmU@TOL3x+Y+=9)@UX
z17O5|id-qtEV)l)K>SDY!C4-Y2B`Rs%R9{w(%%#Ex*%<fz{A_NZQJGAgCM$ME`#L)
z_Fahn2TJo>Q;bnUPf_@QI)b=bOn^Z#`ly<o<$2r>h$3>ehbm$y@`>EalY@iW7Y+aW
z&WKM{Q>2Q6KFTpXFNhE$M@N4}Thze-H;M$#%_XW1mw6Wx-W@vsx=AtYr{B%OoBgcJ
z5DK%+)em6MKE!JaL)4qgMAh!;@g`+?<E6a}7*x#*Z8a#b*dk%R^1rT+O8Hk3I-4l$
z{h7(237peH1k~g2%Nyc0T35z*;k-I0+DIv1MVaJ&udkamz2l~oubBaqpq;#zb~sUU
zLW;>dc5Z6=$@KDAyP>-pynmbSM;?C2MJ~8oPpP=Ca31uhAb;)3E1CcCAf#Z=Qq<+q
z_1yz#4rA#D_k#t}MfJER#GW4IQG+LL6pPKrN_b13>-JCJ;mltErrUuV2deJFsx%hp
zt3DoTIKSuvz{*~+lZFRo+mCAjwc}FmZz1ig9m<n&Q+eC1j~Hm)@>E=UZEJ90cjxAx
zTH3}y3751{A{{8%(m;A(@UrucDj7`#3K7;(z*W|x4ev9OH)jh5{eKht$N2sM+S51I
ZRA`~~e`-LoQS!eJ=!l1}`_qF&;BSpGYzP1V

literal 0
HcmV?d00001

-- 
GitLab