@olebowle Wie hast du das denn wieder rausgekriegt?


rr


Successfully deployed to following URLs:

* https://cloudbin-578q1vjik.now.sh
* https://cloudbin.host
* https://cloudbin.tehkapa.now.sh
* https://cloudbin-git-master.tehkapa.now.sh


build


Successfully deployed to following URLs:

* https://commercetools-docs-kit-b72g1i3d8.now.sh
* https://commercetools-docs-kit.now.sh
* https://commercetools-docs-kit.commercetools.now.sh
* https://commercetools-docs-kit-git-master.commercetools.now.sh


Successfully deployed to following URLs:

* https://merchant-center-application-kit-87zqa53ti.now.sh
* https://mc-custom-applications.now.sh
* https://merchant-center-application-kit.commercetools.now.sh
* https://merchant-center-application-kit-git-master.commercetools.now.sh


vâng ạ

Vào Th 2, 30 thg 12, 2019 vào lúc 15:51 Nguyễn Văn Hiệp <
notifications@github.com> đã viết:

> đây nữa
>
> —
> You are receiving this because you authored the thread.
> Reply to this email directly, view it on GitHub
> <https://github.com/thanglolimeo1/Website_ban_hang/commit/a3c600adfeb42cce83c80ea615426205071b91a7?email_source=notifications&email_token=AMBUMHL4OJUCDUDAQTADKD3Q3GZCBA5CNFSM4KBKKVP2YY3PNVWWK3TUL52HS4DFVVBW63LNNF2EG33NNVSW45FKMNXW23LFNZ2F62LEZYBC5HFP#commitcomment-36609199>,
> or unsubscribe
> <https://github.com/notifications/unsubscribe-auth/AMBUMHPLV5J5GTIYCFW2UUTQ3GZCBANCNFSM4KBKKVPQ>
> .
>


No, you don't need the error output.the exit status would be enough. You would capture the garbage of  stdour and you would not have a list of files to catch


Successfully deployed to following URLs:

* https://ishakuni-frontend-fgaethb9w.now.sh
* https://ishakuni.com
* https://www.ishakuni.com
* https://ishakuni-frontend.caulagi.now.sh
* https://ishakuni-frontend-git-master.caulagi.now.sh


金科路


sorry, I don't know anymore - it's over a year ago. Feel free to re-change it if you need


I can assure you that happens :) and you would have difficult errors to catch


여기에 house 에 관련된 데이터를 blog-post 에서 받으려면 어떻게 해야할지?

그리고 여기서 사용된 slug 라는 변수는 blog-post 에서 어떻게 받은 것인지 알듯 말듯 합니다.


If so, what's the solution?


elif → if


thanks


@olebowle just a hint: I think we should use this syntax if we can:
DB::connection(...)->table('poller')->where('name', 'Main Poller')->update(['processes' => 1]);


__theme_COLOR_cfg 是window下面的原生属性吗？为什么在window下面没找到这个属性，能给个资料吗？谢谢


Successfully deployed to following URLs:

* https://surreal-tales-hxpa5zv4k.now.sh
* https://surreal-tales.now.sh
* https://surreal-tales.benjamintanghz.now.sh
* https://surreal-tales-git-master.benjamintanghz.now.sh


# 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://vuepress-36oyc0l5k.now.sh
* https://gudong.im
* https://artbook.now.sh
* https://www.gudong.im
* https://*.gudong.im
* https://vuepress.artskin.now.sh
* https://vuepress-git-master.artskin.now.sh


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

~~~
We could not create a certificate for akcn.mrfz.xyz because HTTP pretest failed. Please ensure the CNAME for akcn.mrfz.xyz points to "alias.zeit.co". You can find more information at https://err.sh/now-cli/cant-solve-challenge.
~~~

([Learn more](https://zeit.co/niksend/aktools/ii8vzy9ok) or [visit](https://aktools-ii8vzy9ok.now.sh) the non-aliased deployment)


DObro je, da na model-u pripraviš docs za model parametre, s čimer dobiš autocompletion in type check.

/**
 * @property string $quation
 * @property string $answer
 * @property-read Faq|null $parentExample
 * @property array $customProperty
 *
 * @property-read string $customReadOnlyProperty
 *
 * Class Faq
 * @package App
 */


Successfully deployed to following URLs:

* https://ui-kit-86akizuli.now.sh
* https://ui-kit-five-rho.now.sh
* https://uikit.commercetools.com
* https://ui-kit.commercetools.now.sh
* https://ui-kit-git-master.commercetools.now.sh


Predlagam uporabo https://laravel.com/docs/6.x/eloquent-relationships#one-to-many-inverse


兄弟  我也米有  fork到本地的  原作者可能有

------------------ 原始邮件 ------------------
发件人: "wzbarbara"<notifications@github.com>;
发送时间: 2019年12月30日(星期一) 中午11:55
收件人: "feidapeng/2016CCF_StateGrid_UserProfile"<2016CCF_StateGrid_UserProfile@noreply.github.com>;
抄送: "小CC"<277683072@qq.com>;"Comment"<comment@noreply.github.com>;
主题: Re: [feidapeng/2016CCF_StateGrid_UserProfile] Update readme.md (2222ed3)

能否提供rawdata信息，链接已经失效，邮箱:1160816887@qq.com，谢谢！

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub, or unsubscribe.


In https://laravel.com/docs/6.x/eloquent-mutators#attribute-casting


TeamCity MAS / MAS [Build 1.0.0.330](https://teamcity.nice.org.uk/viewLog.html?buildId=63615&buildTypeId=Mas_Mas) outcome was **FAILURE**
Summary: Exit code 1 (Step: Set build number (Command Line)) (new) Build time: 00:00:27


This is similar to my first option with destroy, which you rejected =)


DObra praksa je, da vedno delaš s paginacijo, ker nikoli ne veš koliko zapisov obstaja.


Successfully deployed to following URLs:

* https://bp-jkve40ddm.now.sh
* https://bp-two-sand.now.sh
* https://bp.importantigravity.now.sh
* https://bp-git-master.importantigravity.now.sh


nice ;)


Če za EDIT in CREATE uporabljaš enak view/template, bi lahko za create imel nekaj v smislu

`$faq = new Faq();
        return view('faqs.edit')->withFaq($faq);`


Merge from development


@dinkumoil There is an issue with FTPS and FTPES, see https://github.com/ashkulz/NppFTP/issues/265 with the 0.30.x series after OpenSSL update to 1.1.1


Successfully deployed to following URLs:

* https://haipit-next-i5vcoqzja.now.sh
* https://haipit-next.sawaxon.now.sh
* https://haipit-next-git-master.sawaxon.now.sh


Successfully deployed to following URLs:

* https://wdmcheng-82yfq9oij.now.sh
* https://wdmcheng.now.sh
* https://wudumicheng.now.sh
* https://wdmc.now.sh
* https://wdmcheng.wdmcheng.now.sh
* https://wdmcheng-git-master.wdmcheng.now.sh


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

~~~
We could not create a certificate for akcn.mrfz.xyz because HTTP pretest failed. Please ensure the CNAME for akcn.mrfz.xyz points to "alias.zeit.co". You can find more information at https://err.sh/now-cli/cant-solve-challenge.
~~~

([Learn more](https://zeit.co/niksend/aktools/40uw9zds1) or [visit](https://aktools-40uw9zds1.now.sh) the non-aliased deployment)


Če bi kasneje odstranil middleware v routes, bi tole odletelo. Dobro je imeti double check, če je uporabnik definiran.


@reasonDheeraj awesome work, nice to see this.


@JuliaRegistrator `register()`


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

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.8.1 -m "<description of version>" 8c49375ece33d3064320c86f118c2f933b434e65
git push origin v0.8.1
```


Mislim, da lahko success sporočilo podaš kar v redirect-u v redirect()->something()->with(['success' => 'with message'])


You can have e.g. a separate channel for the errors, but when you can't mix them if you expect json only as output


Predlagam ModelBindings https://laravel.com/docs/6.x/routing#implicit-binding

in handling, če ID ne obstaja / naj izpiše 404


What is the purpose of this change and the addition of the rule IGNORE_LATIN_AD in disambiguation.xml? What advantages does this change give?


TeamCity MAS / MAS [Build 1.0.0.331-MAS-111-StaticSiteFi](https://teamcity.nice.org.uk/viewLog.html?buildId=63616&buildTypeId=Mas_Mas) outcome was **SUCCESS**
Summary: Running Build time: 00:06:37


Handle ID does not exists


The project is based on Twilio API Setup will be upload soon


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

~~~
We could not create a certificate for akcn.mrfz.xyz because HTTP pretest failed. Please ensure the CNAME for akcn.mrfz.xyz points to "alias.zeit.co". You can find more information at https://err.sh/now-cli/cant-solve-challenge.
~~~

([Learn more](https://zeit.co/niksend/aktools/41l9tpox9) or [visit](https://aktools-41l9tpox9.now.sh) the non-aliased deployment)


V vedenje, da lahko kot parameter posreduješ samo model, ker sam preveri in razbere. Prav tako imaš možnost kasnejšega spreminjaja "ključa", ki ga uporabiš v route-i. Recimo SLUG namesto ID


We'll consider it when you fix the pull request!


Successfully deployed to following URLs:

* https://portfolio-jeqrwngl0.now.sh
* https://md.wunnle.dev
* https://portfolio.wunnle.now.sh
* https://portfolio-git-master.wunnle.now.sh


Successfully deployed to following URLs:

* https://aquabastwebuiprototype-hl3oe2mxw.now.sh
* https://aquabastwebuiprototype.sergiorudenko.now.sh
* https://aquabastwebuiprototype-git-master.sergiorudenko.now.sh


Successfully deployed to following URLs:

* https://ngocdh-betq15s31.now.sh
* https://ngocdh.now.sh
* https://ngocdh.ngocdh236.now.sh
* https://ngocdh-git-master.ngocdh236.now.sh


Your commit is not correct because whitelist and blacklist functions are not view functions because they modified state.


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

~~~
The chosen alias "kontaktar2.now.sh" is already in use.
~~~

([Learn more](https://zeit.co/kontaktar/www/llgnsegjv) or [visit](https://www-llgnsegjv.now.sh) the non-aliased deployment)


Ideea enum-ului este sa asociati si sa grupati niste valori fixe, in cazul acesta "Male" si "Female" cu valori numerice. Tii minte ca ziceam ca pt orice caracter de fapt in spate e tot un integ, deci tu cand asociezi Male = 'M' de fapt asociaza cu numarul 77 - https://www.dotnetperls.com/ascii-table
Deobicei se definesc asa:
public enum Gender
{
    Male = 0,
    Female = 1
}


@ka-weihe could you maybe randomize iteration (Go randomizes it as well) **by default** to avoid

1. wrong programmer assumptions immediately
2. avoid easy attack vectors like https://github.com/rust-lang/rust/issues/36481 ([potential solution](https://github.com/rust-lang/rust/issues/36481#issuecomment-338910908 ) to some)

There should be also a deterministic variant (**guaranteeing** iteration in insertion order) - e.g. `OrderedMap`, but it must not be the default `map`.

See also my comment https://github.com/vlang/v/pull/2209#issuecomment-537517315 .


Why is this fixed to be 1?


Ta funkcionalnost v laravelu že obstaja: "auth"


Why is it the third parameter?  Seems easily break in the future.


Successfully deployed to following URLs:

* https://deck-examples-h7kw1qnw3.now.sh
* https://deck-examples.now.sh
* https://deck-examples.jesusbotella.now.sh
* https://deck-examples-git-master.jesusbotella.now.sh


Successfully deployed to following URLs:

* https://oneglance-5ehujibyz.now.sh
* https://oneglance.now.sh
* https://oneglance.tobiaserich.now.sh
* https://oneglance-git-master.tobiaserich.now.sh


use unsignedInteger


unsignedInteger


and ->nullable() ?


Successfully deployed to following URLs:

* https://bp-d344iyao8.now.sh
* https://bp-two-sand.now.sh
* https://bp.importantigravity.now.sh
* https://bp-git-master.importantigravity.now.sh


These checks seems to be duplicated with C++ code.


Exclude compiled files from repo


exclude compiled files from repo


There's no `hist` updater, it's a `tree_method`.


-  DEPENDS += "enigma2 enigma2-plugin-fonts-roboto font-valis-hd enigma2-plugin-extensions-yahooweather"
+ DEPENDS += "enigma2 enigma2-plugin-fonts-roboto enigma2-plugin-fonts-valis-hd enigma2-plugin-extensions-yahooweather"


@Sniki  There is still some random unworking with one finger like issue  (#607)[https://github.com/acidanthera/bugtracker/issues/607]


Successfully deployed to following URLs:

* https://nurofsunblog-gatsbyjs-q2gkf9w6h.now.sh
* https://nurofsun.now.sh
* https://nurofsunblog-gatsbyjs.nurofsun.now.sh
* https://nurofsunblog-gatsbyjs-git-master.nurofsun.now.sh


Functioneaza si varianta asta, ideea era sa cititi acel caracter de la tastatura si pe baza lui sa creati o variabila de tip enum, care apoi sa o verificati daca este Male sau Female si sa afisati mesajul corespunzator. La fel, atentie la input-ul userului, daca este 'M' sau 'm', ambele ar putea fi valide
![image](https://user-images.githubusercontent.com/1544038/71575596-3b186f80-2af6-11ea-97c9-97e5c4a2cc0e.png)


Lahko uporabiš skupen template za EDIT in CREATE (omenjeno že zgoraj), pri čemer formo pripraviš nekaj v smislu:

$formUrl = $model->exists() ? 'update/route' : 'store/route';


Localization:

@lang('Some escaped string');

{{ __('Unescaped string') }}


`includes` returns boolean. indexOf returns index of specified values in array.
 So, change condition accordingly.

`file.includes('.')` will either return true or false.


Numele metodei ar putea fi mai bun. Eu ma asteptam sa returneze o instanta de Gender, dar de fapt returneaza un mesaj despre pensionare. Numele sugereaza cu totul altceva


Pazi se selectorjev z ID ... če bi predelal v multi-editing pogled, bi tole povzročalo težavo.


Foarte faina citirea si parsarea, bravo!


Successfully deployed to following URLs:

* https://coiny-k2800uvfb.now.sh
* https://coiny.astrolince.now.sh
* https://coiny-git-master.astrolince.now.sh


vezi printscreen-ul de mai sus


Pogrešam izpis "napak", če do njih pride. https://laravel.com/docs/6.x/validation


Dobra praksa je prikaz stare vrednosti, če je slučajno prišlo do napake: https://laravel.com/docs/5.7/requests#old-input


Poti returna direct int.Parse(...), fara sa mai definesti userYear


Glej komentarje iz create template-a


初めてやりましたー！！


Curat cod la definitia acestor metode, nume bune si pt metode si pentru variabile, e bun ;)


Aici cred ca mai degraba se calculeaza varsta, nu? Deci ComputeUserAge si poate returna un double/float


Čemu služi ta parameter?


Probabil functioneaza, acceptam si o varianta mai simpla. Nu te complica mai mult decat e nevoie ;)


good ;)


`pgAdmin` is database client and its irrelevant. It should be recommendation.  Expecting database along with version you are expecting.


this line depends on current-working-directory, while the refactored form doesnt.  Not sure this is a BC break you considered


E bun numele. Un pic si mai bun ar fi: ComputeRetirementAge


$faqs je tipa collection in že vsebuje count funkcionalnost: https://laravel.com/docs/5.7/collections#method-count


@llamaret Please rewiew


Initial commit


Predlagam preverbo, če je answer večji od 243 znakov. Lahko se ti namreč zgodi, da ima odgovor 241 znakov, ti ga odrežeš na 240 in dodaš 3 znake, kar na koncu predstavlja daljši string, kot je original. (v upoštev vzami 3 znake za pike)


Daca vrei sa caulculezi mai simplu, ai TimeSpan diff = (birthDate.AddYears(65) - DateTime.Now)


Upper camel case la metode


To my understanding, that problem is regarding hashmaps. In fact, he (https://github.com/rust-lang/rust/issues/36481) proposed a solution where they fallback to a B-tree map to solve this problem, so it shouldn't be a problem with this map. I will keep it in mind for the hashmap I'm creating.


Thanks for the change! I had implemented literally the same thing days ago and was about to put together a PR today. Waiting for the next release...


Sorry, yes, your fix is correct. I made some local modifications intended to improve the clarity of the code. Among them is adding Septet as a parameter to InjectSeptet() - but never pull requested these into the library.


La fel, era mai simplu daca trimiteai DateTime dateOfBirth ca parametru, in loc de cele 3 valori. Si pentru gender, la fel, sa folosesti Gender gender, daca tot ai definit enum-ul


I'm testing this now. If i'm not in fault this error is not visible without CompinedOutput:
```
time="2019-12-30T01:49:32+01:00" level=error msg="Could not obtain size for /tmp/sdpooltmpluet-layersbuild-sabayon-overlay-layer-0.20191212-builder.image.tar@sha256:1b404d5b01091d71ef5b3de71ea571282931d0beed8fb4bb4a150129b0f7bffb522948578/opt/sabayon-build/conf/intel/portage/package.env/package.env.amd64: stat /tmp/sdpooltmpluet-layersbuild-sabayon-overlay-layer-0.20191212-builder.image.tar@sha256:1b404d5b01091d71ef5b3de71ea571282931d0beed8fb4bb4a150129b0f7bffb522948578/opt/sabayon-build/conf/intel/portage/package.env/package.env.amd64: too many levels of symbolic links"
```
and yes, we could use StderrPipe() probably.


Successfully deployed to following URLs:

* https://ui-kit-mtxrralxv.now.sh
* https://ui-kit-five-rho.now.sh
* https://uikit.commercetools.com
* https://ui-kit.commercetools.now.sh
* https://ui-kit-git-master.commercetools.now.sh


Metoda face doua lucruri: parseaza gender-ul din char in enum si apoi afiseaza mesajul, in functie de enum. POti face 2 metode separate, e mai curat.


foarte bine te-ai gandit si la minuscule si majuscule. Si nullable ala ;) bravo


@jdkdev @rixo I've disabled the mkdir. For now Routify will just display an error and quit if the pages dir doesn't exist.

@rixo If we fix the recursive mkdir, I think we should also create an informative ``index.svelte`` if the pages dir is empty. This file could provide some basic information that the user is likely missing.


Yes, this is the fix for that vulnerability.


I dont have time 😔


This is quite dirty, we have a global variable here that is being incremented every time we add something. It works, but not ideal.

I know you do not have a backend DB for it to be auto incremented, but what I would suggest in this scenario is to work out the next ID that needs to be set. So figure out the MAX Id in the current `todos` and then +1 that.


Oh-oh.
Why did you do this?

This makes it impossible to pass a specific VC version.
(i.e. v142 can be either 14.20, 14.21... 14.24).


Successfully deployed to following URLs:

* https://wsn-web-44ualm1tq.now.sh
* https://wsn.redblue.now.sh
* https://wsn-web.redblue.now.sh
* https://wsn-web-git-master.redblue.now.sh


Also, using the `version` type ensures correct formatting from the beginning.


Dobrý postřeh.


layer tab 추가하고 layer add 버튼위치고 거기로 옮김


witch modmail are you referring to? kyb3r?


Successfully deployed to following URLs:

* https://merchant-center-application-kit-hmtu9ao1z.now.sh
* https://mc-custom-applications.now.sh
* https://merchant-center-application-kit.commercetools.now.sh
* https://merchant-center-application-kit-git-master.commercetools.now.sh


I am doing a test


test


# 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://renshu-ldhmbw95f.now.sh
* https://renshu.now.sh
* https://renshu.lukebeck.now.sh
* https://renshu-git-master.lukebeck.now.sh


I corrected it in 9d45db2919862640ad550c5326fb21ddc08d6d59 if I recall


@choeunyoung0208
위의 영상은 unsigned 8bit 이며, 각 픽셀은 0~255의 값을 갖습니다.
각 픽셀의 값마다 색깔이 정해져 있으며, (예를 들어 0은 검정색, 255는 흰색 등)
이를 정하는 방법은 매우 다양합니다.

각 숫자에 대응되는 색깔을 정의해 둔 것이 바로 color map 이며,
이 color map 이 어떻게 정의되었냐에 따라서 같은 영상이더라도 픽셀의 값이 달라질 수 있습니다.

아래 페이지를 참고해보면 좋을 것 같습니다.
https://kr.mathworks.com/help/matlab/ref/colormap.html


Let use `kubernetes.api.cluster` for cluster name.
@akranga


https://github.com/confluentinc/common/pull/221

cc @alesj


Successfully deployed to following URLs:

* https://dailyrandomphotogithubio-8vv4fen63.now.sh
* https://dailyrandomphoto.now.sh
* https://photooftheday.now.sh
* https://randomphoto.now.sh
* https://dailyphoto.now.sh
* https://picoftheday.now.sh
* https://todayphoto.now.sh
* https://dailyrandomphotogithubio.dailyrandomphoto.now.sh
* https://dailyrandomphotogithubio-git-master.dailyrandomphoto.now.sh


*moves  BaseSprite


@choeunyoung0208
subsample 영상을 만들면서 데이터의 절반이 손실되었습니다. (짝수행과 짝수열)
subsample 영상 (128x128) 으로부터 다시 원본 크기의 영상 (256x256) 으로 만들 때,
어떤 방법이 있을지 생각해보면 좋을 것 같습니다.


Bob gets (0,3)


@choeunyoung0208
영상에서 수평 또는 수직 방향으로 스캔하여 1차원 신호의 그래프로 나타낸 것을
해당 라인의 profile 이라고 합니다.
당장은 중요하지 않지만, 영상 처리에서 자주 쓰이는 개념입니다.


1 + # hello-peple


@choeunyoung0208
반전이 아닌, 180도 만큼 회전한 영상을 만드는 것도 시도해보면 좋겠네요


#=================================================
# https://github.com/P3TERX/Actions-OpenWrt
# Description: Build OpenWrt using GitHub Actions
# Lisence: MIT
# Author: P3TERX
# Blog: https://p3terx.com
#=================================================

name: Build OpenWrt

on:
  release:
    types: [published]
  push:
    branches:
      - master
    paths:
      - '.config'
#  schedule:
#    - cron: 0 8 * * 5
  watch:
  types: [started]

jobs:
  build:
    runs-on: ubuntu-18.04

    steps:
    - name: Checkout
      uses: actions/checkout@master

    - name: Initialization environment
      env:
        DEBIAN_FRONTEND: noninteractive
      run: |
        echo "Deleting files, please wait ..."
        sudo rm -rf /usr/share/dotnet /etc/apt/sources.list.d/*
        sudo swapoff /swapfile
        sudo rm -f /swapfile
        #docker rmi `docker images -q`
        #sudo -E apt-get -q purge azure-cli ghc* zulu* hhvm llvm* firefox google* dotnet* powershell openjdk* mysql* php*
        sudo -E apt-get -qq update
        sudo -E apt-get -qq install build-essential asciidoc binutils bzip2 gawk gettext git libncurses5-dev libz-dev patch unzip zlib1g-dev lib32gcc1 libc6-dev-i386 subversion flex uglifyjs git-core gcc-multilib p7zip p7zip-full msmtp libssl-dev texinfo libglib2.0-dev xmlto qemu-utils upx libelf-dev autoconf automake libtool autopoint device-tree-compiler
        sudo -E apt-get -qq autoremove --purge
        sudo -E apt-get -qq clean
        curl -fsSL https://raw.githubusercontent.com/P3TERX/dotfiles/master/.bashrc >> ~/.bashrc
        sudo ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
    - name: Clone source code
      env:
        REPO_URL: https://github.com/coolsnowwolf/lede
        REPO_BRANCH: master
      run: git clone --depth 1 $REPO_URL -b $REPO_BRANCH openwrt

    - name: Update feeds
      run: cd openwrt && ./scripts/feeds update -a

    - name: Install feeds
      run: cd openwrt && ./scripts/feeds install -a

    - name: Load custom configuration
      env:
        CONFIG_FILE: '.config'
        DIY_SH: 'diy.sh'
      run: |
        [ -e files ] && mv files openwrt/files
        [ -e $CONFIG_FILE ] && mv $CONFIG_FILE openwrt/.config
        chmod +x $DIY_SH
        cd openwrt
        ../$DIY_SH
        make defconfig
    - name: SSH connection to Actions
     uses: P3TERX/debugger-action@master

    - name: Download package
      run: |
        cd openwrt && make download -j8
        find dl -size -1024c -exec ls -l {} \;
        find dl -size -1024c -exec rm -f {} \;
    - name: Multi-thread compile
      run: |
        cd openwrt
        echo -e "$(nproc) thread compile"
        make -j$(nproc)
    - name: Single-thread compile
      if: failure()
      run: |
        cd openwrt
        make -j1 V=s
    - name: Upload bin directory
      uses: actions/upload-artifact@master
      if: always()
      with:
        name: OpenWrt_bin
        path: openwrt/bin

    - name: Organize files
      if: always()
      run: |
        cd openwrt/bin/targets/*/*
        rm -rf packages
        echo "::set-env name=FIRMWARE::$(pwd)"
    - name: Upload firmware
      uses: actions/upload-artifact@master
      if: always()
      with:
        name: OpenWrt_firmware
        path: ${{ env.FIRMWARE }}


@choeunyoung0208
잘 했습니다.
Matlab 으로 구현한 것들을 파이썬으로도 해보면 좋겠네요
12/30


Зачем слать креденшалы в dto и как параметр?


@koppor The tests run now twice on the recent PRs. Was this on purpose?


im Git-hup geaendert


Successfully deployed to following URLs:

* https://tvshow-pro-fx02wvnl8.now.sh
* https://tvshow-pro.now.sh
* https://tvshow-pro.eduardo305.now.sh
* https://tvshow-pro-git-master.eduardo305.now.sh


Added on : 30-Dec-2019
base: Bring back Gaming mode [1/3]
Settings: Bring back Gaming mode [2/3]
ctosp (custom settings): Bring back Gaming mode [3/3]


Successfully deployed to following URLs:

* https://fantastic-robot-7nv8odrcw.now.sh
* https://fantastic-robot.now.sh
* https://fantastic-robot.ivangrimes.now.sh
* https://fantastic-robot-git-master.ivangrimes.now.sh


Deployment failed with the following error:

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


Yes I forgot to remove this, it's fixed in 204365b2aefd40241c049be8b819e83afd07295a


Screenshot:
![grafik](https://user-images.githubusercontent.com/704283/71577046-fa6b2700-2af2-11ea-9b1e-68bb040be85f.png)
Any objections?


Successfully deployed to following URLs:

* https://portfolio-gxqx616cy.now.sh
* https://md.wunnle.dev
* https://portfolio.wunnle.now.sh
* https://portfolio-git-master.wunnle.now.sh


Tak način zapisa forme / pogojnih izpisov slej ko prej pripelje do neberljive kode in težav pri debugiranju.

V tem primeru bi predlagal nekaj v smislu:

if (Auth:: ...)
form template
else
back button template

v form template-u pa  narediš include "back button template"-a


Successfully deployed to following URLs:

* https://uncssonline-bglzlwuk9.now.sh
* https://uncss-online.com
* https://uncssonline.pajasevi.now.sh
* https://uncssonline-git-master.pajasevi.now.sh


Благодарю. Теперь, буду посмотреть, когда буду дома 😊


refs lablup/backend.ai-manager#125 instead of `lablup/backend.ai#125`


Predlagam, da se glede stilov odločiš za en princip in tega obdržiš skozi celoten razvoj aplikacije.
- styles (single file)
- inline (everywhere)
- use class selectors instead of IDs


DObra praksa je prazna zadnja vrstica


Successfully deployed to following URLs:

* https://portfolio-cxwezzq5q.now.sh
* https://md.wunnle.dev
* https://portfolio.wunnle.now.sh
* https://portfolio-git-master.wunnle.now.sh


Yes, it is much better than just a pen.


Successfully deployed to following URLs:

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


Successfully deployed to following URLs:

* https://og-image-cp6cqm48f.now.sh
* https://og-image-earth.now.sh
* https://og-image.delarge.now.sh
* https://og-image-git-master.delarge.now.sh


Is it okay if I copy-paste the link to the releases? Cause actually I can't find any documentation about this specific error:
Transformation failed: TOCSS: failed to transform "bootstrap.scss" (text/x-scss): this feature is not available in your current Hugo version, see https://goo.gl/YMrWcn for more information.


Yo: the changes to `tests/testthat/test-fetchNASIS.R` broke testing logic when there are no component data in the selected set.


Yes


yes


LOL I tried to make the checkboxes with emojis, but...


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


![](https://github.trello.services/images/mini-trello-icon.png) [PH計數據讀取](https://trello.com/c/HlqzdapN/92-ph%E8%A8%88%E6%95%B8%E6%93%9A%E8%AE%80%E5%8F%96)


Successfully deployed to following URLs:

* https://og-image-dokj8wl2f.now.sh
* https://og-image-earth.now.sh
* https://og-image.delarge.now.sh
* https://og-image-git-master.delarge.now.sh


Yeagh, me neither.
Just keep in mind that macos tests were disabled on CI for now (always appear as green, passing).
Build itself is checked as expected, and I think it should be enough for now.


tabbing in this file looks dodgy


That's a good idea. I'll do that, thanks!


Successfully deployed to following URLs:

* https://main-site-9azi76u53.now.sh
* https://fcc-mcr.now.sh
* https://fccmanchester.com
* https://main-site.fcc-mcr.now.sh
* https://main-site-git-master.fcc-mcr.now.sh


Successfully deployed to following URLs:

* https://og-image-dfvhqo1zy.now.sh
* https://og-image-earth.now.sh
* https://og-image.delarge.now.sh
* https://og-image-git-master.delarge.now.sh


Successfully deployed to following URLs:

* https://caleb-lawrence-website-z8or48ue7.now.sh
* https://caleb-lawrence-website.now.sh
* https://caleblawrence.dev
* https://caleb-lawrence-website.lawrencecalebc.now.sh
* https://caleb-lawrence-website-git-master.lawrencecalebc.now.sh


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

Created multidev environment [pr-157](https://dashboard.pantheon.io/sites/8be50dbc-4463-43b5-bd18-d83046623820#pr-157) for newupstream.


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

Created multidev environment [pr-46](https://dashboard.pantheon.io/sites/04c3e265-efbf-4120-84af-f029c7b6535b#pr-46) for pantheon-d8-composer-project-mmafe.


@chaukap we need to add an additional argument here, similiar to "normal establishment".

`RandUni(&species_rng) <= Species[sp]->seedling_estab_prob)`

The flow should be:
1. Check to see if seeds are present
2. Check to make sure that a random number draw is less than `seedling_estab_prob`
3. Then determine how many seedlings to add based on a random number draw compared to `max_seed_estab`


Ok I changed them copy-pasting this  ☐


return hits == deck.size();
better than this if else statement


단말의 앨범에 있는 사진들을 가져와 리스트로 보여준다


Should describe what `height, distance, and rate` represent here with a comment.


Successfully deployed to following URLs:

* https://chat-gk6eih6n6.now.sh
* https://chat-ten-beta.now.sh
* https://chat.tylerspaulding95.now.sh
* https://chat-git-master.tylerspaulding95.now.sh


Successfully deployed to following URLs:

* https://accessabar-dnlu3qp7o.now.sh
* https://accessabar.handsfree.now.sh
* https://accessabar-git-master.handsfree.now.sh


@chaukap wouldn't there be a benefit to moving this above the previous if statement?


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

Created multidev environment [pr-1](https://dashboard.pantheon.io/sites/4f3712a2-1c00-4958-b2ab-34d63540edec#pr-1) for dasjo-pantheon.


Successfully deployed to following URLs:

* https://bloom-nextjs-6hp237804.now.sh
* https://bloom-nextjs.now.sh
* https://bloom-nextjs.illepic.now.sh
* https://bloom-nextjs-git-master.illepic.now.sh


you could write it in one line
return deck.stream().allMatch(point -> point.isHit());


change comment to:

If there are no individuals of this species that are of reproductive age, continue


Successfully deployed to following URLs:

* https://og-image-e7q7kahsw.now.sh
* https://og-image-earth.now.sh
* https://og-image.delarge.now.sh
* https://og-image-git-master.delarge.now.sh


Done https://github.com/wlsf82/protractor-helper/commit/ce6d6fd3bcec6358e783b49183b71657d2dc147c


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

Created multidev environment [pr-57](https://dashboard.pantheon.io/sites/8194d45a-1eec-4bca-bf52-e2b9ee0a0eff#pr-57) for ecdemo.


This is also a problem with Fedora 32 (currently rawhide), we need to release 0.117 with this fix integrated.


Hi @andreas - I have a question about this patch, the change to use 'write_header' afaict will cause the headers not to be flushed, whereas previously they were being flushed. I'm curious what the motivation for this change was - was the empty body causing an extra newline to be emitted?


Successfully deployed to following URLs:

* https://og-image-igaws45nm.now.sh
* https://og-image-earth.now.sh
* https://og-image.delarge.now.sh
* https://og-image-git-master.delarge.now.sh


# Stats from current release

Default Server Mode (Increase detected ⚠)

General Overall increase ⚠

|  | zeit/next.js canary | zeit/next.js refs/tags/v9.1.7-canary.11 | Change |
| - | - | - | - |
| buildDuration | 13.9s | 13.8s | -108ms |
| nodeModulesSize | 48.6 MB | 48.9 MB | ⚠ +289 kB |

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

|  | zeit/next.js canary | zeit/next.js refs/tags/v9.1.7-canary.11 | 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 | zeit/next.js refs/tags/v9.1.7-canary.11 | Change |
| - | - | - | - |
| main-HASH.module.js gzip | 5.41 kB | 5.42 kB | ⚠ +6 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 | ⚠ +41 B |

Legacy Client Bundles (polyfills)

|  | zeit/next.js canary | zeit/next.js refs/tags/v9.1.7-canary.11 | 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 | zeit/next.js refs/tags/v9.1.7-canary.11 | 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 | zeit/next.js refs/tags/v9.1.7-canary.11 | 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 | zeit/next.js refs/tags/v9.1.7-canary.11 | 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 | zeit/next.js refs/tags/v9.1.7-canary.11 | Change |
| - | - | - | - |
| index.html gzip | 1.04 kB | 1.04 kB | -1 B |
| link.html gzip | 1.05 kB | 1.04 kB | -3 B |
| withRouter.html gzip | 1.03 kB | 1.03 kB | -3 B |
| Overall change | 3.12 kB | 3.11 kB | -7 B |

#### Diffs

Diff for _renames

```diff
[object Object],[object Object]
```

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 de003c3a9d308750aa009870a5926f9b18ab31f4.4c305695c6fb0e06633d.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 de003c3a9d308750aa009870a5926f9b18ab31f4.6544e81bc61166e45e0f.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.11'
       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 = {}

@@ -1765,7 +1764,10 @@
                               '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.
+                            })
                           }
                         })

@@ -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.11'
       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 = {}

@@ -1306,7 +1305,10 @@
                         '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)
@@ -1338,7 +1340,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 +1392,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 +1433,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-45c5596d0197b6ea145a.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-fbb7bdc950530d4c368e.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
-      src="/_next/static/runtime/main-e6c4147e120731ef04d8.module.js"
+      src="/_next/static/runtime/main-45c5596d0197b6ea145a.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-45c5596d0197b6ea145a.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-fbb7bdc950530d4c368e.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
-      src="/_next/static/runtime/main-e6c4147e120731ef04d8.module.js"
+      src="/_next/static/runtime/main-45c5596d0197b6ea145a.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-45c5596d0197b6ea145a.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-fbb7bdc950530d4c368e.js"
       async=""
       crossorigin="anonymous"
       nomodule=""
     ></script
     ><script
-      src="/_next/static/runtime/main-e6c4147e120731ef04d8.module.js"
+      src="/_next/static/runtime/main-45c5596d0197b6ea145a.module.js"
       async=""
       crossorigin="anonymous"
       type="module"
```

Serverless Mode (Increase detected ⚠)

General Overall increase ⚠

|  | zeit/next.js canary | zeit/next.js refs/tags/v9.1.7-canary.11 | Change |
| - | - | - | - |
| buildDuration | 13.7s | 13.8s | ⚠ +110ms |
| nodeModulesSize | 48.6 MB | 48.9 MB | ⚠ +289 kB |

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

|  | zeit/next.js canary | zeit/next.js refs/tags/v9.1.7-canary.11 | 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 | zeit/next.js refs/tags/v9.1.7-canary.11 | Change |
| - | - | - | - |
| main-HASH.module.js gzip | 5.41 kB | 5.42 kB | ⚠ +6 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 | ⚠ +6 B |

Legacy Client Bundles (polyfills)

|  | zeit/next.js canary | zeit/next.js refs/tags/v9.1.7-canary.11 | 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 | zeit/next.js refs/tags/v9.1.7-canary.11 | 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 | zeit/next.js refs/tags/v9.1.7-canary.11 | 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 | zeit/next.js refs/tags/v9.1.7-canary.11 | 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 | zeit/next.js refs/tags/v9.1.7-canary.11 | 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 |


@chaukap hasn't this already been taken care of by line 158 & 159 above?


change to:

If this cell already has seeds there is no point in continuing


Successfully deployed to following URLs:

* https://og-image-hm4gf86ms.now.sh
* https://og-image-earth.now.sh
* https://og-image.delarge.now.sh
* https://og-image-git-master.delarge.now.sh


Successfully deployed to following URLs:

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


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

Created multidev environment [pr-23](https://dashboard.pantheon.io/sites/3f2a3ea1-fe0b-478b-9c9f-55b30cc10325#pr-23) for freshdrupalmi.


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


revert this commit!


Successfully deployed to following URLs:

* https://pool-project-front-end-8uk0fodzh.now.sh
* https://pool-project-front-end.now.sh
* https://ladder.telfordpool.tv
* https://pool-project-front-end.mattlocklin.now.sh
* https://pool-project-front-end-git-master.mattlocklin.now.sh


I figured this "single source of truth" was why you set it up this way. It felt to me to be worth the trade-off to have the more straight-forward `flu_regions.py`. However, I can revert.


referring


Successfully deployed to following URLs:

* https://sobasquare-kh2dgwlji.now.sh
* https://soba.madmak.me
* https://sobasquare.mkd.now.sh
* https://sobasquare-git-master.mkd.now.sh


We should document what distance and Pd represent here with a comment


> I will reply here for your request about how to handle cross-platform compatibility for this.
>
> The way I saw the future development for STARKv2 including cross-platform compatibility was this:
>
> Build a common user interface component with a cross-platform solution such as Qt or Electron and then expose an API for each platform-specific release to integrate with.
>
> For the audio part, you'd need two separate parts:
>
> 1. An audio mixing engine to take in all the different audio streams and mix the volumes in-application
> 2. Platform-specific native Loopback Device implementations to handle the final step that was key in the creation of STARKv1 - namely faking your output as an input device, so that games could use it as an input. STARKv1 let Virtual Audio Cable handle this (and the solution you mention VBCable could handle this too, good work!) instead of writing a native implementation, because I simply didn't have the skills necessary to build the solution myself.
>
> For the Native Loopback Device, what you are looking to do, is write something called a Virtual Device Driver. I tried to do this, but eventually gave up because it seemed too hard at the time.
>
> What I originally envisioned for STARKv2 was:
>
> Handle the UI + Audio Mixing Engine with an application written on electron. Using electron would've given me access to WebRtc, which would've allowed me to handle the mixing with low latency - a critical point I wanted to improve in STARKv2. In addition to WebRtc, it would've allowed me to write a cross-platform responsive UI with minimal platform-specific implementation work.
>
> Create an API that would talk with the platform-specific Node Native Addons, which would then talk with the platform-specific drivers/implementations to handle the final step - audio loopback.
>
> This is clearly a lot of work, which eventually led me to abandoning the plans to create STARKv2. However, judging by the 4k downloads my original version has collected over the years, might be worth it. Who knows

So you've been struggling with audio loopback for the most part? I get it, I've also been looking a lot for open source software to achieve that, but all I can find is Virtual Audio Cable and VBCable, and both are proprietary software. That kind of sucks. But this is only a problem on Windows. On Linux it's actually a lot easier. PulseAudio has loopback modules, and JACK just gives you full control over routing application audio to the speaker output.

So for Windows, it turns out we'll have to rely on proprietary software to do the work for us. If you skip trying to write your own device driver, you will be saving yourself a lot of work. Windows Audio just sucks I guess. If everything just worked with JACK, that would be heaven.

Also, you know I've been working on making a cross-platform alternative to STARK called SourceDJ right? I've written it in Python, and it currently uses gTTS for TTS (pyttsx3 didn't want to work correctly). It also uses PyAudio to handle the audio cross-platform.
It's still a bit clumsy and slow and has no user interface, but it somewhat works. I believe it currently doesn't behave nicely with Linux audio servers like PulseAudio and JACK due to how it keeps making new audio streams whenever an AudioQueue finishes playing all the audio data. I might have to look into that but god damn trying to get audio working was the hardest of all things. Because all the other audio libraries available for Python don't give you control over what audio devices you want to use, I had to use the low-level PyAudio library and handle all the audio myself.

Currently SourceDJ calls FFmpeg, which decodes the audio files into wav and gets piped back into SourceDJ, then SourceDJ reads the wav from the pipe and will concatenate the audio data at the end of the corresponding AudioQueue data array, which PyAudio plays audio from.

I'm not sure if this is a very clumsy method to do it, or if it's okay. This is the first time I'm working with audio low-level.


[R/dx_constructor.R:28:1:](https://github.com/overdodactyl/diagnosticSummary/blob/baef270beb38b12e02fd715c08cb8d4a47b06f0d/R/dx_constructor.R#L28) *style:* **functions should have cyclomatic complexity of less than 15, this has 16.**
```r
dx <- function(data, study_name, data_description,
^
```
[R/dx_forest.R:338:9:](https://github.com/overdodactyl/diagnosticSummary/blob/baef270beb38b12e02fd715c08cb8d4a47b06f0d/R/dx_forest.R#L338) *style:* **Variable and function name style should be snake_case.**
```r
    tmp$Estimate <- ifelse(tmp$Fraction == "", tmp$Estimate,
        ^~~~~~~~
```
[R/dx_forest.R:351:7:](https://github.com/overdodactyl/diagnosticSummary/blob/baef270beb38b12e02fd715c08cb8d4a47b06f0d/R/dx_forest.R#L351) *style:* **Variable and function name style should be snake_case.**
```r
  res$Group <- unique(res_sel$Group)
      ^~~~~
```
[R/dx_forest.R:354:9:](https://github.com/overdodactyl/diagnosticSummary/blob/baef270beb38b12e02fd715c08cb8d4a47b06f0d/R/dx_forest.R#L354) *style:* **Variable and function name style should be snake_case.**
```r
    res$Group <- factor(res$Group, levels = levels(dx_obj$data[[orig_var]]))
        ^~~~~
```
[R/dx_forest.R:356:9:](https://github.com/overdodactyl/diagnosticSummary/blob/baef270beb38b12e02fd715c08cb8d4a47b06f0d/R/dx_forest.R#L356) *style:* **Variable and function name style should be snake_case.**
```r
    res$Group <- as.character(res$Group)
        ^~~~~
```
[R/dx_measure.R:38:11:](https://github.com/overdodactyl/diagnosticSummary/blob/baef270beb38b12e02fd715c08cb8d4a47b06f0d/R/dx_measure.R#L38) *style:* **Variable and function name style should be snake_case.**
```r
  results$Variable <- var
          ^~~~~~~~
```
[R/dx_measure.R:39:11:](https://github.com/overdodactyl/diagnosticSummary/blob/baef270beb38b12e02fd715c08cb8d4a47b06f0d/R/dx_measure.R#L39) *style:* **Variable and function name style should be snake_case.**
```r
  results$Label <- label
          ^~~~~
```


between


remove all ' within it's


Successfully deployed to following URLs:

* https://vanillafunctions-1o9d50l0c.now.sh
* https://hukamnama.amandeep.tech
* https://khalsa.tech
* https://www.khalsa.tech
* https://hukamnama.khalsa.tech
* https://vanillafunctions.khalsa.now.sh
* https://vanillafunctions-git-master.khalsa.now.sh


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

~~~
Deployment not found.
~~~

([Learn more](https://zeit.co/metasux/metabot/3z9c1raxb) or [visit](https://metabot-3z9c1raxb.now.sh) the non-aliased deployment)


Successfully deployed to following URLs:

* https://rgb-bot-o6eh6sbw9.now.sh
* https://rgb-bot.now.sh
* https://rgb-bot.hamzaprocs.now.sh
* https://rgb-bot-git-master.hamzaprocs.now.sh


Successfully deployed to following URLs:

* https://chat-smbpjcxju.now.sh
* https://chat-ten-beta.now.sh
* https://chat.tylerspaulding95.now.sh
* https://chat-git-master.tylerspaulding95.now.sh