# Stats from current release

Default Server Mode (Increase detected ⚠)

General Overall increase ⚠

|  | zeit/next.js canary v9.1.6 | zeit/next.js refs/tags/v9.1.7-canary.13 | Change |
| - | - | - | - |
| buildDuration | 13.1s | 12.9s | -171ms |
| nodeModulesSize | 48.6 MB | 48.9 MB | ⚠ +295 kB |

Client Bundles (main, webpack, commons) Overall decrease ✓

|  | zeit/next.js canary v9.1.6 | zeit/next.js refs/tags/v9.1.7-canary.13 | Change |
| - | - | - | - |
| main-HASH.js gzip | 6.49 kB | 6.44 kB | -51 B |
| webpack-HASH.js gzip | 746 B | 746 B | ✓ |
| 4952ddcd88e7..54d3.js gzip | 4.68 kB | 4.68 kB | ✓ |
| commons.HASH.js gzip | 4.06 kB | 4.06 kB | ✓ |
| de003c3a9d30..2235.js gzip | 13.9 kB | 13.8 kB | -25 B |
| framework.HASH.js gzip | 39.5 kB | 39.5 kB | ✓ |
| Overall change | 69.3 kB | 69.2 kB | -76 B |

Client Bundles (main, webpack, commons) Modern Overall increase ⚠

|  | zeit/next.js canary v9.1.6 | zeit/next.js refs/tags/v9.1.7-canary.13 | Change |
| - | - | - | - |
| main-HASH.module.js gzip | 5.41 kB | 5.42 kB | ⚠ +8 B |
| webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
| 4952ddcd88e7..dule.js gzip | 5.56 kB | 5.56 kB | ✓ |
| de003c3a9d30..dule.js gzip | 12.5 kB | 12.6 kB | ⚠ +35 B |
| framework.HA..dule.js gzip | 39.4 kB | 39.4 kB | ✓ |
| Overall change | 63.7 kB | 63.7 kB | ⚠ +43 B |

Legacy Client Bundles (polyfills)

|  | zeit/next.js canary v9.1.6 | zeit/next.js refs/tags/v9.1.7-canary.13 | Change |
| - | - | - | - |
| polyfills-HASH.js gzip | 4.76 kB | 4.76 kB | ✓ |
| Overall change | 4.76 kB | 4.76 kB | ✓ |

Client Pages Overall increase ⚠

|  | zeit/next.js canary v9.1.6 | zeit/next.js refs/tags/v9.1.7-canary.13 | Change |
| - | - | - | - |
| _app.js gzip | 1.33 kB | 1.33 kB | ✓ |
| _error.js gzip | 4.07 kB | 4.07 kB | ✓ |
| hooks.js gzip | 779 B | 779 B | ✓ |
| index.js gzip | 222 B | 222 B | ✓ |
| link.js gzip | 2.89 kB | 2.93 kB | ⚠ +37 B |
| routerDirect.js gzip | 283 B | 283 B | ✓ |
| withRouter.js gzip | 282 B | 282 B | ✓ |
| Overall change | 9.86 kB | 9.89 kB | ⚠ +37 B |

Client Pages Modern Overall increase ⚠

|  | zeit/next.js canary v9.1.6 | zeit/next.js refs/tags/v9.1.7-canary.13 | Change |
| - | - | - | - |
| _app.module.js gzip | 757 B | 757 B | ✓ |
| _error.module.js gzip | 3.06 kB | 3.06 kB | ✓ |
| hooks.module.js gzip | 371 B | 371 B | ✓ |
| index.module.js gzip | 212 B | 212 B | ✓ |
| link.module.js gzip | 2.46 kB | 2.49 kB | ⚠ +35 B |
| routerDirect..dule.js gzip | 273 B | 273 B | ✓ |
| withRouter.m..dule.js gzip | 272 B | 272 B | ✓ |
| Overall change | 7.4 kB | 7.43 kB | ⚠ +35 B |

Client Build Manifests

|  | zeit/next.js canary v9.1.6 | zeit/next.js refs/tags/v9.1.7-canary.13 | Change |
| - | - | - | - |
| _buildManifest.js gzip | 61 B | 61 B | ✓ |
| _buildManife..dule.js gzip | 61 B | 61 B | ✓ |
| Overall change | 122 B | 122 B | ✓ |

Rendered Page Sizes Overall increase ⚠

|  | zeit/next.js canary v9.1.6 | zeit/next.js refs/tags/v9.1.7-canary.13 | Change |
| - | - | - | - |
| index.html gzip | 1.04 kB | 1.04 kB | ⚠ +1 B |
| link.html gzip | 1.05 kB | 1.05 kB | ✓ |
| withRouter.html gzip | 1.03 kB | 1.03 kB | ✓ |
| Overall change | 3.12 kB | 3.12 kB | ⚠ +1 B |

#### Diffs

Diff for link.js

```diff
@@ -639,19 +639,41 @@
                 this.cleanUpListeners()
               },
             },
+            {
+              key: 'getHref',
+              value: function getHref() {
+                var pathname = window.location.pathname
+
+                var _this$formatUrls2 = this.formatUrls(
+                    this.props.href,
+                    this.props.as
+                  ),
+                  parsedHref = _this$formatUrls2.href
+
+                return (0, _url.resolve)(pathname, parsedHref)
+              },
+            },
             {
               key: 'handleRef',
               value: function handleRef(ref) {
                 var _this2 = this

+                var isPrefetched =
+                  _router['default'].router.pageLoader.prefetched[
+                    this.getHref()
+                  ]
+
                 if (this.p && IntersectionObserver && ref && ref.tagName) {
                   this.cleanUpListeners()
-                  this.cleanUpListeners = listenToIntersections(
-                    ref,
-                    function() {
-                      _this2.prefetch()
-                    }
-                  )
+
+                  if (!isPrefetched) {
+                    this.cleanUpListeners = listenToIntersections(
+                      ref,
+                      function() {
+                        _this2.prefetch()
+                      }
+                    )
+                  }
                 }
               }, // The function is memoized so that no extra lifecycles are needed
               // as per https://reactjs.org/blog/2018/06/07/you-probably-dont-need-derived-state.html
@@ -661,17 +683,7 @@
               value: function prefetch() {
                 if (!this.p || false) return // Prefetch the JSON page if asked (only in the client)

-                var pathname = window.location.pathname
-
-                var _this$formatUrls2 = this.formatUrls(
-                    this.props.href,
-                    this.props.as
-                  ),
-                  parsedHref = _this$formatUrls2.href
-
-                var href = (0, _url.resolve)(pathname, parsedHref)
-
-                _router['default'].prefetch(href)
+                _router['default'].prefetch(this.getHref())
               },
             },
             {
```

Diff for link.module.js

```diff
@@ -490,12 +490,27 @@
           this.cleanUpListeners()
         }

+        getHref() {
+          var { pathname } = window.location
+          var { href: parsedHref } = this.formatUrls(
+            this.props.href,
+            this.props.as
+          )
+          return (0, _url.resolve)(pathname, parsedHref)
+        }
+
         handleRef(ref) {
+          var isPrefetched =
+            _router.default.router.pageLoader.prefetched[this.getHref()]
+
           if (this.p && IntersectionObserver && ref && ref.tagName) {
             this.cleanUpListeners()
-            this.cleanUpListeners = listenToIntersections(ref, () => {
-              this.prefetch()
-            })
+
+            if (!isPrefetched) {
+              this.cleanUpListeners = listenToIntersections(ref, () => {
+                this.prefetch()
+              })
+            }
           }
         } // The function is memoized so that no extra lifecycles are needed
         // as per https://reactjs.org/blog/2018/06/07/you-probably-dont-need-derived-state.html
@@ -503,14 +518,7 @@
         prefetch() {
           if (!this.p || false) return // Prefetch the JSON page if asked (only in the client)

-          var { pathname } = window.location
-          var { href: parsedHref } = this.formatUrls(
-            this.props.href,
-            this.props.as
-          )
-          var href = (0, _url.resolve)(pathname, parsedHref)
-
-          _router.default.prefetch(href)
+          _router.default.prefetch(this.getHref())
         }

         render() {
```

Diff for de003c3a9d30..b0e06633d.js

```diff
@@ -1445,10 +1445,10 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI

       var _slicedToArray = __webpack_require__('8+Nu')

-      var _Promise = __webpack_require__('eVuF')
-
       var _Object$assign = __webpack_require__('Qetd')

+      var _Promise = __webpack_require__('eVuF')
+
       var _classCallCheck = __webpack_require__('/HRN')

       var _createClass = __webpack_require__('WaGi')
@@ -1483,6 +1483,12 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI

       var route_regex_1 = __webpack_require__('YTqd')

+      function addBasePath(path) {
+        // @ts-ignore variable is always a string
+        var p = ''
+        return path.indexOf(p) !== 0 ? p + path : path
+      }
+
       function toRoute(path) {
         return path.replace(/\/$/, '') || '/'
       }
@@ -1503,6 +1509,9 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI

             _classCallCheck(this, Router)

+            // Static Data Cache
+            this.sdc = {}
+
             this.onPopState = function(e) {
               if (!e.state) {
                 // We get state as undefined for two reasons.
@@ -1553,6 +1562,34 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
               }

               _this.replace(url, as, options)
+            }
+
+            this._getStaticData = function(asPath, _cachedData) {
+              var pathname = url_1.parse(asPath).pathname
+              pathname = !pathname || pathname === '/' ? '/index' : pathname
+              return true && (_cachedData = _this.sdc[pathname])
+                ? _Promise.resolve(_cachedData)
+                : fetch(
+                    // @ts-ignore __NEXT_DATA__
+                    '/_next/data/'
+                      .concat(__NEXT_DATA__.buildId)
+                      .concat(pathname, '.json')
+                  )
+                    .then(function(res) {
+                      if (!res.ok) {
+                        throw new Error('Failed to load static props')
+                      }
+
+                      return res.json()
+                    })
+                    .then(function(data) {
+                      _this.sdc[pathname] = data
+                      return data
+                    })
+                    ['catch'](function(err) {
+                      err.code = 'PAGE_LOAD_ERROR'
+                      throw err
+                    })
             } // represents the current component key

             this.route = toRoute(pathname) // set up the component cache (by route keys)
@@ -1731,7 +1768,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
                       _this2.asPath = as
                       Router.events.emit('hashChangeStart', as)

-                      _this2.changeState(method, url, as)
+                      _this2.changeState(method, url, addBasePath(as))

                       _this2.scrollToHash(as)

@@ -1807,7 +1844,12 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI

                         Router.events.emit('beforeHistoryChange', as)

-                        _this2.changeState(method, url, as, options)
+                        _this2.changeState(
+                          method,
+                          url,
+                          addBasePath(as),
+                          options
+                        )

                         var hash = window.location.hash.substring(1)

@@ -1895,20 +1937,24 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
                         var _require, isValidElementType
                       }

-                      return new _Promise(function(resolve, reject) {
-                        // we provide AppTree later so this needs to be `any`
-                        _this3
-                          .getInitialProps(Component, {
-                            pathname: pathname,
-                            query: query,
-                            asPath: as,
-                          })
-                          .then(function(props) {
-                            routeInfo.props = props
-                            _this3.components[route] = routeInfo
-                            resolve(routeInfo)
-                          }, reject)
-                      })
+                      return _this3
+                        ._getData(function() {
+                          return Component.__NEXT_SPR
+                            ? _this3._getStaticData(as)
+                            : _this3.getInitialProps(
+                                Component, // we provide AppTree later so this needs to be `any`
+                                {
+                                  pathname: pathname,
+                                  query: query,
+                                  asPath: as,
+                                }
+                              )
+                        })
+                        .then(function(props) {
+                          routeInfo.props = props
+                          _this3.components[route] = routeInfo
+                          return routeInfo
+                        })
                     })
                     ['catch'](function(err) {
                       return new _Promise(function(resolve) {
@@ -2079,12 +2125,12 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
                       }

                       return
-                    } // Prefetch is not supported in development mode because it would trigger on-demand-entries
-
-                    if (false) {
                     } // @ts-ignore pathname is always defined

-                    var route = toRoute(pathname)
+                    var route = toRoute(pathname) // Prefetch is not supported in development mode because it would trigger on-demand-entries
+
+                    if (false) {
+                    }

                     _this4.pageLoader.prefetch(route).then(resolve, reject)
                   })
@@ -2146,122 +2192,46 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
                 },
               },
               {
-                key: 'getInitialProps',
-                value: function getInitialProps(Component, ctx) {
-                  var cancelled,
-                    cancel,
-                    App,
-                    props,
-                    status,
-                    _url_1$parse4,
-                    pathname,
-                    AppTree,
-                    err
-
-                  return _regeneratorRuntime.async(
-                    function getInitialProps$(_context2) {
-                      while (1) {
-                        switch ((_context2.prev = _context2.next)) {
-                          case 0:
-                            cancelled = false
-
-                            cancel = function cancel() {
-                              cancelled = true
-                            }
-
-                            this.clc = cancel
-                            App = this.components['/_app'].Component
+                key: '_getData',
+                value: function _getData(fn) {
+                  var _this5 = this

-                            if (!Component.__NEXT_SPR) {
-                              _context2.next = 12
-                              break
-                            }
-
-                            // pathname should have leading slash
-                            ;(_url_1$parse4 = url_1.parse(
-                              ctx.asPath || ctx.pathname
-                            )),
-                              (pathname = _url_1$parse4.pathname)
-                            pathname =
-                              !pathname || pathname === '/'
-                                ? '/index'
-                                : pathname
-                            _context2.next = 9
-                            return _regeneratorRuntime.awrap(
-                              fetch(
-                                // @ts-ignore __NEXT_DATA__
-                                '/_next/data/'
-                                  .concat(__NEXT_DATA__.buildId)
-                                  .concat(pathname, '.json')
-                              )
-                                .then(function(res) {
-                                  if (!res.ok) {
-                                    status = res.status
-                                    throw new Error(
-                                      'failed to load prerender data'
-                                    )
-                                  }
-
-                                  return res.json()
-                                })
-                                ['catch'](function(err) {
-                                  console.error(
-                                    'Failed to load data',
-                                    status,
-                                    err
-                                  )
-                                  window.location.href = pathname
-                                  return new _Promise(function() {})
-                                })
-                            )
+                  var cancelled = false

-                          case 9:
-                            props = _context2.sent
-                            _context2.next = 17
-                            break
-
-                          case 12:
-                            AppTree = this._wrapApp(App)
-                            ctx.AppTree = AppTree
-                            _context2.next = 16
-                            return _regeneratorRuntime.awrap(
-                              utils_1.loadGetInitialProps(App, {
-                                AppTree: AppTree,
-                                Component: Component,
-                                router: this,
-                                ctx: ctx,
-                              })
-                            )
-
-                          case 16:
-                            props = _context2.sent
+                  var cancel = function cancel() {
+                    cancelled = true
+                  }

-                          case 17:
-                            if (cancel === this.clc) {
-                              this.clc = null
-                            }
+                  this.clc = cancel
+                  return fn().then(function(data) {
+                    if (cancel === _this5.clc) {
+                      _this5.clc = null
+                    }

-                            if (!cancelled) {
-                              _context2.next = 22
-                              break
-                            }
+                    if (cancelled) {
+                      var err = new Error('Loading initial props cancelled')
+                      err.cancelled = true
+                      throw err
+                    }

-                            err = new Error('Loading initial props cancelled')
-                            err.cancelled = true
-                            throw err
+                    return data
+                  })
+                },
+              },
+              {
+                key: 'getInitialProps',
+                value: function getInitialProps(Component, ctx) {
+                  var App = this.components['/_app'].Component

-                          case 22:
-                            return _context2.abrupt('return', props)
+                  var AppTree = this._wrapApp(App)

-                          case 23:
-                          case 'end':
-                            return _context2.stop()
-                        }
-                      }
-                    },
-                    null,
-                    this
-                  )
+                  ctx.AppTree = AppTree
+                  return utils_1.loadGetInitialProps(App, {
+                    AppTree: AppTree,
+                    Component: Component,
+                    router: this,
+                    ctx: ctx,
+                  })
                 },
               },
               {
```

Diff for de003c3a9d30..0f.module.js

```diff
@@ -1785,10 +1785,10 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
     /***/ elyg: /***/ function(module, exports, __webpack_require__) {
       'use strict'

-      var _Promise = __webpack_require__('eVuF')
-
       var _Object$assign = __webpack_require__('Qetd')

+      var _Promise = __webpack_require__('eVuF')
+
       var _Object$defineProperty = __webpack_require__('hfKm')

       var __importDefault =
@@ -1819,6 +1819,12 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI

       var route_regex_1 = __webpack_require__('YTqd')

+      function addBasePath(path) {
+        // @ts-ignore variable is always a string
+        var p = ''
+        return path.indexOf(p) !== 0 ? p + path : path
+      }
+
       function toRoute(path) {
         return path.replace(/\/$/, '') || '/'
       }
@@ -1834,6 +1840,8 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
             err,
             subscription,
           } = _ref
+          // Static Data Cache
+          this.sdc = {}

           this.onPopState = e => {
             if (!e.state) {
@@ -1879,6 +1887,34 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
             }

             this.replace(url, as, options)
+          }
+
+          this._getStaticData = (asPath, _cachedData) => {
+            var pathname = url_1.parse(asPath).pathname
+            pathname = !pathname || pathname === '/' ? '/index' : pathname
+            return true && (_cachedData = this.sdc[pathname])
+              ? _Promise.resolve(_cachedData)
+              : fetch(
+                  // @ts-ignore __NEXT_DATA__
+                  '/_next/data/'
+                    .concat(__NEXT_DATA__.buildId)
+                    .concat(pathname, '.json')
+                )
+                  .then(res => {
+                    if (!res.ok) {
+                      throw new Error('Failed to load static props')
+                    }
+
+                    return res.json()
+                  })
+                  .then(data => {
+                    this.sdc[pathname] = data
+                    return data
+                  })
+                  .catch(err => {
+                    err.code = 'PAGE_LOAD_ERROR'
+                    throw err
+                  })
           } // represents the current component key

           this.route = toRoute(pathname) // set up the component cache (by route keys)
@@ -2039,7 +2075,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
             if (!options._h && this.onlyAHashChange(as)) {
               this.asPath = as
               Router.events.emit('hashChangeStart', as)
-              this.changeState(method, url, as)
+              this.changeState(method, url, addBasePath(as))
               this.scrollToHash(as)
               Router.events.emit('hashChangeComplete', as)
               return resolve(true)
@@ -2104,7 +2140,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
                 }

                 Router.events.emit('beforeHistoryChange', as)
-                this.changeState(method, url, as, options)
+                this.changeState(method, url, addBasePath(as), options)
                 var hash = window.location.hash.substring(1)

                 if (false) {
@@ -2189,17 +2225,21 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
                 var isValidElementType
               }

-              return new _Promise((resolve, reject) => {
-                // we provide AppTree later so this needs to be `any`
-                this.getInitialProps(Component, {
-                  pathname,
-                  query,
-                  asPath: as,
-                }).then(props => {
-                  routeInfo.props = props
-                  this.components[route] = routeInfo
-                  resolve(routeInfo)
-                }, reject)
+              return this._getData(() =>
+                Component.__NEXT_SPR
+                  ? this._getStaticData(as)
+                  : this.getInitialProps(
+                      Component, // we provide AppTree later so this needs to be `any`
+                      {
+                        pathname,
+                        query,
+                        asPath: as,
+                      }
+                    )
+              ).then(props => {
+                routeInfo.props = props
+                this.components[route] = routeInfo
+                return routeInfo
               })
             })
             .catch(err => {
@@ -2337,12 +2377,13 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
               }

               return
-            } // Prefetch is not supported in development mode because it would trigger on-demand-entries
+            } // @ts-ignore pathname is always defined
+
+            var route = toRoute(pathname) // Prefetch is not supported in development mode because it would trigger on-demand-entries

             if (false) {
-            } // @ts-ignore pathname is always defined
+            }

-            var route = toRoute(pathname)
             this.pageLoader.prefetch(route).then(resolve, reject)
           })
         }
@@ -2371,7 +2412,7 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
           return Component
         }

-        async getInitialProps(Component, ctx) {
+        _getData(fn) {
           var cancelled = false

           var cancel = () => {
@@ -2379,56 +2420,33 @@ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLI
           }

           this.clc = cancel
-          var { Component: App } = this.components['/_app']
-          var props
-
-          if (Component.__NEXT_SPR) {
-            var status // pathname should have leading slash
-
-            var { pathname } = url_1.parse(ctx.asPath || ctx.pathname)
-            pathname = !pathname || pathname === '/' ? '/index' : pathname
-            props = await fetch(
-              // @ts-ignore __NEXT_DATA__
-              '/_next/data/'
-                .concat(__NEXT_DATA__.buildId)
-                .concat(pathname, '.json')
-            )
-              .then(res => {
-                if (!res.ok) {
-                  status = res.status
-                  throw new Error('failed to load prerender data')
-                }
+          return fn().then(data => {
+            if (cancel === this.clc) {
+              this.clc = null
+            }

-                return res.json()
-              })
-              .catch(err => {
-                console.error('Failed to load data', status, err)
-                window.location.href = pathname
-                return new _Promise(() => {})
-              })
-          } else {
-            var AppTree = this._wrapApp(App)
+            if (cancelled) {
+              var err = new Error('Loading initial props cancelled')
+              err.cancelled = true
+              throw err
+            }

-            ctx.AppTree = AppTree
-            props = await utils_1.loadGetInitialProps(App, {
-              AppTree,
-              Component,
-              router: this,
-              ctx,
-            })
-          }
+            return data
+          })
+        }

-          if (cancel === this.clc) {
-            this.clc = null
-          }
+        getInitialProps(Component, ctx) {
+          var { Component: App } = this.components['/_app']

-          if (cancelled) {
-            var err = new Error('Loading initial props cancelled')
-            err.cancelled = true
-            throw err
-          }
+          var AppTree = this._wrapApp(App)

-          return props
+          ctx.AppTree = AppTree
+          return utils_1.loadGetInitialProps(App, {
+            AppTree,
+            Component,
+            router: this,
+            ctx,
+          })
         }

         abortComponentLoad(as) {
```

Diff for main-HASH.js

```diff
@@ -479,7 +479,7 @@
         document.getElementById('__NEXT_DATA__').textContent
       )
       window.__NEXT_DATA__ = data
-      var version = '9.1.6'
+      var version = '9.1.7-canary.13'
       exports.version = version
       var props = data.props,
         err = data.err,
@@ -1601,35 +1601,33 @@
       var _promise = _interopRequireDefault(__webpack_require__('eVuF'))

       var _mitt = _interopRequireDefault(__webpack_require__('dZ6Y'))
-      /* global document, window */

-      var prefetchOrPreload = undefined ? 'prefetch' : 'preload'
-
-      function supportsPreload(el) {
+      function hasRel(rel, link) {
         try {
-          return el.relList.supports(prefetchOrPreload)
-        } catch (_unused) {
-          return false
-        }
-      }
-
-      var hasPreload = supportsPreload(document.createElement('link'))
-
-      function preloadLink(url, resourceType) {
-        var link = document.createElement('link')
-        link.rel = prefetchOrPreload
-        link.crossOrigin = 'anonymous'
-        link.href = url
-        link.as = resourceType
-        document.head.appendChild(link)
+          link = document.createElement('link')
+          return link.relList.supports(rel)
+        } catch (_unused) {}
       }

-      function loadStyle(url) {
-        var link = document.createElement('link')
-        link.rel = 'stylesheet'
-        link.crossOrigin = 'anonymous'
-        link.href = url
-        document.head.appendChild(link)
+      var relPrefetch =
+        hasRel('preload') && !hasRel('prefetch') // https://caniuse.com/#feat=link-rel-preload
+          ? // macOS and iOS (Safari does not support prefetch)
+            'preload' // https://caniuse.com/#feat=link-rel-prefetch
+          : // IE 11, Edge 12+, nearly all evergreen
+            'prefetch'
+      var hasNoModule = 'noModule' in document.createElement('script')
+
+      function appendLink(href, rel, as) {
+        return new _promise['default'](function(res, rej, link) {
+          link = document.createElement('link')
+          link.crossOrigin = 'anonymous'
+          link.href = href
+          link.rel = rel
+          if (as) link.as = as
+          link.onload = res
+          link.onerror = rej
+          document.head.appendChild(link)
+        })
       }

       var PageLoader =
@@ -1641,6 +1639,7 @@
             this.buildId = buildId
             this.assetPrefix = assetPrefix
             this.pageCache = {}
+            this.prefetched = {}
             this.pageRegisterEvents = (0, _mitt['default'])()
             this.loadingRoutes = {}

@@ -1749,6 +1748,8 @@
                   }

                   if (!_this3.loadingRoutes[route]) {
+                    _this3.loadingRoutes[route] = true
+
                     if (true) {
                       _this3.getDependencies(route).then(function(deps) {
                         deps.forEach(function(d) {
@@ -1765,13 +1766,14 @@
                               'link[rel=stylesheet][href^="' + d + '"]'
                             )
                           ) {
-                            loadStyle(d) // FIXME: handle failure
+                            appendLink(d, 'stylesheet')['catch'](function() {
+                              // FIXME: handle failure
+                              // Right now, this is needed to prevent an unhandled rejection.
+                            })
                           }
                         })

                         _this3.loadRoute(route)
-
-                        _this3.loadingRoutes[route] = true
                       })
                     } else {
                     }
@@ -1824,7 +1826,7 @@

                 var script = document.createElement('script')

-                if (true && 'noModule' in script) {
+                if (true && hasNoModule) {
                   script.type = 'module' // Only page bundle scripts need to have .module added to url,
                   // dependencies already have it added during build manifest creation

@@ -1887,41 +1889,54 @@
                 return (0, _asyncToGenerator2['default'])(
                   /*#__PURE__*/
                   _regeneratorRuntime.mark(function _callee2() {
-                    var scriptRoute, url, cn
+                    var cn, url, scriptRoute
                     return _regeneratorRuntime.wrap(function _callee2$(
                       _context2
                     ) {
                       while (1) {
                         switch ((_context2.prev = _context2.next)) {
                           case 0:
-                            route = _this2.normalizeRoute(route)
-                            scriptRoute =
-                              (route === '/' ? '/index' : route) + '.js'
+                            if (!(cn = navigator.connection)) {
+                              _context2.next = 3
+                              break
+                            }

-                            if (
-                              true &&
-                              'noModule' in document.createElement('script')
-                            ) {
-                              scriptRoute = scriptRoute.replace(
-                                /\.js$/,
-                                '.module.js'
-                              )
+                            if (!(cn.saveData || /2g/.test(cn.effectiveType))) {
+                              _context2.next = 3
+                              break
                             }

-                            url =
-                              _this2.assetPrefix +
-                              (isDependency
-                                ? route
-                                : '/_next/static/' +
-                                  encodeURIComponent(_this2.buildId) +
-                                  '/pages' +
-                                  encodeURI(scriptRoute)) // n.b. If preload is not supported, we fall back to `loadPage` which has
-                            // its own deduping mechanism.
+                            return _context2.abrupt('return')
+
+                          case 3:
+                            url = _this2.assetPrefix
+
+                            if (isDependency) {
+                              url += route
+                            } else {
+                              route = _this2.normalizeRoute(route)
+                              _this2.prefetched[route] = true
+                              scriptRoute =
+                                (route === '/' ? '/index' : route) + '.js'
+
+                              if (true && hasNoModule) {
+                                scriptRoute = scriptRoute.replace(
+                                  /\.js$/,
+                                  '.module.js'
+                                )
+                              }
+
+                              url +=
+                                '/_next/static/' +
+                                encodeURIComponent(_this2.buildId) +
+                                '/pages' +
+                                encodeURI(scriptRoute)
+                            }

                             if (
                               !document.querySelector(
                                 'link[rel="' +
-                                  prefetchOrPreload +
+                                  relPrefetch +
                                   '"][href^="' +
                                   url +
                                   '"], script[data-next-page="' +
@@ -1929,95 +1944,42 @@
                                   '"]'
                               )
                             ) {
-                              _context2.next = 6
+                              _context2.next = 7
                               break
                             }

                             return _context2.abrupt('return')

-                          case 6:
-                            if (!(cn = navigator.connection)) {
-                              _context2.next = 9
-                              break
-                            }
-
-                            if (
-                              !(
-                                (cn.effectiveType || '').indexOf('2g') !== -1 ||
-                                cn.saveData
-                              )
-                            ) {
-                              _context2.next = 9
-                              break
-                            }
-
-                            return _context2.abrupt('return')
-
-                          case 9:
-                            if (!(true && !isDependency)) {
-                              _context2.next = 15
-                              break
-                            }
-
-                            _context2.next = 13
-                            return _this2.getDependencies(route)
-
-                          case 13:
-                            _context2.t0 = function(url) {
-                              _this2.prefetch(url, true)
-                            }
-
-                            _context2.sent.forEach(_context2.t0)
-
-                          case 15:
-                            if (!hasPreload) {
-                              _context2.next = 18
-                              break
-                            }
-
-                            preloadLink(
-                              url,
-                              url.match(/\.css$/) ? 'style' : 'script'
-                            )
-                            return _context2.abrupt('return')
-
-                          case 18:
-                            if (!isDependency) {
-                              _context2.next = 20
-                              break
-                            }
-
-                            return _context2.abrupt('return')
-
-                          case 20:
-                            if (!(document.readyState === 'complete')) {
-                              _context2.next = 24
-                              break
-                            }
-
+                          case 7:
                             return _context2.abrupt(
                               'return',
-                              _this2.loadPage(route)['catch'](function() {})
-                            )
-
-                          case 24:
-                            return _context2.abrupt(
-                              'return',
-                              new _promise['default'](function(resolve) {
-                                window.addEventListener('load', function() {
-                                  _this2.loadPage(route).then(
-                                    function() {
-                                      return resolve()
-                                    },
-                                    function() {
-                                      return resolve()
-                                    }
-                                  )
-                                })
-                              })
+                              _promise['default']
+                                .all([
+                                  appendLink(
+                                    url,
+                                    relPrefetch,
+                                    url.match(/\.css$/) ? 'style' : 'script'
+                                  ),
+                                  true &&
+                                    !isDependency &&
+                                    _this2
+                                      .getDependencies(route)
+                                      .then(function(urls) {
+                                        return _promise['default'].all(
+                                          urls.map(function(url) {
+                                            return _this2.prefetch(url, true)
+                                          })
+                                        )
+                                      }),
+                                ])
+                                .then(
+                                  // do not return any data
+                                  function() {}, // swallow prefetch errors
+                                  function() {}
+                                )
                             )

-                          case 25:
+                          case 8:
                           case 'end':
                             return _context2.stop()
                         }
```

Diff for main-HASH.module.js

```diff
@@ -361,7 +361,7 @@
         document.getElementById('__NEXT_DATA__').textContent
       )
       window.__NEXT_DATA__ = data
-      var version = '9.1.6'
+      var version = '9.1.7-canary.13'
       exports.version = version
       var {
         props,
@@ -1172,35 +1172,33 @@
       var _promise = _interopRequireDefault(__webpack_require__('eVuF'))

       var _mitt = _interopRequireDefault(__webpack_require__('dZ6Y'))
-      /* global document, window */

-      var prefetchOrPreload = undefined ? 'prefetch' : 'preload'
-
-      function supportsPreload(el) {
+      function hasRel(rel, link) {
         try {
-          return el.relList.supports(prefetchOrPreload)
-        } catch (_unused) {
-          return false
-        }
-      }
-
-      var hasPreload = supportsPreload(document.createElement('link'))
-
-      function preloadLink(url, resourceType) {
-        var link = document.createElement('link')
-        link.rel = prefetchOrPreload
-        link.crossOrigin = 'anonymous'
-        link.href = url
-        link.as = resourceType
-        document.head.appendChild(link)
+          link = document.createElement('link')
+          return link.relList.supports(rel)
+        } catch (_unused) {}
       }

-      function loadStyle(url) {
-        var link = document.createElement('link')
-        link.rel = 'stylesheet'
-        link.crossOrigin = 'anonymous'
-        link.href = url
-        document.head.appendChild(link)
+      var relPrefetch =
+        hasRel('preload') && !hasRel('prefetch') // https://caniuse.com/#feat=link-rel-preload
+          ? // macOS and iOS (Safari does not support prefetch)
+            'preload' // https://caniuse.com/#feat=link-rel-prefetch
+          : // IE 11, Edge 12+, nearly all evergreen
+            'prefetch'
+      var hasNoModule = 'noModule' in document.createElement('script')
+
+      function appendLink(href, rel, as) {
+        return new _promise.default((res, rej, link) => {
+          link = document.createElement('link')
+          link.crossOrigin = 'anonymous'
+          link.href = href
+          link.rel = rel
+          if (as) link.as = as
+          link.onload = res
+          link.onerror = rej
+          document.head.appendChild(link)
+        })
       }

       class PageLoader {
@@ -1208,6 +1206,7 @@
           this.buildId = buildId
           this.assetPrefix = assetPrefix
           this.pageCache = {}
+          this.prefetched = {}
           this.pageRegisterEvents = (0, _mitt.default)()
           this.loadingRoutes = {}

@@ -1290,6 +1289,8 @@
             }

             if (!this.loadingRoutes[route]) {
+              this.loadingRoutes[route] = true
+
               if (true) {
                 this.getDependencies(route).then(deps => {
                   deps.forEach(d => {
@@ -1306,11 +1307,13 @@
                         'link[rel=stylesheet][href^="' + d + '"]'
                       )
                     ) {
-                      loadStyle(d) // FIXME: handle failure
+                      appendLink(d, 'stylesheet').catch(() => {
+                        // FIXME: handle failure
+                        // Right now, this is needed to prevent an unhandled rejection.
+                      })
                     }
                   })
                   this.loadRoute(route)
-                  this.loadingRoutes[route] = true
                 })
               } else {
               }
@@ -1338,7 +1341,7 @@
         loadScript(url, route, isPage) {
           var script = document.createElement('script')

-          if (true && 'noModule' in script) {
+          if (true && hasNoModule) {
             script.type = 'module' // Only page bundle scripts need to have .module added to url,
             // dependencies already have it added during build manifest creation

@@ -1390,27 +1393,39 @@
           var _this2 = this

           return (0, _asyncToGenerator2.default)(function*() {
-            route = _this2.normalizeRoute(route)
-            var scriptRoute = (route === '/' ? '/index' : route) + '.js'
+            // https://github.com/GoogleChromeLabs/quicklink/blob/453a661fa1fa940e2d2e044452398e38c67a98fb/src/index.mjs#L115-L118
+            // License: Apache 2.0
+            var cn

-            if (true && 'noModule' in document.createElement('script')) {
-              scriptRoute = scriptRoute.replace(/\.js$/, '.module.js')
+            if ((cn = navigator.connection)) {
+              // Don't prefetch if using 2G or if Save-Data is enabled.
+              if (cn.saveData || /2g/.test(cn.effectiveType)) return
             }

-            var url =
-              _this2.assetPrefix +
-              (isDependency
-                ? route
-                : '/_next/static/' +
-                  encodeURIComponent(_this2.buildId) +
-                  '/pages' +
-                  encodeURI(scriptRoute)) // n.b. If preload is not supported, we fall back to `loadPage` which has
-            // its own deduping mechanism.
+            var url = _this2.assetPrefix
+
+            if (isDependency) {
+              url += route
+            } else {
+              route = _this2.normalizeRoute(route)
+              _this2.prefetched[route] = true
+              var scriptRoute = (route === '/' ? '/index' : route) + '.js'
+
+              if (true && hasNoModule) {
+                scriptRoute = scriptRoute.replace(/\.js$/, '.module.js')
+              }
+
+              url +=
+                '/_next/static/' +
+                encodeURIComponent(_this2.buildId) +
+                '/pages' +
+                encodeURI(scriptRoute)
+            }

             if (
               document.querySelector(
                 'link[rel="' +
-                  prefetchOrPreload +
+                  relPrefetch +
                   '"][href^="' +
                   url +
                   '"], script[data-next-page="' +
@@ -1419,48 +1434,30 @@
               )
             ) {
               return
-            } // Inspired by quicklink, license: https://github.com/GoogleChromeLabs/quicklink/blob/master/LICENSE
-
-            var cn
-
-            if ((cn = navigator.connection)) {
-              // Don't prefetch if the user is on 2G or if Save-Data is enabled.
-              if (
-                (cn.effectiveType || '').indexOf('2g') !== -1 ||
-                cn.saveData
-              ) {
-                return
-              }
-            }
-
-            if (true && !isDependency) {
-              ;(yield _this2.getDependencies(route)).forEach(url => {
-                _this2.prefetch(url, true)
-              })
-            } // Feature detection is used to see if preload is supported
-            // If not fall back to loading script tags before the page is loaded
-            // https://caniuse.com/#feat=link-rel-preload
-
-            if (hasPreload) {
-              preloadLink(url, url.match(/\.css$/) ? 'style' : 'script')
-              return
-            }
-
-            if (isDependency) {
-              // loadPage will automatically handle depencies, so no need to
-              // preload them manually
-              return
             }

-            if (document.readyState === 'complete') {
-              return _this2.loadPage(route).catch(() => {})
-            } else {
-              return new _promise.default(resolve => {
-                window.addEventListener('load', () => {
-                  _this2.loadPage(route).then(() => resolve(), () => resolve())
-                })
-              })
-            }
+            return _promise.default
+              .all([
+                appendLink(
+                  url,
+                  relPrefetch,
+                  url.match(/\.css$/) ? 'style' : 'script'
+                ),
+                true &&
+                  !isDependency &&
+                  _this2
+                    .getDependencies(route)
+                    .then(urls =>
+                      _promise.default.all(
+                        urls.map(url => _this2.prefetch(url, true))
+                      )
+                    ),
+              ])
+              .then(
+                // do not return any data
+                () => {}, // swallow prefetch errors
+                () => {}
+              )
           })()
         }
       }
```

Diff for index.html

```diff
@@ -27,7 +27,7 @@
     />
     <link
       rel="preload"
-      href="/_next/static/runtime/main-e6c4147e120731ef04d8.module.js"
+      href="/_next/static/runtime/main-21ed2d27991768b6f41a.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -45,7 +45,7 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.6544e81bc61166e45e0f.module.js"
+      href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.08c4064758778ec3689a.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -121,13 +121,13 @@
       type="module"
     ></script
     ><script
-      src="/_next/static/runtime/main-8500e7d614d5ca841401.js"
+      src="/_next/static/runtime/main-334838548d76c54145b0.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
-      src="/_next/static/runtime/main-e6c4147e120731ef04d8.module.js"
+      src="/_next/static/runtime/main-21ed2d27991768b6f41a.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
@@ -163,13 +163,13 @@
       type="module"
     ></script
     ><script
-      src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.4c305695c6fb0e06633d.js"
+      src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.a956fdaeb9a5fa7da92f.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
-      src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.6544e81bc61166e45e0f.module.js"
+      src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.08c4064758778ec3689a.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
```

Diff for link.html

```diff
@@ -39,13 +39,13 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.6544e81bc61166e45e0f.module.js"
+      href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.08c4064758778ec3689a.module.js"
       as="script"
       crossorigin="anonymous"
     />
     <link
       rel="preload"
-      href="/_next/static/runtime/main-e6c4147e120731ef04d8.module.js"
+      href="/_next/static/runtime/main-21ed2d27991768b6f41a.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -156,25 +156,25 @@
       type="module"
     ></script
     ><script
-      src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.4c305695c6fb0e06633d.js"
+      src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.a956fdaeb9a5fa7da92f.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
-      src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.6544e81bc61166e45e0f.module.js"
+      src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.08c4064758778ec3689a.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
     ></script
     ><script
-      src="/_next/static/runtime/main-8500e7d614d5ca841401.js"
+      src="/_next/static/runtime/main-334838548d76c54145b0.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
-      src="/_next/static/runtime/main-e6c4147e120731ef04d8.module.js"
+      src="/_next/static/runtime/main-21ed2d27991768b6f41a.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
```

Diff for withRouter.html

```diff
@@ -39,13 +39,13 @@
     />
     <link
       rel="preload"
-      href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.6544e81bc61166e45e0f.module.js"
+      href="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.08c4064758778ec3689a.module.js"
       as="script"
       crossorigin="anonymous"
     />
     <link
       rel="preload"
-      href="/_next/static/runtime/main-e6c4147e120731ef04d8.module.js"
+      href="/_next/static/runtime/main-21ed2d27991768b6f41a.module.js"
       as="script"
       crossorigin="anonymous"
     />
@@ -151,25 +151,25 @@
       type="module"
     ></script
     ><script
-      src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.4c305695c6fb0e06633d.js"
+      src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.a956fdaeb9a5fa7da92f.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
-      src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.6544e81bc61166e45e0f.module.js"
+      src="/_next/static/chunks/de003c3a9d308750aa009870a5926f9b18ab31f4.08c4064758778ec3689a.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
     ></script
     ><script
-      src="/_next/static/runtime/main-8500e7d614d5ca841401.js"
+      src="/_next/static/runtime/main-334838548d76c54145b0.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
-      src="/_next/static/runtime/main-e6c4147e120731ef04d8.module.js"
+      src="/_next/static/runtime/main-21ed2d27991768b6f41a.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
```

Serverless Mode (Increase detected ⚠)

General Overall increase ⚠

|  | zeit/next.js canary v9.1.6 | zeit/next.js refs/tags/v9.1.7-canary.13 | Change |
| - | - | - | - |
| buildDuration | 13.4s | 13.5s | ⚠ +120ms |
| nodeModulesSize | 48.6 MB | 48.9 MB | ⚠ +295 kB |

Client Bundles (main, webpack, commons) Overall decrease ✓

|  | zeit/next.js canary v9.1.6 | zeit/next.js refs/tags/v9.1.7-canary.13 | Change |
| - | - | - | - |
| main-HASH.js gzip | 6.49 kB | 6.44 kB | -51 B |
| webpack-HASH.js gzip | 746 B | 746 B | ✓ |
| 4952ddcd88e7..54d3.js gzip | 4.68 kB | 4.68 kB | ✓ |
| commons.HASH.js gzip | 4.06 kB | 4.06 kB | ✓ |
| de003c3a9d30..2235.js gzip | 13.9 kB | N/A | N/A |
| framework.HASH.js gzip | 39.5 kB | 39.5 kB | ✓ |
| de003c3a9d30..6ef5.js gzip | N/A | 13.8 kB | N/A |
| Overall change | 69.3 kB | 69.2 kB | -51 B |

Client Bundles (main, webpack, commons) Modern Overall increase ⚠

|  | zeit/next.js canary v9.1.6 | zeit/next.js refs/tags/v9.1.7-canary.13 | Change |
| - | - | - | - |
| main-HASH.module.js gzip | 5.41 kB | 5.42 kB | ⚠ +8 B |
| webpack-HASH..dule.js gzip | 746 B | 746 B | ✓ |
| 4952ddcd88e7..dule.js gzip | 5.56 kB | 5.56 kB | ✓ |
| de003c3a9d30..dule.js gzip | 12.5 kB | N/A | N/A |
| framework.HA..dule.js gzip | 39.4 kB | 39.4 kB | ✓ |
| de003c3a9d30..dule.js gzip | N/A | 12.6 kB | N/A |
| Overall change | 63.7 kB | 63.7 kB | ⚠ +8 B |

Legacy Client Bundles (polyfills)

|  | zeit/next.js canary v9.1.6 | zeit/next.js refs/tags/v9.1.7-canary.13 | Change |
| - | - | - | - |
| polyfills-HASH.js gzip | 4.76 kB | 4.76 kB | ✓ |
| Overall change | 4.76 kB | 4.76 kB | ✓ |

Client Pages Overall increase ⚠

|  | zeit/next.js canary v9.1.6 | zeit/next.js refs/tags/v9.1.7-canary.13 | Change |
| - | - | - | - |
| _app.js gzip | 1.33 kB | 1.33 kB | ✓ |
| _error.js gzip | 4.07 kB | 4.07 kB | ✓ |
| hooks.js gzip | 779 B | 779 B | ✓ |
| index.js gzip | 222 B | 222 B | ✓ |
| link.js gzip | 2.89 kB | 2.93 kB | ⚠ +37 B |
| routerDirect.js gzip | 283 B | 283 B | ✓ |
| withRouter.js gzip | 282 B | 282 B | ✓ |
| Overall change | 9.86 kB | 9.89 kB | ⚠ +37 B |

Client Pages Modern Overall increase ⚠

|  | zeit/next.js canary v9.1.6 | zeit/next.js refs/tags/v9.1.7-canary.13 | Change |
| - | - | - | - |
| _app.module.js gzip | 757 B | 757 B | ✓ |
| _error.module.js gzip | 3.06 kB | 3.06 kB | ✓ |
| hooks.module.js gzip | 371 B | 371 B | ✓ |
| index.module.js gzip | 212 B | 212 B | ✓ |
| link.module.js gzip | 2.46 kB | 2.49 kB | ⚠ +35 B |
| routerDirect..dule.js gzip | 273 B | 273 B | ✓ |
| withRouter.m..dule.js gzip | 272 B | 272 B | ✓ |
| Overall change | 7.4 kB | 7.43 kB | ⚠ +35 B |

Client Build Manifests

|  | zeit/next.js canary v9.1.6 | zeit/next.js refs/tags/v9.1.7-canary.13 | Change |
| - | - | - | - |
| _buildManifest.js gzip | 61 B | 61 B | ✓ |
| _buildManife..dule.js gzip | 61 B | 61 B | ✓ |
| Overall change | 122 B | 122 B | ✓ |

Serverless bundles Overall increase ⚠

|  | zeit/next.js canary v9.1.6 | zeit/next.js refs/tags/v9.1.7-canary.13 | Change |
| - | - | - | - |
| _error.js gzip | 74.8 kB | 78.9 kB | ⚠ +4.04 kB |
| hooks.html gzip | 1.07 kB | 1.07 kB | ⚠ +1 B |
| index.js gzip | 75.1 kB | 79.1 kB | ⚠ +4.01 kB |
| link.js gzip | 77.1 kB | 81.3 kB | ⚠ +4.15 kB |
| routerDirect.js gzip | 75.2 kB | 79.2 kB | ⚠ +4.02 kB |
| withRouter.js gzip | 75.3 kB | 79.3 kB | ⚠ +4.03 kB |
| Overall change | 379 kB | 399 kB | ⚠ +20.3 kB |


It has 0 delay for us as is. Also in the lock screen.


TeamCity Identity and Access Management / Identity - .NET Standard 2.0 Nuget (SDK) [Build 370-IDAM-195-NETFramewor](https://teamcity.nice.org.uk/viewLog.html?buildId=63689&buildTypeId=IdentityandAccessManagement_IdentityAuthenticationSdk) outcome was **SUCCESS**
Summary: Running Build time: 00:00:52


Ahja 🤣


TeamCity Identity and Access Management / Identity - RoleManagementAPI [Build 732-IDAM-195-NETFramewor](https://teamcity.nice.org.uk/viewLog.html?buildId=63690&buildTypeId=IdentityandAccessManagement_RoleManagementAPI) outcome was **SUCCESS**
Summary: Tests passed: 59 Build time: 00:02:45


Successfully deployed to following URLs:

* https://zenunu-it27n7uw9.now.sh
* https://zenunu.now.sh
* https://zenunu.dtox-consulting.now.sh
* https://zenunu-git-master.dtox-consulting.now.sh


Well, my thoughts:
- [`shrinkwrap` moved to JDK8](https://github.com/shrinkwrap/shrinkwrap/commit/e48f9cbd8196368fd508c512d9a2d750a80fbbe9) almost two years ago (not yet released, though), so I wonder whether `resolver` should do the same.
- _If_ JDK7 is here to stay (for now) we should really have a Travis build for that because I doubt any contributor will use JDK7 these days. We could introduce a profile which activates Checkstyle plugin only for JDK8+,
- _If_ JDK7 is here to stay (for now), but we _don't_ want a JDK7 Travis build (not ideal, IMHO), then we should at least introduce `animal-sniffer-maven-plugin`.


if the code doesn't work delete this line


Successfully deployed to following URLs:

* https://smakoshcom-30vwg08fa.now.sh
* https://smakosh.com
* https://smakoshcom.smakosh.now.sh
* https://smakoshcom-git-master.smakosh.now.sh


In short: I think the most idiomatic way of doing this with protobuf would be using protobuf services, but I'm not sure whether that wouldn't introduce extra latency / complication because I'm not sure whether they support a low-overhead local transport.

## Details:

Protocol buffers support defining actual services, which have methods, which take in one proto and return another proto. See https://developers.google.com/protocol-buffers/docs/proto3#services. Protobuf services are also transport independent; you can use them to talk via XHR, gRPC, etc. This would be the idiomatic way of defining the backend service:

```proto
service AnkiBackendService {
  rpc GetTemplateRequirements(TemplateRequirementsRequest) returns TemplateRequirementsResponse;
  rpc ScheduleTimingToday(ScheduleTimingTodayRequest) returns ScheduleTimingTodayResponse;
}
```

That will make the protobuf compiler generate `AnkiBackendService` stubs in Python, which will have
a nicely typechecked `GetTemplateRequirements` method.

Most protobuf services I've seen are intended for communication between services that are potentially on different machines, which means they need a whole RPC stack and communicate over some sort of socket (possibly local). If there were some way to define a protobuf service implemented by the Rust backend that would communicate by direct Rust calls, instead of piping it through some sort of local network, it would be nice...


TeamCity Identity and Access Management / Identity - ManagementPortal [Build 957-IDAM-205-Pending-sta](https://teamcity.nice.org.uk/viewLog.html?buildId=63691&buildTypeId=IdentityandAccessManagement_BuildRoleManagementPortal) outcome was **SUCCESS**
Summary: Running Build time: 00:03:31


@bartoszmajsak I think so too, but I am not allowed to _close_ any issues. I was able to _resolve_ my own issues, but not to _close_ them. I cannot even _resolve_ issues created by other users.


Whyyyyyyyyyyy?

It took me so long to get sane behavior.


Successfully deployed to following URLs:

* https://city-dev-client-hf9recirf.now.sh
* https://city-dev-client.now.sh
* https://city-dev-client.bomjfedosei.now.sh
* https://city-dev-client-git-master.bomjfedosei.now.sh


That's the GLV patent, which *very* clearly does *not* cover this use of endomorphisms. (Seriously, it's not a grey area. It just doesn't.) I suggest reverting this commit; it obscures the relation between the code and the paper for no good reason.


Successfully deployed to following URLs:

* https://insultapi-qt6qs74j2.now.sh
* https://insultapi.now.sh
* https://insultapi.noah7545.now.sh
* https://insultapi-git-master.noah7545.now.sh


Successfully deployed to following URLs:

* https://zeit-sodz2axti.now.sh
* https://ilpl.now.sh
* https://e.freehello.cf
* https://zeit.hipinglin.now.sh
* https://zeit-git-master.hipinglin.now.sh


Successfully deployed to following URLs:

* https://dev-blog-p8n4jtfqv.now.sh
* https://dev-blog.now.sh
* https://dev-blog.angeliquejw.now.sh
* https://dev-blog-git-master.angeliquejw.now.sh


Perfecto, los cambios funcionaron 👍 🍄


I think you may have misinterpreted my tone: please don't bite my head off.  The line "Of course there will be a free community edition and you can even have the source code" is exactly what I was looking for: assurance that a free version with source for self hosting will continue to be available.  Naturally I recognise that "premium" features, hosting and other services are a path to fund a project and I wish you all the best with it!


Successfully deployed to following URLs:

* https://listebot-njwe5sail.now.sh
* https://listebot.now.sh
* https://listebot.kutsaltotem.now.sh
* https://listebot-git-master.kutsaltotem.now.sh


Так делать неправильно:
`if attr.have([S_GENDER], None, None, [0]):`

`all_case` может быть только `True` или `False`.


Successfully deployed to following URLs:

* https://deeps-x-react-6vxxbf8lp.now.sh
* https://deeps-x-react.now.sh
* https://deeps-x-react.linengca.now.sh
* https://deeps-x-react-git-master.linengca.now.sh


Successfully deployed to following URLs:

* https://waylonwalkerv2-3b8t6l96j.now.sh
* https://waylonwalkerv2.now.sh
* https://waylonwalkerv2.waylonwalker.now.sh
* https://waylonwalkerv2-git-master.waylonwalker.now.sh


LOL


Puesto el numero de archivos en la pantala detalles.
Funcionalidad de renombrar archivos.
A medias la funcionalidad de descargar archivo.


const {
  first,
  second,
  date
} =  this.arrayForm.controls[i].value;


+id ( destructuring )


Ah, right, I've read it as "the changelog contains fixes... since 1.4.0". Reading again, it does not make sense anyway, as there were fixes to older bugs, but nevermind.


now instead of today


In case of concurrent access (two instances starting at the same time) `CreateAsync` can fail due to a race condition, so it's still important to call `CreateIfNotExistsAsync()`.


Failed to assign a domain to your deployment due to the following error:

~~~
The domain alfianguide.com is not verfied and cannot be used as an alias.
~~~

([Learn more](https://zeit.co/alfianguide/alfianguide/88r55oup1) or [visit](https://alfianguide-88r55oup1.now.sh) the non-aliased deployment)


Too late


Thank for guidance noted


great stuff


Successfully deployed to following URLs:

* https://fitfam-dhfhf9cja.now.sh
* https://fitfam.me
* https://fitfam.andykay.now.sh
* https://fitfam-git-master.andykay.now.sh


I made some decent changes beyond boosting performance with limited draw buffering.
I started work on expanding contracts for more flexible agreements and payment.
I added a library of 500 forenames for each gender, and over 200 surnames which generate randomly for new units.
I started work on expanding professions and skills.
I added the first instance of sound, which I temporarily disabled after listening to it too long during testing.
I expanded events into Scenarios which will offer more flexibility and ease of implementation.
Scenarios are the first instance of complex data storage into trees of varying length embedded arrays.
I added a method to crawl an array focused on the scenario formatting, looking for collisions and returning a new instance of that scenario for the unit.
I still need to add unit caching for triggered scenarios so that progression can be tracked.
This implementation also allows me to trigger defined scenarios, which I plan to test with initial implementation of Quest/Mission scenarios.
I adjusted movement of armies closer to a final value. U.S. army marching speed is approx 5ft/sec, and my implementation is ~60% that speed, so it's closer to walking.
I also implemented a fog mechanic, which is currently disabled pending expanded implementation.


Congrats! @Vizvezdenec strong patch :)


and it doesn't seem like these were switched.. what branch are you working in? abstracted?


Successfully deployed to following URLs:

* https://frontend-i3mfmep5u.now.sh
* https://frontend.ffcp.now.sh
* https://frontend-git-master.ffcp.now.sh


exercise


but yea, if Win10 does not find the drivers, this is a fail. It should find the drivers in the success case.


You can just import DictConfig directly.


Why not:
`OmegaConf.to_container(d)` ?


Hm, this test uses ImageData, not an image element. Should the name be something like "from image data" instead?


Interesting, I am wondering whether this will sometimes randomly.


I think it's better to add set method than preset value which Weld should manage


tranquilo,eu só te passei por ter facil acesso entre c e c++


Successfully deployed to following URLs:

* https://vivliostyle-p0bwn0hay.now.sh
* https://vivliostyle.now.sh
* https://vivliostyle.vivliostyle.now.sh
* https://vivliostyle-git-master.vivliostyle.now.sh


the issue with this item is that for each version upgrade, we need to do analysis on what, if any, function signatures or behaviors have changed before we update the dependency.


Successfully deployed to following URLs:

* https://fortstudio2019-4er6786hr.now.sh
* https://fortstudio2019.now.sh
* https://fortstudio.com
* https://www.fortstudio.com
* https://fortstudio2019.minniehajj.now.sh
* https://fortstudio2019-git-master.minniehajj.now.sh


hey @sabbir420 v-for require the v-bind:key next to it, it's an anti mistake standard.
`:key="related.title"`

https://vuejs.org/v2/guide/list.html#Maintaining-State


Good catch, thanks!


could you please explain what is the magic idea of moving code from one file to another? I think iy=ts clear to have widgets in separate files


# Specs execution successful
:scroll: [View logs](http://bamboo.comnull)
### Plans updated

Bamboo specs have been successfully imported and the following plans have been updated.

Project | Plan | Build
---|---|---
[Test](http://bamboo.com/browse/TEST) | [Comment test](http://bamboo.com/browse/TEST-CTEST)  | :white_check_mark: [\#1](http://bamboo.com/browse/TEST-CTEST-1)
[New project](http://bamboo.com/browse/NEW) | [Disabled plan](http://bamboo.com/browse/NEW-DISABLED) **disabled** | :white_check_mark: [\#1](http://bamboo.com/browse/NEW-DISABLED-1)

### Deployments updated

Bamboo specs have been successfully imported and the following deployment projects have been updated.

|Deployment project |
----|
[Deployment test](http://bamboo.com/deploy/viewDeploymentProjectVersions.action?id=2162689)|


Successfully deployed to following URLs:

* https://front-end-pp-g97py26in.now.sh
* https://front-end-pp.now.sh
* https://front-end-pp.plantpurpose.now.sh
* https://front-end-pp-git-master.plantpurpose.now.sh


This copies the `doc` output, which may or may not be where the `doc` directory lives. The above line should work without this change since we are already generating hoogle below.

This change makes things like `"${ghc-with-packages}/share/doc/ghc/html"` work because the GHC derivation includes them in the `doc` output.


Successfully deployed to following URLs:

* https://qiaokun-web-2a479yaiu.now.sh
* https://qiaokun-web.njzjz.now.sh
* https://qiaokun-web-git-master.njzjz.now.sh


Successfully deployed to following URLs:

* https://frontend-6jbhjdw4e.now.sh
* https://frontend.ffcp.now.sh
* https://frontend-git-master.ffcp.now.sh


@JuliaRegistrator register


Registration pull request created: [JuliaRegistries/General/7452](https://github.com/JuliaRegistries/General/pull/7452)

After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.

This will be done automatically if [Julia TagBot](https://github.com/apps/julia-tagbot) is installed, or can be done manually through the github interface, or via:
```
git tag -a v0.2.1 -m "<description of version>" 90628825271fecfd4080637a256d4044a4d4696c
git push origin v0.2.1
```


Successfully deployed to following URLs:

* https://formik-docs-jh214t1do.now.sh
* https://formik-docs.now.sh
* https://formik-docs.jared.now.sh
* https://formik-docs-git-master.jared.now.sh


![happy new year 2010](https://media.giphy.com/media/j994VqYmspulW/giphy.gif)


There's dependency that unfortunately can't be resolved because we're missing something (particularly bluetooth_sar)
And Arian, the one who provide us this closed source binary aren't able to provide the full packages so I decided to just use the old blob, functionally there's no difference anyway (though if we're able to get the binary / BSP, bluetooth offload will work)


Close - близко. getCloseLection может подразумевать, что будет найдена лекция либо до, либо после переданной даты. Лучше прямо в названии метода обозначить, что будет найдена лекция "после":
```
getNextLecture(Date date)
getLectureAfter(Date date)
```


Successfully deployed to following URLs:

* https://react-avanzado-practica-d1y5eu8gr.now.sh
* https://react-avanzado-practica.now.sh
* https://react-avanzado-practica.enmanuelcastillo.now.sh
* https://react-avanzado-practica-git-master.enmanuelcastillo.now.sh


Successfully deployed to following URLs:

* https://so-3q3y9seec.now.sh
* https://so-gamma-opal.now.sh
* https://so.frnk99.now.sh
* https://so-git-master.frnk99.now.sh


The following doc(s) have been deployed to the [recreate46](https://recreate46-static-docs.pantheonsite.io/docs) Multidev environment:
- [/docs/maintain-custom-upstream](https://recreate46-static-docs.pantheonsite.io/docs/maintain-custom-upstream)


:rofl:

Btw I owe you an email reply, but I haven't got the time to do it. I will get to that as soon as possible, sorry :disappointed_relieved:


This is the  right code


Registration pull request created: [JuliaRegistries/General/7453](https://github.com/JuliaRegistries/General/pull/7453)

After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.

This will be done automatically if [Julia TagBot](https://github.com/apps/julia-tagbot) is installed, or can be done manually through the github interface, or via:
```
git tag -a v0.6.1 -m "<description of version>" 687c859bcf409cda64528c0271e000274b2586da
git push origin v0.6.1
```


test comment


Successfully deployed to following URLs:

* https://dashboard-2z635vrgn.now.sh
* https://dashboard.oacore.now.sh
* https://dashboard-git-master.oacore.now.sh


ssss


Successfully deployed to following URLs:

* https://ssrsubscriber-idb92ce4k.now.sh
* https://ssrsubscriber.youlingcao.now.sh
* https://ssrsubscriber-git-master.youlingcao.now.sh


thank you


Successfully deployed to following URLs:

* https://alc-rivers-mentors-hvq6h8vq1.now.sh
* https://alc-rivers-mentors.godwin.now.sh
* https://alc-rivers-mentors-git-master.godwin.now.sh


리뷰 달리는가???


DropDown code


code checked


좋구만


IMO it would be wise to use named constants for objects.


Successfully deployed to following URLs:

* https://blog-nk29brl8x.now.sh
* https://blog-puce-delta.now.sh
* https://dev.bartwijnants.be
* https://blog.bartwijnants.now.sh
* https://blog-git-master.bartwijnants.now.sh


on osx there're plenty of warnings while linking:
```
warning: src/common/focus_peaking.h:95:9: loop not vectorized: the optimizer was unable to perform the requested transformation; the transformation might be disabled or specified as part of an unsupported transformation ordering
remark: src/common/focus_peaking.h:54:20: loop not vectorized: call instruction cannot be vectorized
```
this is similar to warnings in
- src/common/iop_order.c & src/common/iop_order.h
- src/common/fast_guided_filter.h
- src/iop/toneequal.c
- src/common/luminance_mask.h
- src/iop/filmicrgb.c

i'm not sure if it is worth to file an issue for that ...


Successfully deployed to following URLs:

* https://livrable-ljoaeb7d8.now.sh
* https://livrable.now.sh
* https://livrable.toutchykipik.now.sh
* https://livrable-git-master.toutchykipik.now.sh


# 添加标签列， 通过Name列


Successfully deployed to following URLs:

* https://basics-mz6cstd4d.now.sh
* https://basics.now.sh
* https://basics.parkenconsulting.com
* https://basics.parkenconsulting-tech.now.sh
* https://basics-git-master.parkenconsulting-tech.now.sh


Registration pull request created: [JuliaRegistries/General/7490](https://github.com/JuliaRegistries/General/pull/7490)

After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.

This will be done automatically if [Julia TagBot](https://github.com/apps/julia-tagbot) is installed, or can be done manually through the github interface, or via:
```
git tag -a v1.4.0 -m "<description of version>" 9783d9890bffe86d7206c41725034eb3d8f622e9
git push origin v1.4.0
```


A


test


I wasn't able to retrieve PDD puzzles from the code base and submit them to GitHub. If you think that it's a bug on our side, please submit it to [yegor256/0pdd](https://github.com/yegor256/0pdd/issues):

> set -x && set -e && set -o pipefail && cd /tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io && pdd -v -f /tmp/20200103-6062-wfp7e9 [1]: + set -e + set -o pipefail + cd /tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io + pdd -v -f /tmp/20200103-6062-wfp7e9...

Please, copy and paste this stack trace to GitHub:

```
UserError
set -x && set -e && set -o pipefail && cd /tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io && pdd -v -f /tmp/20200103-6062-wfp7e9 [1]:
+ set -e
+ set -o pipefail
+ cd /tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io
+ pdd -v -f /tmp/20200103-6062-wfp7e9

My version is 0.20.5
Ruby version is 2.6.0 at x86_64-linux
Reading /tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io
305 file(s) found, 84 excluded
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/presentations/msr-2019/figures/maven.png is a binary file (44584 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/presentations/msr-2019/figures/msr.png is a binary file (23766 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/presentations/msr-2019/figures/wasp_logo.png is a binary file (6214 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/presentations/msr-2019/figures/orange.png is a binary file (11774 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/presentations/msr-2019/figures/inria.png is a binary file (69423 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/presentations/msr-2019/figures/github.png is a binary file (8462 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/presentations/msr-2019/figures/stamp.png is a binary file (31064 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/presentations/msr-2019/figures/rq3/examples_evolution.emf is a binary file (57288 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/presentations/msr-2019/figures/rq5/trianglet.png is a binary file (158579 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/presentations/msr-2019/figures/questions.png is a binary file (45188 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/presentations/msr-2019/figures/dataset/version_distribution_red.wmf is a binary file (364652 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/presentations/msr-2019/figures/dataset/new_yearly_releases_grow.emf is a binary file (79448 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/presentations/msr-2019/figures/dataset/new_yearly_releases_grow.pdf is a binary file (17296 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/presentations/msr-2019/figures/dataset/version_distribution_red.emf is a binary file (923356 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/presentations/msr-2019/figures/dataset/query.png is a binary file (427390 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/presentations/msr-2019/figures/dataset/graph.png is a binary file (685309 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/presentations/msr-2019/figures/dataset/version_distribution_red.pdf is a binary file (69319 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/presentations/reveal.js-3.8.0/test/examples/assets/image2.png is a binary file (10237 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/presentations/reveal.js-3.8.0/test/examples/assets/image1.png is a binary file (21991 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/presentations/reveal.js-3.8.0/test/examples/assets/beeping.wav is a binary file (422472 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/presentations/reveal.js-3.8.0/lib/font/league-gothic/league-gothic.ttf is a binary file (64256 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/presentations/reveal.js-3.8.0/lib/font/league-gothic/league-gothic.woff is a binary file (30764 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/presentations/reveal.js-3.8.0/lib/font/league-gothic/league-gothic.eot is a binary file (25696 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/presentations/reveal.js-3.8.0/lib/font/source-sans-pro/source-sans-pro-italic.eot is a binary file (75720 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/presentations/reveal.js-3.8.0/lib/font/source-sans-pro/source-sans-pro-italic.woff is a binary file (98556 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/presentations/reveal.js-3.8.0/lib/font/source-sans-pro/source-sans-pro-regular.ttf is a binary file (288008 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/presentations/reveal.js-3.8.0/lib/font/source-sans-pro/source-sans-pro-semibolditalic.woff is a binary file (98816 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/presentations/reveal.js-3.8.0/lib/font/source-sans-pro/source-sans-pro-semibold.woff is a binary file (115648 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/presentations/reveal.js-3.8.0/lib/font/source-sans-pro/source-sans-pro-semibolditalic.eot is a binary file (75706 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/presentations/reveal.js-3.8.0/lib/font/source-sans-pro/source-sans-pro-semibold.eot is a binary file (89897 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/presentations/reveal.js-3.8.0/lib/font/source-sans-pro/source-sans-pro-semibolditalic.ttf is a binary file (240944 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/presentations/reveal.js-3.8.0/lib/font/source-sans-pro/source-sans-pro-semibold.ttf is a binary file (284640 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/presentations/reveal.js-3.8.0/lib/font/source-sans-pro/source-sans-pro-regular.eot is a binary file (88070 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/presentations/reveal.js-3.8.0/lib/font/source-sans-pro/source-sans-pro-regular.woff is a binary file (114324 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/presentations/reveal.js-3.8.0/lib/font/source-sans-pro/source-sans-pro-italic.ttf is a binary file (238084 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/path.jpg is a binary file (268425 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/conference-short-paper.png is a binary file (4182 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/IETLS_Test_Report_Form.jpg is a binary file (744990 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/IELTS.jpg is a binary file (247048 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/debloating.png is a binary file (45185 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/hobbies.png is a binary file (4333 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/competitive-programming.png is a binary file (111009 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/intro5.jpg is a binary file (328463 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/posts/cuba_flag.jpg is a binary file (93186 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/posts/zipper.jpg is a binary file (199895 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/ACM-ICPC.jpg is a binary file (81148 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/bg.png is a binary file (251735 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/award.png is a binary file (3609 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/noise.png is a binary file (17742 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/general-diagram.png is a binary file (35253 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/demo-paper.png is a binary file (3592 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/codecode.png is a binary file (456163 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/hello_world.jpeg is a binary file (18136 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/avatar-icon.png is a binary file (337200 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/work.png is a binary file (6825 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/logos/jdbl_logo.png is a binary file (8007 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/logos/kth_logo.png is a binary file (48226 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/logos/wasp_logo.png is a binary file (12299 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/logos/DepClean_logo.png is a binary file (8068 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/logos/castor_logo.png is a binary file (48676 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/class.png is a binary file (389032 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/bgimage.png is a binary file (2135 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/install-steps.gif is a binary file (803524 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/people.png is a binary file (5489 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/competitive-programming-brain.png is a binary file (91951 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/404-southpark.jpg is a binary file (60624 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/conference-paper.png is a binary file (3813 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/book-chapter.png is a binary file (3967 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/intro4.jpg is a binary file (87341 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/thesis.png is a binary file (4040 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/cow.png is a binary file (242562 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/journal-article.png is a binary file (3773 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/workshop-paper.png is a binary file (4295 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/motivation.png is a binary file (4833 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/img/education.png is a binary file (8374 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/favicon.ico is a binary file (5430 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/files/IELTS_Writing_Answer_Sheet.pdf is a binary file (74428 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/files/paper.zip is a binary file (558257 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/files/IELTS_Reading_Answer_Sheet.pdf is a binary file (81885 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/files/publications/SOTO-VALERO C. Retos (1).pdf is a binary file (97860 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/files/publications/SOTO-VALERO C.  CCI16.pdf is a binary file (1039640 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/files/publications/SOTO-VALERO C.  RYCIDE.pdf is a binary file (1161149 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/files/publications/SOTO-VALERO C. Tesis.pdf is a binary file (2068179 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/files/publications/Report.pdf is a binary file (138746 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/files/publications/SOTO-VALERO C.  IJCSS.pdf is a binary file (336733 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/files/publications/SOTO-VALERO C. MSR2018.pdf is a binary file (897207 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/files/publications/SOTO-VALERO C.  IJPAS.pdf is a binary file (1981724 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/files/publications/SOTO-VALERO C.  REEFD.pdf is a binary file (509270 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/files/publications/SOTO-VALERO C.  Retos (2).pdf is a binary file (74230 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/files/publications/SOTO-VALERO C.  RCCI.pdf is a binary file (831473 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/files/publications/SOTO-VALERO C. TSEC.pdf is a binary file (3241757 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/files/certificates/SMR_Certificate.pdf is a binary file (305111 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/files/certificates/2017_CertificateStaff_Caribbean_Finals_419972.pdf is a binary file (380563 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/files/presentations/SL.pdf is a binary file (3510050 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/files/presentations/Castor-Software-Days-WASP-Poster.pdf is a binary file (1359777 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/files/Papers_Comp_Adv.zip is a binary file (12741700 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/files/IELTS_Listening_Answer_Sheet.pdf is a binary file (233465 bytes)
/tmp/0pdd20191216-11-1dfrhw6/cesarsotovalero/cesarsotovalero.github.io/files/IELTS_Speaking_Band_Descriptors.pdf is a binary file (100237 bytes)
Reading 0pdd.yml...
Reading _plugins/_tag_gen.rb...
Reading _plugins/font_awesome.rb...
Reading .gitignore...
Reading README.md...
Reading Dockerfile...
Reading publications.md...
ERROR: publications.md; puzzle at line #15; TODO must have a leading space to become a puzzle, as this page explains: https://github.com/yegor256/pdd#how-to-format
If you can't understand the cause of this issue or you don't know how to fix it, please submit a GitHub issue, we will try to help you: https://github.com/yegor256/pdd/issues. This tool is still in its beta version and we will appreciate your feedback. Here is where you can find more documentation: https://github.com/yegor256/pdd/blob/master/README.md.
Exit code is 1

/app/objects/git_repo.rb:66:in `rescue in block in xml'
/app/objects/git_repo.rb:63:in `block in xml'
/app/vendor/ruby-2.6.0/lib/ruby/2.6.0/tempfile.rb:295:in `open'
/app/objects/git_repo.rb:62:in `xml'
/app/objects/puzzles.rb:36:in `deploy'
/app/objects/job.rb:38:in `proceed'
/app/objects/job_starred.rb:33:in `proceed'
/app/objects/job_recorded.rb:32:in `proceed'
/app/objects/job_emailed.rb:35:in `proceed'
/app/objects/job_commiterrors.rb:36:in `proceed'
/app/objects/job_detached.rb:48:in `exclusive'
/app/objects/job_detached.rb:36:in `block in proceed'
/app/objects/job_detached.rb:36:in `fork'
/app/objects/job_detached.rb:36:in `proceed'
/app/0pdd.rb:358:in `block in <top (required)>'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1635:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1635:in `block in compile!'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:992:in `block (3 levels) in route!'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1011:in `route_eval'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:992:in `block (2 levels) in route!'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1040:in `block in process_route'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1038:in `catch'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1038:in `process_route'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:990:in `block in route!'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:989:in `each'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:989:in `route!'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1097:in `block in dispatch!'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1076:in `block in invoke'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1076:in `catch'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1076:in `invoke'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1094:in `dispatch!'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:924:in `block in call!'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1076:in `block in invoke'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1076:in `catch'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1076:in `invoke'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:924:in `call!'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:913:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-protection-2.0.4/lib/rack/protection/xss_header.rb:18:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-protection-2.0.4/lib/rack/protection/path_traversal.rb:16:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-protection-2.0.4/lib/rack/protection/json_csrf.rb:26:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-protection-2.0.4/lib/rack/protection/base.rb:50:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-protection-2.0.4/lib/rack/protection/base.rb:50:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-protection-2.0.4/lib/rack/protection/frame_options.rb:31:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/logger.rb:15:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/common_logger.rb:33:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:231:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:224:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/head.rb:12:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/method_override.rb:22:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:194:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1957:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1502:in `block in call'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1729:in `synchronize'
/app/vendor/bundle/ruby/2.6.0/gems/sinatra-2.0.4/lib/sinatra/base.rb:1502:in `call'
/app/vendor/bundle/ruby/2.6.0/gems/rack-2.0.6/lib/rack/handler/webrick.rb:86:in `service'
/app/vendor/ruby-2.6.0/lib/ruby/2.6.0/webrick/httpserver.rb:140:in `service'
/app/vendor/ruby-2.6.0/lib/ruby/2.6.0/webrick/httpserver.rb:96:in `run'
/app/vendor/ruby-2.6.0/lib/ruby/2.6.0/webrick/server.rb:307:in `block in start_thread'
```


I have not considered tournament predictors at this time. That topic seems like it might be a book on its own.
All in all, I assume if the executing hardware is that advanced, then tailoring code more towards less advanced/sophisticated hardware should have a negligible impact on performance, and that the advent of many such predictor advancements was to compensate for poor software implementation. But who knows. I still have a lot of reading to do.


> 大佬,收小弟吗?ORZ .你这是完美版了啊! 本来想上来学习写个高仿版的,发现无从下手啊

hhhh 不敢当 不敢当~
可以先看看我的[课程报告](https://github.com/NJU-TJL/PacManX/blob/master/Docs/%E8%AF%BE%E7%A8%8B%E8%AE%BE%E8%AE%A1%E6%8A%A5%E5%91%8A%20-%20%E5%90%83%E8%B1%86%E4%BA%BA%20PacManX.pdf)？
里面对主要的类以及设计思想都有很详细的介绍了...
之后，建议你从main函数开始看，依照程序的运行流程看看每个函数是做什么的（几乎每个函数 我都写好注释啦）...
对了，写这个之前 最好对C++的类与对象比较熟悉~ 所以，如果不是很熟悉的话，最好先学一学类与对象
加油！你可以的~


Successfully deployed to following URLs:

* https://snake-canvas-c8gjno5xh.now.sh
* https://snake-canvas.now.sh
* https://snake-canvas.ugogo.now.sh
* https://snake-canvas-git-master.ugogo.now.sh


Successfully deployed to following URLs:

* https://deeps-x-react-figptg2ze.now.sh
* https://deeps-x-react.now.sh
* https://deeps-x-react.linengca.now.sh
* https://deeps-x-react-git-master.linengca.now.sh


Successfully deployed to following URLs:

* https://snake-canvas-fcjzujojc.now.sh
* https://snake-canvas.now.sh
* https://snake-canvas.ugogo.now.sh
* https://snake-canvas-git-master.ugogo.now.sh


Application for european bowling


I think this change will result in a out-of-bounds access to skewness[shewness.size()]. This second loop seems unnecessary and could probably be just combined in the first one

```
       skewness[i] = std::sqrt(n) * M3 / std::pow(M2, 1.5);
       if (skewness[i] <= 0)
       {
              j = i;
       }
```


Successfully deployed to following URLs:

* https://surveyform-mkkrtqocb.now.sh
* https://surveyform.now.sh
* https://surveyform.folasayo.now.sh
* https://surveyform-git-master.folasayo.now.sh


You may impl directly AlignedArray


for `__getString` this unnecessary)


For information : there are no issue when update question code . This can be done in master.

Why removing this ?


Is it just the version of the mDNS library (https://github.com/philippe44/mDNS-SD) that changed with this release?


Default option should be `iocharset=utf8`. Most of userspace applications now work in UTF-8 encoding and not ISO8859-*. upcase table stored in exfat is really in UTF-16, but is not it what is expected to be used? Convert VFS filename from 8bit encoding to Unicode/UTF-16 and then use upcase table. IIRC exfat upcase table stored on filesystem is there exactly for the reason to know if two filename are same or not. So kernel should not use other uppercase/lowercase conversion mechanism. Otherwise there can be a situation that different exfat implementation (e.g. MS Windows one) would think that two filenames are same and Linux kernel's implementation would think that they are different (as NLS charset2lower() normalization could be different as exfat upcase table).


yes, completely arbitrary
https://git.reactos.org/?p=reactos.git&a=search&h=HEAD&st=grep&sr=1&s=%23define%20image_ordinal


Successfully deployed to following URLs:

* https://game-central-kzea8ne4d.now.sh
* https://game-central.now.sh
* https://game-central.koppawk.now.sh
* https://game-central-git-master.koppawk.now.sh


Fields are supposed to be at the top of the class, the correct order in a class is: usings - class header - fields - properties (with get/set) - constructors - public methods - private methods. If someone wants to look at or use your code, they can easily see which methods they have available to them to use, and also which properties are accessible.


Successfully deployed to following URLs:

* https://builder-qtmnbpyzjx.now.sh
* https://builder-staging.now.sh


Sorry man but this code is not working!


better just `kubectl -n kube-system delete pod -l k8s-app=kube-dns`


Successfully deployed to following URLs:

* https://sugarpatch-tracker-fe-r3dvk7itd.now.sh
* https://sugarpatch-tracker-fe.now.sh
* https://sugartracker.now.sh
* https://sugarpatch-tracker-fe.newtypev2.now.sh
* https://sugarpatch-tracker-fe-git-master.newtypev2.now.sh


I'm fine with explicit version pins in test-requirements.txt


hola


`kubectl -n kube-system delete pod -l k8s-app=node-local-dns`


Successfully deployed to following URLs:

* https://insultapi-7138uc6df.now.sh
* https://insultapi.now.sh
* https://insultapi.noah7545.now.sh
* https://insultapi-git-master.noah7545.now.sh


Successfully deployed to following URLs:

* https://fortstudio2019-52uvaj0ut.now.sh
* https://fortstudio2019.now.sh
* https://fortstudio.com
* https://www.fortstudio.com
* https://fortstudio2019.minniehajj.now.sh
* https://fortstudio2019-git-master.minniehajj.now.sh