# 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.14 | Change |
| - | - | - | - |
| buildDuration | 13.1s | 13.3s | ⚠ +204ms |
| 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.14 | 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.14 | 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.14 | 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.14 | 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.14 | 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.14 | 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 decrease ✓

|  | zeit/next.js canary v9.1.6 | zeit/next.js refs/tags/v9.1.7-canary.14 | Change |
| - | - | - | - |
| index.html gzip | 1.04 kB | 1.04 kB | -2 B |
| link.html gzip | 1.05 kB | 1.04 kB | -2 B |
| withRouter.html gzip | 1.03 kB | 1.03 kB | ✓ |
| Overall change | 3.12 kB | 3.11 kB | -4 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.14'
       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.14'
       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-128b7a4a76c3d30f55c5.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-0153438afa2c01cc02e5.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
-      src="/_next/static/runtime/main-e6c4147e120731ef04d8.module.js"
+      src="/_next/static/runtime/main-128b7a4a76c3d30f55c5.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-128b7a4a76c3d30f55c5.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-0153438afa2c01cc02e5.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
-      src="/_next/static/runtime/main-e6c4147e120731ef04d8.module.js"
+      src="/_next/static/runtime/main-128b7a4a76c3d30f55c5.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-128b7a4a76c3d30f55c5.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-0153438afa2c01cc02e5.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
-      src="/_next/static/runtime/main-e6c4147e120731ef04d8.module.js"
+      src="/_next/static/runtime/main-128b7a4a76c3d30f55c5.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.14 | Change |
| - | - | - | - |
| buildDuration | 14s | 13.9s | -81ms |
| 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.14 | 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.14 | 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.14 | 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.14 | 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.14 | 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.14 | 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.14 | Change |
| - | - | - | - |
| _error.js gzip | 74.8 kB | 78.9 kB | ⚠ +4.04 kB |
| hooks.html gzip | 1.07 kB | 1.07 kB | -2 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.2 kB |


Hi! This is the friendly automated conda-forge-webservice.

I updated the Github team because of this commit.

- @luizirber was added to this feedstock maintenance team.

You should get push access to this feedstock and CI services.

Feel free to join the community [chat room](https://gitter.im/conda-forge/conda-forge.github.io).

NOTE: Please make sure to not push to the repository directly.
      Use branches in your fork for any changes and send a PR.
      More details [here](https://conda-forge.org/docs/maintainer/updating_pkgs.html#forking-and-pull-requests)


if I want to define a variable in case, then a {} is needed.
More, case
{
...
break;
}


okay, makes sense :+1:
Thanks for the explanation


Sorry, forgot to remove listName :)


FLAG{COMMIT-HUNTER}


One would also be needed for the release/3.0 branch


![Difference between blocks](https://raw.githubusercontent.com/qbalion/pxt-rock-paper-scissors/ad635b22aff5eaaa921c6cccfe276030574e419f/.makecode/blocksdiff.png)


Successfully deployed to following URLs:

* https://react-todo-app-b8asuet9v.now.sh
* https://react-todo-app-lovat-ten.now.sh
* https://react-todo-app.ondrejbukartyk.now.sh
* https://react-todo-app-git-master.ondrejbukartyk.now.sh


Successfully deployed to following URLs:

* https://react-redux-router-localstorage-hkytilweu.now.sh
* https://react-redux-router-localstorage.now.sh
* https://react-redux-router-localstorage.jkl.now.sh
* https://react-redux-router-localstorage-git-master.jkl.now.sh


Do we really need this dependency?


![Difference between blocks](https://raw.githubusercontent.com/qbalion/pxt-rock-paper-scissors/dc2f7f8a61814bddc36544159240c93aff5c4dd9/.makecode/blocksdiff.png)


Successfully deployed to following URLs:

* https://ecommercio-6e7sbsgjq.now.sh
* https://ecommercio.now.sh
* https://ecommercio.atorczynski.now.sh
* https://ecommercio-git-master.atorczynski.now.sh


This naming is a bit verbose and transient doesn't have much meaning (IMO) outside of the DI container context.


I would just call this HubFactory


Successfully deployed to following URLs:

* https://okansblog-iev2yjshh.now.sh
* https://okansblog.now.sh
* https://okansblog.okandvn.now.sh
* https://okansblog-git-master.okandvn.now.sh


WithHub? UseHub? Hub?


Successfully deployed to following URLs:

* https://backend-cy9mla51u.now.sh
* https://api.neutral.af
* https://backend-staging.neutral-af.now.sh
* https://backend.neutral-af.now.sh
* https://backend-git-master.neutral-af.now.sh


Successfully deployed to following URLs:

* https://blog-98moqcum9.now.sh
* https://blog-sage-five.now.sh
* https://svbn.me
* https://blog.zetetic.now.sh
* https://blog-git-master.zetetic.now.sh


Successfully deployed to following URLs:

* https://bapa-qh46okh09.now.sh
* https://bapa.drepram.com
* https://bapa.drepram.now.sh
* https://bapa-git-master.drepram.now.sh


Successfully deployed to following URLs:

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


Is it actually a wrong practice or is copying faster in that case?


Hmm these two lines are surprising to me. Do you expect this to raise an IndexError?


Colors will be in flux for some time yet. Don't worry about the Preview
link colors.

I'll take a look at the scrollbars stuff, but keep in mind that I'd rather
not use any hardcoded pixel sizes there (even if they don't match the Qt
scrollbars exactly). When it comes to hidpi scaling on Windows, fixed sizes
won't scale properly. Ends up looking wonky on huge/tiny screens.

On Sun, Jan 5, 2020, 5:50 PM Becky <notifications@github.com> wrote:

> Some comments:
>
>    - Current colors for links in injected css (red and green) do not have
>    adequate contrast ratio on a dark background.
>
> [image: sigil-preview-colors-for-links]
> <https://user-images.githubusercontent.com/22416021/71787078-48ac8880-3013-11ea-9012-837f2ebcb982.png>
>
> Proposed change:
> red -> # ff9999;
> green -> # 99ff99;
>
> BTW: In Sigil, I have probably never seen a change of color in the links
> visited. I guess the way the data in the Preview pane is cached doesn't
> allow it.
>
>    - In parallel with @dougmassay <https://github.com/dougmassay> I
>    prepared scrollbar support in the dark mode for the preview window.
>    I drew the appropriate graphics and changed the colors a little to
>    adapt to the default "fusion" style in Windows. I attach a file for
>    checking and possible implementation.
>    The current compliance with the original style is almost 100% (I did
>    not implement gradients so as not to unnecessarily increase the size of the
>    injected file).
>
> win_dark_scrollbar-css.zip
> <https://github.com/Sigil-Ebook/Sigil/files/4024142/win_dark_scrollbar-css.zip>
>
> —
> You are receiving this because you were mentioned.
> Reply to this email directly, view it on GitHub
> <https://github.com/Sigil-Ebook/Sigil/commit/58549079f670f3d667077fa9898683d0b51a3ce9?email_source=notifications&email_token=ACG3CXRSW55CNMBMATLDYPTQ4JP5BA5CNFSM4KC5RRBKYY3PNVWWK3TUL52HS4DFVVBW63LNNF2EG33NNVSW45FKMNXW23LFNZ2F62LEZYBC7BK3#commitcomment-36668763>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/ACG3CXWEICJA7ZTPWKURTKDQ4JP5BANCNFSM4KC5RRBA>
> .
>


@JuliaRegistrator Register


Error while trying to register: Action not recognized: Register


*.cpp


Successfully deployed to following URLs:

* https://hangang-river-api-4noxxffpb.now.sh
* https://hangang-river-api.now.sh
* https://hangang-river-api.legitcode267.now.sh
* https://hangang-river-api-git-master.legitcode267.now.sh


Successfully deployed to following URLs:

* https://s33d-web-8siwqn2r2.now.sh
* https://s33d.art
* https://s33d-web.s33d.now.sh
* https://s33d-web-git-master.s33d.now.sh


Successfully deployed to following URLs:

* https://wikichronica-68lu2v1wx.now.sh
* https://wiki.chronica.xyz
* https://www.wiki.chronica.xyz
* https://wikichronica.ckipp01.now.sh
* https://wikichronica-git-master.ckipp01.now.sh


Successfully deployed to following URLs:

* https://api-project-frontend-hv7hk6jr1.now.sh
* https://api-project-frontend.now.sh
* https://api-project-frontend.afgarcia666.now.sh
* https://api-project-frontend-git-master.afgarcia666.now.sh


Deployment failed with the following error:

~~~
Your `package.json` file is missing a `build` property inside the `scripts` property.
~~~


关于党员性别查询的最终改动1122


Successfully deployed to following URLs:

* https://react-typing-speed-test-game-cg9f6xbz5.now.sh
* https://typingspeedtest.now.sh
* https://react-typing-speed-test-game.awran5.now.sh
* https://react-typing-speed-test-game-git-master.awran5.now.sh


please review before commit


instead of alert, use https://www.npmjs.com/package/ngx-toastr


Successfully deployed to following URLs:

* https://live-pelican-h1kdmfed4.now.sh
* https://live-pelican.now.sh
* https://live-pelican.epsi.now.sh
* https://live-pelican-git-master.epsi.now.sh


no logs


Missing dots


Same


# 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)|


use private authenticationService: AuthenticationService instead of injector


delete this


asd


not necessary to move token into a separate variable as you use it just once and it's kind of short


aSD


why a new line?


@msinn is telling me on gitter, no multi layered confs are possible to read via plugin.yaml. so this is an invalid config:

```
database:
    plugin_name: database
    driver: pymysql
    connect:
        host: 127.0.0.1
        user: root
        passwd: xxx
        port: 3307
        db: smarthome
    instance: mysqldb
```


sku , publisher , type -- do we need it? if so why it is not needed in /offers api above


this script is not completed why it was included?


It's disabled by default and for my testing purposes.


Very good, that works solid. Regarding the paper-thin sprite: Would a model work better here?


The last version for travis CI is bionic.
https://docs.travis-ci.com/user/reference/linux/

Consider use a temporal branch to made this changes in order to keep master branch clean.


Successfully deployed to following URLs:

* https://code2go-izynfptwg.now.sh
* https://*.code2go.dev
* https://code2go.dev
* https://code2go.medienwerk.now.sh
* https://code2go-git-master.medienwerk.now.sh


Successfully deployed to following URLs:

* https://sdv-qnq03p0hf.now.sh
* https://sdv-iota-one.now.sh
* https://sdv.msroed.now.sh
* https://sdv-git-master.msroed.now.sh


Successfully deployed to following URLs:

* https://samp-servers-frontend-fepnfz2hs.now.sh
* https://samp-servers-frontend.now.sh
* https://samp-servers.net
* https://www.samp-servers.net
* https://samp-servers-frontend.southclaws.now.sh
* https://samp-servers-frontend-git-master.southclaws.now.sh


ok


Second commit note should read: "mina_katari21: removed stray comma"


The build is broken for gcc 8 after this commit. I can fix that tonight, i'll send you a PR.


어떤 변수형이든 가장 큰 값을 쓸 때, 검증을 하고 쓰고 특별한 경우가 아닌이상 지양하고 적당히 큰 값을 쓰는 것이 좋습니다.


thanks for correction :smile:


h


# Remontowo.pl
Usługi budowlane i remontowe


Successfully deployed to following URLs:

* https://engrenagemfixa-ia8pz17l8.now.sh
* https://engrenagemfixa.now.sh
* https://engrenagemfixa.nandomoreira.dev
* https://engrenagemfixa.nandomoreira.now.sh
* https://engrenagemfixa-git-master.nandomoreira.now.sh


Good call, especially because I use "active" as a boolean in my Tab.js component


Thanks


Also this change has broken everything that uses COM objects on Windows. Because `VARIANT` type uses 2 unions inside. As a result, MS UI Automation API (`UIAutomationCore.dll`) can't be used through `comtypes` package.

See https://github.com/pywinauto/pywinauto/issues/868


❌ Status for 'xamarin-macios - sample testing (build)': [failure](https://dev.azure.com/xamarin//internal/_build/results?buildId=12185).

* ❌ Debug_iPhone_AF: Failed
* ❌ Debug_iPhone_GR: Failed
* ❌ Debug_iPhone_SZ: Failed
* ❌ Debug_iPhoneSimulator: Failed
* ❌ Release_iPhone_AF: Failed
* ❌ Release_iPhone_GR: Failed
* ❌ Release_iPhone_SZ: Failed
* ❌ Release_iPhoneSimulator: Failed
* ✅ Debug_Mac: Succeeded
* ✅ Release_Mac: Succeeded


use druid to optimisize code.


Successfully deployed to following URLs:

* https://code2go-l1lrkkb8u.now.sh
* https://*.code2go.dev
* https://code2go.dev
* https://code2go.medienwerk.now.sh
* https://code2go-git-master.medienwerk.now.sh


I don't see how destructuring the variables makes it less "magic" but I definitely do like the cleaner syntax.

I used onClick because that's the function you use for html elements (like the "onClick" in the <p> element). By using onClick, it keeps the consistency as if my custom Tab component functions like a <p> element in that way.


very good


Yeah I have the bad habit of just keeping them there in case I need them later and pushing messy code onto the repo with the intention that I'll go through and remove them all when the site is live. I should stop.


Successfully deployed to following URLs:

* https://engrenagemfixa-nnrlqcq7g.now.sh
* https://engrenagemfixa.now.sh
* https://engrenagemfixa.nandomoreira.dev
* https://engrenagemfixa.nandomoreira.now.sh
* https://engrenagemfixa-git-master.nandomoreira.now.sh


Successfully deployed to following URLs:

* https://portfolio-mdpp9akxt.now.sh
* https://www.osarogie.com
* https://osarogie.com
* https://portfolio.nosa5.now.sh
* https://portfolio-git-master.nosa5.now.sh


Nah I'm shuffling an array of integers 0 to 19.


Successfully deployed to following URLs:

* https://docs-mfmrjushj.now.sh
* https://newdocs.hivedb.dev
* https://hivedb.dev
* https://docs.hivedb.dev
* https://docs.leisim.now.sh
* https://docs-git-master.leisim.now.sh


Successfully deployed to following URLs:

* https://occasio-home-ljlscqag5.now.sh
* https://occasio-partners.com
* https://occasio-home.occasio-partners1.now.sh
* https://occasio-home-git-master.occasio-partners1.now.sh


pitäs olla !todo.isDone


The button text could also be displayed abbreviated if a time range from the same day has been selected
by replacing this line to
```js
if (picker.startDate.format('L') === picker.endDate.format('L'))
{
    // Abbreviated button text for time range on the same day
    $(this).children('span').text(picker.startDate.format(dateformat) + " to " + picker.endDate.format("HH:mm"));
} else {
    $(this).children('span').text(picker.startDate.format(dateformat) + " to " + picker.endDate.format(dateformat));
};
```
<img width="253" alt="short" src="https://user-images.githubusercontent.com/28313514/71744883-e44dc580-2e68-11ea-929b-1d25cbe512e2.png">

(also in `db_lists.js` and `db_queries.js`).


Test passed!


Successfully deployed to following URLs:

* https://occasio-home-bxff081s6.now.sh
* https://occasio-partners.com
* https://occasio-home.occasio-partners1.now.sh
* https://occasio-home-git-master.occasio-partners1.now.sh


@LuciaKr stvorec sa Ti odraza iba po x-ovej osi
a je tam nejaka dost velka fuga pri odrazani (ma sa odrazat od okraja)
zatial mas **2-**
mozes si to ale opravit


Successfully deployed to following URLs:

* https://wp-js-frontend-bsvlkeqm0.now.sh
* https://wp-js-frontend.now.sh
* https://wp-js-frontend.froden.now.sh
* https://wp-js-frontend-git-master.froden.now.sh


deleted


Successfully deployed to following URLs:

* https://sdv-bds7ak8r9.now.sh
* https://sdv-iota-one.now.sh
* https://sdv.msroed.now.sh
* https://sdv-git-master.msroed.now.sh


First congratulations on the application. Making a package available, or executable, would be very interesting. Especially for novice users who don't want to install several GTK + development libraries to compile the application.


Was it 2ms before?! This was not intentional! :)
@ebroto - I think you have a lot more context on this than me. What do you think should be for other OSes? For mac the sweet-spot seems to be 1s right now. I want to solve this issue in a non-hacky way in the future, but for now...?


Deletando commit


"Works on my laptop"?


CI Integrated


Successfully deployed to following URLs:

* https://xero-to-bankline-nd68v9mcp.now.sh
* https://xero-to-bankline.now.sh
* https://xero-to-bankline.rorymal.com
* https://xero-to-bankline.rorymalcolm.now.sh
* https://xero-to-bankline-git-master.rorymalcolm.now.sh


Wrong direction. Probably need to discard DBC altogether (illumin8ti) but would like to adjust his PID values.  steering is all wonky


Successfully deployed to following URLs:

* https://pw20-ez1mfyg0w.now.sh
* https://pw20.heathblandford.now.sh
* https://pw20-git-master.heathblandford.now.sh


This commit goes back to stock DBC file, but uses "bob" PID values.  Hoping to smooth out steering and acceleration.


Successfully deployed to following URLs:

* https://multi-condition-filter-3r61keh8i.now.sh
* https://multi-condition-filter.now.sh
* https://multi-condition-filter.l42.now.sh
* https://multi-condition-filter-git-master.l42.now.sh


I think `<nix/config.nix>` should be considered a public api that nix currently exposes. It's used in various places outside of nixpkgs and is quite useful for "trivial" derivations in cases where depending on nixpkgs is undesirable.


Successfully deployed to following URLs:

* https://awesomejsdev-7m5wtce2q.now.sh
* https://awesomejsdev-git-dev.akryum.now.sh


UNSIGNED, FLOAT, BIT and BYTE still not working in TYPE blocks, given they're parsed even before metacommands. That's still being investigated.


Successfully deployed to following URLs:

* https://blog-8gumf9ll2.now.sh
* https://alanchoi.dev
* https://blog.alanchoi.now.sh
* https://blog-git-master.alanchoi.now.sh


The token icon is yet to display on Trust Wallet. What could be the cause?


This look neat. Can you please file a pull request to the upstream project. You should probably revert the url changes you did in some places. Thanks!


Successfully deployed to following URLs:

* https://taverntainmentcom-ojyk1thqu.now.sh
* https://taverntainment.now.sh
* https://taverntainmentcom.madebyglutard1.now.sh
* https://taverntainmentcom-git-master.madebyglutard1.now.sh


dans real floss


A importação da dependência está feita conforme a instrução da aula


skin basic


again, WTF
it's a moto script for wifi carrier parameters


danse ikonik


Reverted.


danse floss


skins ikonik


2020-01-04 20:40:28.778059
2020-01-04 20:40:28.778141+00:00

(I am in Italy - my local time is 21:40)


Successfully deployed to following URLs:

* https://engrenagemfixa-amb9x57n0.now.sh
* https://engrenagemfixa.now.sh
* https://engrenagemfixa.nandomoreira.dev
* https://engrenagemfixa.nandomoreira.now.sh
* https://engrenagemfixa-git-master.nandomoreira.now.sh


yeah need to define vendor_camera_prop if not defined already which i highly doubt...


Successfully deployed to following URLs:

* https://pawprint-app-1eieo101j.now.sh
* https://pawprint-app.now.sh
* https://pawprint-app.cophaso.now.sh
* https://pawprint-app-git-master.cophaso.now.sh


Здесь коммент небольшой, можно обойтись однострочным.


Successfully deployed to following URLs:

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


how is this working?


will need to check


> Продолжил ковыряние файла Key-6.dat:
> Если взять DSTU4145Params из "НАКАЗ 20.08.2012 No 1236/5/453 Про затвердження вимог до форматів, структури та протоколів, що реалізуються у надійних засобах електронного цифрового підпису", то соответствующий KEPPrivateKeyDSTU4145Params будет примерно такой:
>
> ```
> KEPPrivateKeyDSTU4145Params ::= SEQUENCE {
> 	ecbinary KEPPrivateKeyECBinary, -- параметри еліптичної кривої загального виду
> 	dke1 OCTET STRING,  -- довгостроковий ключовий елемент (ДКЕ)
> 	dke2 OCTET STRING OPTIONAL }
>
> KEPPrivateKeyECBinary ::= SEQUENCE {
> 		f KEPPrivateKeyBinaryField,
> 		a INTEGER (0..1), -- коефіцієнт A еліптичної кривої
> 		b OCTET STRING, --  коефіцієнт B еліптичної кривої (байты в обратном порядке по сравнению с DSTU4145Params)
> 		n INTEGER, -- порядок базової точки (додатне)
> 		bp OCTET STRING	} -- базова точка еліптичної кривої (байты в обратном порядке по сравнению с DSTU4145Params)
>
> KEPPrivateKeyBinaryField ::= SEQUENCE {
> m INTEGER, -- ступінь розширення основного поля
> CHOICE {
> 	KEPPrivateKeyTrinomial, -- примітивний тричлен
> 	KEPPrivateKeyPentanomial } OPTIONAL } -- примітивний п’ятичлен
>
> KEPPrivateKeyTrinomial ::= INTEGER
>
> KEPPrivateKeyPentanomial ::= SEQUENCE {
> 	l INTEGER,
> 	j INTEGER,
> 	k INTEGER }
> ```
>
> Лежит в поле attributes с ключом 1.3.6.1.4.1.19398.1.1.2.2.
> Сам ключ лежит в поле attributes с ключом 1.3.6.1.4.1.19398.1.1.2.3 - KEPPrivateKey (в каждом байте биты "перевернуты"). Его парсит нормально pkcs8_get_kep_privatekey().

спасибо,

> Продолжил ковыряние файла Key-6.dat:
> Если взять DSTU4145Params из "НАКАЗ 20.08.2012 No 1236/5/453 Про затвердження вимог до форматів, структури та протоколів, що реалізуються у надійних засобах електронного цифрового підпису", то соответствующий KEPPrivateKeyDSTU4145Params будет примерно такой:
>
> ```
> KEPPrivateKeyDSTU4145Params ::= SEQUENCE {
> 	ecbinary KEPPrivateKeyECBinary, -- параметри еліптичної кривої загального виду
> 	dke1 OCTET STRING,  -- довгостроковий ключовий елемент (ДКЕ)
> 	dke2 OCTET STRING OPTIONAL }
>
> KEPPrivateKeyECBinary ::= SEQUENCE {
> 		f KEPPrivateKeyBinaryField,
> 		a INTEGER (0..1), -- коефіцієнт A еліптичної кривої
> 		b OCTET STRING, --  коефіцієнт B еліптичної кривої (байты в обратном порядке по сравнению с DSTU4145Params)
> 		n INTEGER, -- порядок базової точки (додатне)
> 		bp OCTET STRING	} -- базова точка еліптичної кривої (байты в обратном порядке по сравнению с DSTU4145Params)
>
> KEPPrivateKeyBinaryField ::= SEQUENCE {
> m INTEGER, -- ступінь розширення основного поля
> CHOICE {
> 	KEPPrivateKeyTrinomial, -- примітивний тричлен
> 	KEPPrivateKeyPentanomial } OPTIONAL } -- примітивний п’ятичлен
>
> KEPPrivateKeyTrinomial ::= INTEGER
>
> KEPPrivateKeyPentanomial ::= SEQUENCE {
> 	l INTEGER,
> 	j INTEGER,
> 	k INTEGER }
> ```
>
> Лежит в поле attributes с ключом 1.3.6.1.4.1.19398.1.1.2.2.
> Сам ключ лежит в поле attributes с ключом 1.3.6.1.4.1.19398.1.1.2.3 - KEPPrivateKey (в каждом байте биты "перевернуты"). Его парсит нормально pkcs8_get_kep_privatekey().

Очевидно что ваши структуры не правильные.
И почему вы добавляете приставку KEP?


들여쓰기가 맞지 않는데 이유가 있는건가요?


이 div는 왜 혼자 앞에...


what is your prefered solution ? the first or the second ? :)


Successfully deployed to following URLs:

* https://yukihunt-3twf30bh7.now.sh
* https://yukihunt.now.sh
* https://yukihunt.brianslho.now.sh
* https://yukihunt-git-master.brianslho.now.sh


왜 토탈이죠 무슨 총합인가요?


Just wondering, why does it have to be a sandbox node when it is nested?


drop


remove unused import


replace all code with just
```objc
@implementation TVOSKeyboardView
@end
```


Successfully deployed to following URLs:

* https://jinvengithubio-qbkt5chep.now.sh
* https://jinwen.now.sh
* https://jinvengithubio.jinwen.now.sh
* https://jinvengithubio-git-master.jinwen.now.sh


failed


Successfully deployed to following URLs:

* https://whatcolourhoodieiskevinwearingtodaycom-mfh7idd04.now.sh
* https://whatcolourhoodieiskevinwearingtoday.com
* https://whatcolourhoodieiskevinwearingtodaycom.kevincarrogan.now.sh
* https://whatcolourhoodieiskevinwearingtodaycom-git-master.kevincarrogan.now.sh


Successfully deployed to following URLs:

* https://portfoliosite-qbtrsqat3.now.sh
* https://simontaggart.com
* https://www.simontaggart.com
* https://portfoliosite.sitaggart.now.sh
* https://portfoliosite-git-master.sitaggart.now.sh


Successfully deployed to following URLs:

* https://aremycolorsaccessible-eku91x30d.now.sh
* https://aremycoloursaccessible.com
* https://aremycolorsaccessible.com
* https://www.aremycolorsaccessible.com
* https://www.aremycoloursaccessible.com
* https://aremycolorsaccessible.sitaggart.now.sh
* https://aremycolorsaccessible-git-master.sitaggart.now.sh


Shadow Analysis


If anything, the additional code styles are due to code implemented by contributing authors. Personally, I use JavaScript standard style with 4 space indentation.


c


Successfully deployed to following URLs:

* https://national-parks-qefc8iopy.now.sh
* https://national-parks.now.sh
* https://national-parks.jsnkng.now.sh
* https://national-parks-git-master.jsnkng.now.sh


Successfully deployed to following URLs:

* https://recipeak-client-b4y6837k3.now.sh
* https://recipeak-client.now.sh
* https://recipeak-client.alexanderfukui.now.sh
* https://recipeak-client-git-master.alexanderfukui.now.sh


[![Visit Site](https://raw.githubusercontent.com/pantheon-systems/terminus-build-tools-plugin/master/assets/images/visit-site-36.png)](https://pr-29-civitest3.pantheonsite.io/)

Created multidev environment [pr-29](https://dashboard.pantheon.io/sites/a7a102ca-d925-4edb-b1f6-8480abe59310#pr-29) for civitest3.


> Any docs about incremental parsing? All compilers uses it, even TS uses incremental parsing as part of their compiler.
> How do you plan to implement it?
> Did you consider it could be overhead with the lexer + parser when you first 1) lex 2) parse 3) create ast 4) bind and create ast ?

At the moment I don't have any concrete plans for how the implementation will work. Really the only goal I have for the implementation is that I do it in a way that allows me to create a good [LSP](https://langserver.org/) server for Spearmint. Speed and memory efficiency are good, but will not be my main focus unless compile times are painfully slow.

As briefly mentioned in this readme, I plan to keep working on the specification until I think it's at a good "v1.0.0" stage, and only then will I start working on a concrete implementation of a compiler. I've got a few other hobby projects going in the meantime that *are* concrete compiler implementations (for other languages), so hopefully by the time I start on the Spearmint compiler I'll be a bit more knowledgeable in terms of how to create a good compiler that can support stuff like incremental parsing :)


Successfully deployed to following URLs:

* https://site-bef6tr84x.now.sh
* https://site-red-chi.now.sh
* https://beenform.co
* https://site.ezehuche.now.sh
* https://site-git-master.ezehuche.now.sh


@JuliaRegistrator register


Error while trying to register: "Tag with name `0.1.0` already exists and points to a different commit"


Successfully deployed to following URLs:

* https://now-github-starter-d22xqh05n.now.sh
* https://now-github-starter-nine-umber.now.sh
* https://now-github-starter.madargal.now.sh
* https://now-github-starter-git-master.madargal.now.sh


Line 257 should be outside the catch, otherwise the loop would not progress unless there's an exception?


Well, the standard file open/save dialogs started saying that they don't understand the forward slashes in paths (that's in Windows 10, but I'm not sure when it started, maybe in Widows 7 or 8 when they rewrote those dialogs from scratch and broke many things, like tab order, etc. in there). You can test this in Firefox, for example: press Ctrl-O, paste a [relative] path with forward slashes in the File name field, press Enter and watch it complain. But that never went deeper than the crappy new GUI, and there certainly was never any case sensitivity in paths.


Looks good!


I think we should not support locals in templates if possible. In order for layouts to accept locals we would need to compile a separate template for each layout, which would end up with a lot of duplicate templates for apps which use locals when rendering from the controller (ie. if `UserController#show` does `render "show", locals: { user: user }` we need to compile an `application.html.erb` template with the `user` local even if it doesn't use it).


Missing `` ` `` ?


Successfully deployed to following URLs:

* https://pollen-tracker-d4d3ibijz.now.sh
* https://pollen-tracker.now.sh
* https://pollen-tracker.dblechoc.now.sh
* https://pollen-tracker-git-master.dblechoc.now.sh


自动构建 [auto-dragalia-c035b820.zip](https://circleci.com/gh/NateScarlet/auto-dragalia/792/artifacts/0/home/circleci/project/artifacts/auto-dragalia-c035b820.zip)


Successfully deployed to following URLs:

* https://github-vuer-453jyxb15.now.sh
* https://vuer.now.sh
* https://github-vuer.cadekynaston.now.sh
* https://github-vuer-git-master.cadekynaston.now.sh


Deployment failed with the following error:

~~~
The property `route` is not allowed in now.json when using Now 2.0 – please remove it.
~~~


自动构建 [auto-dragalia-ac1e7b9f.zip](https://circleci.com/gh/NateScarlet/auto-dragalia/794/artifacts/0/home/circleci/project/artifacts/auto-dragalia-ac1e7b9f.zip)


Successfully deployed to following URLs:

* https://jobify-eo60gtvdy.now.sh
* https://jobify-theta-flax.now.sh
* https://jobify.viniparizoto.now.sh
* https://jobify-git-master.viniparizoto.now.sh


Successfully deployed to following URLs:

* https://bestie-r24he3t7c.now.sh
* https://bestie.now.sh
* https://bestie.pashatay.now.sh
* https://bestie-git-master.pashatay.now.sh


@Jurmakk

mas zatial **2** mozes si opravit ak 1 vlak (vagoniky rovnakej farby) nakreslis pomocou for cyklu


Successfully deployed to following URLs:

* https://apollo-typescript-boilerplate-koos91d5r.now.sh
* https://apollo-typescript-boilerplate-ivory-three.now.sh
* https://apollo-typescript-boilerplate.tanas.now.sh
* https://apollo-typescript-boilerplate-git-master.tanas.now.sh