This notebook provides some plots for the article: Heyne, M., Derrick, D., and Al-Tamimi, J. (under review). “Native language influence on brass instrument performance: An application of generalized additive mixed models (GAMMs) to midsagittal ultrasound images of the tongue”. Frontiers Research Topic: Models and Theories of Speech Production. Ed. Adamantios Gafos & Pascal van Lieshout.

1 Loading packages & custom plotting functions

load_packages = c("readr","knitr","ggplot2","mgcv","itsadug","parallel","dplyr","rlist","plotly")
# dplyr, rlist, and plotly are required by the custom plotting functions
for(pkg in load_packages){
  eval(bquote(library(.(pkg))))
  if (paste0("package:", pkg) %in% search()){
    cat(paste0("Successfully loaded the ", pkg, " package.\n"))
  }else{
    install.packages(pkg)
    eval(bquote(library(.(pkg))))
    if (paste0("package:", pkg) %in% search()){
      cat(paste0("Successfully loaded the ", pkg, " package.\n"))
    }
  }
}
Successfully loaded the readr package.
Successfully loaded the knitr package.
Successfully loaded the ggplot2 package.
Successfully loaded the mgcv package.
Successfully loaded the itsadug package.
Successfully loaded the parallel package.
Successfully loaded the dplyr package.
Successfully loaded the rlist package.
Successfully loaded the plotly package.
rm(load_packages, pkg)
# detect number of cores available for model calculations
ncores = detectCores()
cat(paste0("Number of cores available for model calculations set to ", ncores, "."))
Number of cores available for model calculations set to 8.

1.1 Functions

1.1.1 plotly_sig_diff_notes function (Matthias Heyne, 2019)

# plot smooths with shading to indicate significant differences (Matthias Heyne, 2019)
plotly_smooths_w_sig_diff <- function(model, condition, var1, var2, values, language, print=TRUE){
  # specify path for saving plots
  # plot_folder = "saved_plots"
  # Sys.setenv(MAPBOX_TOKEN = 11122223333444)
  # get intervals of significant differences by running plot_diff
  # unfortunately setting plot=FALSE doesn't work as intervals of significant difference are not displayed!
  # hardcoded condition
  # output = capture.output(plot_diff(get(model), view=values, 
  #                                   comp=list(tokenPooled.ord=c(var1, var2))))
  # output = capture.output(plot_diff(get(model), view=values, comp=list(langNoteInt.ord=c(paste0("Tongan.", note, ".", intensity), paste0("NZE.", note, ".", intensity)))))
  names_smooths=list()
  if (condition=="tokenPooled.ord" && length(language)==1){
    output_comp = capture.output(cat(paste0("list(", condition, "=c(var1, var2))")))
    names_smooths[1]=var1
    names_smooths[2]=var2
    plot_title = paste0("GAM smooths ", language, " ", var1, " vs ", var2)
    # plot_filename = paste0(language, "_", var1, "_vs_", var2, "_from_", model)
  }else if (condition=="langNoteInt.ord" && length(language)==2){
    output_comp = capture.output(cat(paste0("list(", condition, "=c('", language[1], ".", var1, ".", var2, 
                                            "', '", language[2], ".", var1, ".", var2, "'))")))
    names_smooths[1]=paste0(language[1], ".", var1, ".", var2)
    names_smooths[2]=paste0(language[2], ".", var1, ".", var2)
    plot_title = paste0("GAM smooths ", language[1], ".", var1, ".", var2, " vs ", language[2], ".", var1, ".", var2)
    # plot_filename = paste0(language[1], ".", var1, ".", var2, "_vs_", language[2], ".", var1, ".", var2, "_from_", model)
  }else if (condition=="langNoteInt.ord" && length(language)==1 && length(var1)==2){
    output_comp = capture.output(cat(paste0("list(", condition, "=c('", language, ".", var1[1], ".", var2, 
                                            "', '", language, ".", var1[2], ".", var2, "'))")))
    names_smooths[1]=paste0(language, ".", var1[1], ".", var2)
    names_smooths[2]=paste0(language, ".", var1[2], ".", var2)
    plot_title = paste0("GAM smooths ", language, ".", var1[1], ".", var2, " vs ", language, ".", var1[2], ".", var2)
    # plot_filename = paste0(language, ".", var1[1], ".", var2, "_vs_", language, ".", var1[2], ".", var2, "_from_", model)
  }
  # output_comp = capture.output(cat(paste0("list(", condition, "=c(var1, var2))")))
  output = capture.output(plot_diff(get(model), view=values, comp=eval(parse(text=output_comp))))
  # no significant difference
  if ((length(language)==1 && length(var1)==1 && length(output)==7) | (length(language)==2 && length(output)==6) | 
    (length(language)==1 && length(var1)==2 && length(output)==6)){
    if (length(var1)==1){
      cat(paste0("Smooths for ", var1, " & ", var2, " are not significantly different.\n"))
      dat1 = NA
      assign(paste0("int_sig_diff_", var1, "_", var2), dat1, envir = .GlobalEnv)
    }else{
      cat(paste0("Smooths for ", var1[1], " & ", var1[2], " in ", language, " are not significantly different.\n"))
      dat1 = NA
      assign(paste0("int_sig_diff_", var1[1], "_", var1[2], "_", var2, "_", language), dat1, envir = .GlobalEnv)
    }
    rm(dat1, output)
    # run plot_smooth to grab data for polar plots
    if (condition=="tokenPooled.ord" && length(language)==1){
      cond_p1 = capture.output(cat(paste0("list(", condition, "=var1)")))
      cond_p2 = capture.output(cat(paste0("list(", condition, "=var2)")))
    }else if (condition=="langNoteInt.ord" && length(language)==2){
      cond_p1 = capture.output(cat(paste0("list(", condition, "='", language[1], ".", var1, ".", var2, 
                                          "', ", condition, "='", language[2], ".", var1, ".", var2, "')")))
      cond_p2 = capture.output(cat(paste0("list(", condition, "='", language[2], ".", var1, ".", var2, 
                                          "', ", condition, "='", language[1], ".", var1, ".", var2, "')")))
    }else if (condition=="langNoteInt.ord" && length(language)==1 && length(var1)==2){
      cond_p1 = capture.output(cat(paste0("list(", condition, "='", language, ".", var1[1], ".", var2, 
                                          "', ", condition, "='", language, ".", var1[2], ".", var2, "')")))
      cond_p2 = capture.output(cat(paste0("list(", condition, "='", language, ".", var1[2], ".", var2, 
                                          "', ", condition, "='", language, ".", var1[1], ".", var2, "')")))
    }
    p1 = plot_smooth(x=get(model), view=values, cond=eval(parse(text=cond_p1)), rm.ranef=TRUE)
    p2 = plot_smooth(x=get(model), view=values, cond=eval(parse(text=cond_p2)), rm.ranef=TRUE)
    # # old - hardcoded
    # p1 = plot_smooth(x=get(model), view=values, cond=list(tokenPooled.ord=var1, tokenPooled.ord=var2))
    # p2 = plot_smooth(x=get(model), view=values, cond=list(tokenPooled.ord=var2, tokenPooled.ord=var1))
    # set Rho max to the max of the fit + half the difference between max of the fit and the upper limit
    maximum=max(p1$fv$fit, p2$fv$fit)+((max(p1$fv$ul, p2$fv$ul)-max(p1$fv$fit, p2$fv$fit))/2)
    # plot in polar coordinates
    p=plot_ly(type='scatterpolar', mode='lines') %>% 
      add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$fit, line=list(color="blue", dash="dash", width=2.5), name=names_smooths[1]) %>% 
      add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$ul, line=list(color="blue", dash="dash", width=0.5), showlegend=FALSE) %>% 
      add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$ll, line=list(color="blue", dash="dash",  width=0.5), showlegend=FALSE) %>% 
      add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$fit, line=list(color="red", width=2.5), name=names_smooths[2]) %>% 
      add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$ul, line=list(color="red", dash="dot", width=0.5), showlegend=FALSE) %>% 
      add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$ll, line=list(color="red", dash="dot", width=0.5), showlegend=FALSE) %>%
      layout(polar=list(sector=c(20,160), radialaxis=list(angle=90, range=c(0,maximum)),
                        angularaxis=list(thetaunit='radians', direction="clockwise", rotation=0)), 
             title=paste0("GAM smooths ", language, " ", var1, " vs ", var2), 
             legend=list(orientation="h", xanchor="center", x=0.5))
    Sys.sleep(0)
    print(p)
  # there are differences...
  }else{
    # grab intervals of significant differences from output
    if (length(language)==1 && length(var1)==1 && length(output)>=8){
    # if (length(language)==1 && length(output)>=8){
      sig_diff1 = c(as.double(unlist(strsplit(unlist(strsplit(output[8], " "))[1], "\t"))[2]), as.double(unlist(strsplit(output[8], " "))[3]))
    }else if ((length(language)==2 && length(output)>=7) | (length(language)==1 && length(var1)==2 && length(output)>=7)){
    # }else if (length(language)==2 && length(output)>=7){
      sig_diff1 = c(as.double(unlist(strsplit(unlist(strsplit(output[7], " "))[1], "\t"))[2]), as.double(unlist(strsplit(output[7], " "))[3]))
    }
    if (length(language)==1 && length(var1)==1 && length(output)>=9){
    # if (length(language)==1 && length(output)>=9){
      sig_diff2 = c(as.double(unlist(strsplit(unlist(strsplit(output[9], " "))[1], "\t"))[2]), as.double(unlist(strsplit(output[9], " "))[3]))
    }else if ((length(language)==2 && length(output)>=8) | (length(language)==1 && length(var1)==2 && length(output)>=8)){
    # }else if (length(language)==2 && length(output)>=8){
      sig_diff2 = c(as.double(unlist(strsplit(unlist(strsplit(output[8], " "))[1], "\t"))[2]), as.double(unlist(strsplit(output[8], " "))[3]))
    }
    if (length(language)==1 && length(var1)==1 && length(output)>=10){
    # if (length(language)==1 && length(output)>=10){
      sig_diff3 = c(as.double(unlist(strsplit(unlist(strsplit(output[10], " "))[1], "\t"))[2]), as.double(unlist(strsplit(output[10], " "))[3]))
    }else if ((length(language)==2 && length(output)>=9) | (length(language)==1 && length(var1)==2 && length(output)>=9)){
    # }else if (length(language)==2 && length(output)>=9){
      sig_diff3 = c(as.double(unlist(strsplit(unlist(strsplit(output[9], " "))[1], "\t"))[2]), as.double(unlist(strsplit(output[9], " "))[3]))
    }
    if (length(language)==1 && length(var1)==1 && length(output)>=11){
    # if (length(language)==1 && length(output)>=11){
      sig_diff4 = c(as.double(unlist(strsplit(unlist(strsplit(output[11], " "))[1], "\t"))[2]), as.double(unlist(strsplit(output[11], " "))[3]))
    }else if ((length(language)==2 && length(output)>=10) | (length(language)==1 && length(var1)==2 && length(output)>=10)){
    # }else if (length(language)==2 && length(output)>=10){
      sig_diff4 = c(as.double(unlist(strsplit(unlist(strsplit(output[10], " "))[1], "\t"))[2]), as.double(unlist(strsplit(output[10], " "))[3]))
    }
    
    # write intervals of significant difference to variable
    if ((length(language)==1 && length(var1)==1 && length(output)>=11) | ((length(language)==2 && length(output)>=10)) | 
        (length(language)==1 && length(var1)==2 && length(output)>=10)){
    # if ((length(language)==1 && length(output)>=11) | (length(language)==2 && length(output)>=10)){
      dat1 = c(sig_diff1, sig_diff2, sig_diff3, sig_diff4)
    }else if ((length(language)==1 && length(var1)==1 && length(output)>=10) | ((length(language)==2 && length(output)>=9)) | 
              (length(language)==1 && length(var1)==2 && length(output)>=9)){
    # }else if ((length(language)==1 && length(output)>=10) | (length(language)==2 && length(output)>=9)){
      dat1 = c(sig_diff1, sig_diff2, sig_diff3)
    }else if ((length(language)==1 && length(var1)==1 && length(output)>=9) | ((length(language)==2 && length(output)>=8)) | 
              (length(language)==1 && length(var1)==2 && length(output)>=8)){
    # }else if ((length(language)==1 && length(output)>=9) | (length(language)==2 && length(output)>=8)){
      dat1 = c(sig_diff1, sig_diff2)
    }else{
      dat1 = sig_diff1
    }
    # old
    # assign(paste0("int_sig_diff_", var1, "_", var2), dat1, envir = .GlobalEnv)
    if (length(var1)==1){
      assign(paste0("int_sig_diff_", var1, "_", var2), dat1, envir = .GlobalEnv)
    }else{
      assign(paste0("int_sig_diff_", var1[1], "_", var1[2], "_", var2, "_", language), dat1, envir = .GlobalEnv)
    }
    rm(dat1, output)
    # run plot_smooth to grab data for polar plots
    if (condition=="tokenPooled.ord" && length(language)==1){
      cond_p1 = capture.output(cat(paste0("list(", condition, "=var1)")))
      cond_p2 = capture.output(cat(paste0("list(", condition, "=var2)")))
    }else if (condition=="langNoteInt.ord" && length(language)==2){
      cond_p1 = capture.output(cat(paste0("list(", condition, "='", language[1], ".", var1, ".", var2, 
                                "', ", condition, "='", language[2], ".", var1, ".", var2, "')")))
      cond_p2 = capture.output(cat(paste0("list(", condition, "='", language[2], ".", var1, ".", var2, 
                                          "', ", condition, "='", language[1], ".", var1, ".", var2, "')")))
    }else if (condition=="langNoteInt.ord" && length(language)==1 && length(var1)==2){
      cond_p1 = capture.output(cat(paste0("list(", condition, "='", language, ".", var1[1], ".", var2, 
                                          "', ", condition, "='", language, ".", var1[2], ".", var2, "')")))
      cond_p2 = capture.output(cat(paste0("list(", condition, "='", language, ".", var1[2], ".", var2, 
                                          "', ", condition, "='", language, ".", var1[1], ".", var2, "')")))
    }
    p1 = plot_smooth(x=get(model), view=values, cond=eval(parse(text=cond_p1)), rm.ranef=TRUE)
    p2 = plot_smooth(x=get(model), view=values, cond=eval(parse(text=cond_p2)), rm.ranef=TRUE)
    # set Rho max to the max of the fit + half the difference between max of the fit and the upper limit
    maximum=max(p1$fv$fit, p2$fv$fit)+((max(p1$fv$ul, p2$fv$ul)-max(p1$fv$fit, p2$fv$fit))/2)
    # plot in polar coordinates
    if (exists("sig_diff4")){
      p=plot_ly(type='scatterpolar', mode='lines') %>% 
        add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$fit, line=list(color="blue", dash="dash", width=2.5), name=names_smooths[1]) %>% 
        add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$ul, line=list(color="blue", dash="dash", width=0.5), showlegend=FALSE) %>% 
        add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$ll, line=list(color="blue", dash="dash", width=0.5), showlegend=FALSE) %>% 
        add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$fit, line=list(color="red", width=2.5), name=names_smooths[2]) %>% 
        add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$ul, line=list(color="red", dash="dot", width=0.5), showlegend=FALSE) %>% 
        add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$ll, line=list(color="red", dash="dot", width=0.5), showlegend=FALSE) %>%
        add_trace(theta=seq(sig_diff1[1]*180/pi, sig_diff1[2]*180/pi, length.out=20), 
                  r=c(0, rep(maximum, 18), 0), line=list(color="black", width=0.5), fill="toself", fillcolor=rgb(0,0,0,max=255,alpha=25), showlegend=FALSE) %>%
        add_trace(theta=seq(sig_diff2[1]*180/pi, sig_diff2[2]*180/pi, length.out=20), 
                  r=c(0, rep(maximum, 18), 0), line=list(color="black", width=0.5), fill="toself", fillcolor=rgb(0,0,0,max=255,alpha=25), showlegend=FALSE) %>%
        add_trace(theta=seq(sig_diff3[1]*180/pi, sig_diff3[2]*180/pi, length.out=20), 
                  r=c(0, rep(maximum, 18), 0), line=list(color="black", width=0.5), fill="toself", fillcolor=rgb(0,0,0,max=255,alpha=25), showlegend=FALSE) %>%
        add_trace(theta=seq(sig_diff4[1]*180/pi, sig_diff4[2]*180/pi, length.out=20), 
                  r=c(0, rep(maximum, 18), 0), line=list(color="black", width=0.5), fill="toself", fillcolor=rgb(0,0,0,max=255,alpha=25), showlegend=FALSE) %>%
        layout(polar=list(sector=c(20,160), radialaxis=list(angle=90, range=c(0,maximum)),
                          angularaxis=list(thetaunit='radians', direction="clockwise", rotation=0)), 
               title=plot_title, legend=list(orientation="h", xanchor="center", x=0.5))
      Sys.sleep(0)
      print(p)
    }else if (exists("sig_diff3")){
      p=plot_ly(type='scatterpolar', mode='lines') %>% 
        add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$fit, line=list(color="blue", dash="dash", width=2.5), name=names_smooths[1]) %>% 
        add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$ul, line=list(color="blue", dash="dash", width=0.5), showlegend=FALSE) %>% 
        add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$ll, line=list(color="blue", dash="dash", width=0.5), showlegend=FALSE) %>% 
        add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$fit, line=list(color="red", width=2.5), name=names_smooths[2]) %>% 
        add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$ul, line=list(color="red", dash="dot", width=0.5), showlegend=FALSE) %>% 
        add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$ll, line=list(color="red", dash="dot", width=0.5), showlegend=FALSE) %>%
        add_trace(theta=seq(sig_diff1[1]*180/pi, sig_diff1[2]*180/pi, length.out=20), 
                  r=c(0, rep(maximum, 18), 0), line=list(color="black", width=0.5), fill="toself", fillcolor=rgb(0,0,0,max=255,alpha=25), showlegend=FALSE) %>%
        add_trace(theta=seq(sig_diff2[1]*180/pi, sig_diff2[2]*180/pi, length.out=20), 
                  r=c(0, rep(maximum, 18), 0), line=list(color="black", width=0.5), fill="toself", fillcolor=rgb(0,0,0,max=255,alpha=25), showlegend=FALSE) %>%
        add_trace(theta=seq(sig_diff3[1]*180/pi, sig_diff3[2]*180/pi, length.out=20), 
                  r=c(0, rep(maximum, 18), 0), line=list(color="black", width=0.5), fill="toself", fillcolor=rgb(0,0,0,max=255,alpha=25), showlegend=FALSE) %>%
        layout(polar=list(sector=c(20,160), radialaxis=list(angle=90, range=c(0,maximum)),
                          angularaxis=list(thetaunit='radians', direction="clockwise", rotation=0)), 
               title=plot_title, legend=list(orientation="h", xanchor="center", x=0.5))
      Sys.sleep(0)
      print(p)
    }else if (exists("sig_diff2")){
      p=plot_ly(type='scatterpolar', mode='lines') %>% 
        add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$fit, line=list(color="blue", dash="dash", width=2.5), name=names_smooths[1]) %>% 
        add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$ul, line=list(color="blue", dash="dash", width=0.5), showlegend=FALSE) %>% 
        add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$ll, line=list(color="blue", dash="dash", width=0.5), showlegend=FALSE) %>% 
        add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$fit, line=list(color="red", width=2.5), name=names_smooths[2]) %>% 
        add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$ul, line=list(color="red", dash="dot", width=0.5), showlegend=FALSE) %>% 
        add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$ll, line=list(color="red", dash="dot", width=0.5), showlegend=FALSE) %>%
        add_trace(theta=seq(sig_diff1[1]*180/pi, sig_diff1[2]*180/pi, length.out=20), 
                  r=c(0, rep(maximum, 18), 0), line=list(color="black", width=0.5), fill="toself", fillcolor=rgb(0,0,0,max=255,alpha=25), showlegend=FALSE) %>%
        add_trace(theta=seq(sig_diff2[1]*180/pi, sig_diff2[2]*180/pi, length.out=20), 
                  r=c(0, rep(maximum, 18), 0), line=list(color="black", width=0.5), fill="toself", fillcolor=rgb(0,0,0,max=255,alpha=25), showlegend=FALSE) %>%
        layout(polar=list(sector=c(20,160), radialaxis=list(angle=90, range=c(0,maximum)),
                          angularaxis=list(thetaunit='radians', direction="clockwise", rotation=0)), 
               title=plot_title, legend=list(orientation="h", xanchor="center", x=0.5))
      Sys.sleep(0)
      print(p)
    }else{
      p=plot_ly(type='scatterpolar', mode='lines') %>% 
        add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$fit, line=list(color="blue", dash="dash", width=2.5), name=names_smooths[1]) %>% 
        add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$ul, line=list(color="blue", dash="dash", width=0.5), showlegend=FALSE) %>% 
        add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$ll, line=list(color="blue", dash="dash", width=0.5), showlegend=FALSE) %>% 
        add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$fit, line=list(color="red", width=2.5), name=names_smooths[2]) %>% 
        add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$ul, line=list(color="red", dash="dot", width=0.5), showlegend=FALSE) %>% 
        add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$ll, line=list(color="red", dash="dot", width=0.5), showlegend=FALSE) %>%
        add_trace(theta=seq(sig_diff1[1]*180/pi, sig_diff1[2]*180/pi, length.out=20), 
                  r=c(0, rep(maximum, 18), 0), line=list(color="black", width=0.5), fill="toself", fillcolor=rgb(0,0,0,max=255,alpha=25), showlegend=FALSE) %>%
        layout(polar=list(sector=c(20,160), radialaxis=list(angle=90, range=c(0,maximum)),
                          angularaxis=list(thetaunit='radians', direction="clockwise", rotation=0)), 
               title=plot_title, legend=list(orientation="h", xanchor="center", x=0.5))
      Sys.sleep(0)
      print(p)
    }
  }
  # orca should work with plotly 4.9.0 after loading the orca module before stating R and RStudio
  # orca(p, "test.pdf")
}
# load final model for H1
Notes.gam.AR.Mod2 = readRDS("updated_models/Notes.gam.AR.Mod2.rds")

2 Plot final model outputs (compare notes across the two languages)

2.1 Note “Bb2”

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1="Bb2", 
                          var2="forte", values="theta_uncut_z", language=c("NZE","Tongan"))
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb2.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb2.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1="Bb2", 
                          var2="mezzoforte", values="theta_uncut_z", language=c("NZE","Tongan"))
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb2.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb2.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1="Bb2", 
                          var2="mezzopiano", values="theta_uncut_z", language=c("NZE","Tongan"))
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb2.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb2.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1="Bb2", 
                          var2="piano", values="theta_uncut_z", language=c("NZE","Tongan"))
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb2.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb2.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

2.2 Note “F3”

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1="F3", 
                          var2="forte", values="theta_uncut_z", language=c("NZE","Tongan"))
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F3.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F3.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1="F3", 
                          var2="mezzoforte", values="theta_uncut_z", language=c("NZE","Tongan"))
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F3.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F3.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1="F3", 
                          var2="mezzopiano", values="theta_uncut_z", language=c("NZE","Tongan"))
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F3.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F3.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1="F3", 
                          var2="piano", values="theta_uncut_z", language=c("NZE","Tongan"))
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F3.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F3.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

2.3 Note “Bb3”

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1="Bb3", 
                          var2="forte", values="theta_uncut_z", language=c("NZE","Tongan"))
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb3.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb3.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1="Bb3", 
                          var2="mezzoforte", values="theta_uncut_z", language=c("NZE","Tongan"))
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb3.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb3.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1="Bb3", 
                          var2="mezzopiano", values="theta_uncut_z", language=c("NZE","Tongan"))
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb3.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb3.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1="Bb3", 
                          var2="piano", values="theta_uncut_z", language=c("NZE","Tongan"))
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb3.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb3.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

2.4 Note “D4”

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1="D4", 
                          var2="forte", values="theta_uncut_z", language=c("NZE","Tongan"))
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.D4.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.D4.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1="D4", 
                          var2="mezzoforte", values="theta_uncut_z", language=c("NZE","Tongan"))
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.D4.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.D4.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1="D4", 
                          var2="mezzopiano", values="theta_uncut_z", language=c("NZE","Tongan"))
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.D4.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.D4.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1="D4", 
                          var2="piano", values="theta_uncut_z", language=c("NZE","Tongan"))
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.D4.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.D4.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

2.5 Note “F4”

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1="F4", 
                          var2="forte", values="theta_uncut_z", language=c("NZE","Tongan"))
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F4.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F4.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1="F4", 
                          var2="mezzoforte", values="theta_uncut_z", language=c("NZE","Tongan"))
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F4.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F4.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

# plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1="F4", 
#                        var2="mezzopiano", values="theta_uncut_z", language=c("NZE","Tongan"))
plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1="F4", 
                          var2="piano", values="theta_uncut_z", language=c("NZE","Tongan"))
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F4.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F4.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

2.6 write intervals of significant differences to .csv file

# combine int_sig_diff... from workspace
all_sig_diff_intervals = (list=ls(pattern="^int_sig_diff"))
max_sig_diff_intervals = 0
for (i in 1:length(all_sig_diff_intervals)){
  if (length(get(all_sig_diff_intervals[i]))>max_sig_diff_intervals){
    max_sig_diff_intervals = length(get(all_sig_diff_intervals[i]))
  }
}
# set up data.frame to store information
sig_diffs = array(NA, c(length(all_sig_diff_intervals), max_sig_diff_intervals))
sig_diffs = data.frame(sig_diffs)
if (max_sig_diff_intervals==8){
  colnames(sig_diffs) = c("low_int1","high_int1","low_int2","high_int2",
                          "low_int3","high_int3","low_int4","high_int4")
}else if (max_sig_diff_intervals==6){
  colnames(sig_diffs) = c("low_int1","high_int1","low_int2","high_int2","low_int3","high_int3")
}else if (max_sig_diff_intervals==4){
  colnames(sig_diffs) = c("low_int1","high_int1","low_int2","high_int2")
}else{
  colnames(sig_diffs) = c("low_int1","high_int1")
}
# create empty list for row names
names = rep(list("NA"), length(all_sig_diff_intervals))
# loop through variable and write information to data.frame
for (i in 1:length(all_sig_diff_intervals)){
  names[i] = paste0(unlist(strsplit(all_sig_diff_intervals[i], "_"))[4], "_",
                    unlist(strsplit(all_sig_diff_intervals[i], "_"))[5])
  sig_diffs[i, 1] = get(all_sig_diff_intervals[i])[1]
  sig_diffs[i, 2] = get(all_sig_diff_intervals[i])[2]
  if (length(get(all_sig_diff_intervals[i]))==4){
    sig_diffs[i, 3] = get(all_sig_diff_intervals[i])[3]
    sig_diffs[i, 4] = get(all_sig_diff_intervals[i])[4]
  }
  if (length(get(all_sig_diff_intervals[i]))==6){
    sig_diffs[i, 5] = get(all_sig_diff_intervals[i])[5]
    sig_diffs[i, 6] = get(all_sig_diff_intervals[i])[6]
  }
  if (length(get(all_sig_diff_intervals[i]))==8){
    sig_diffs[i, 7] = get(all_sig_diff_intervals[i])[7]
    sig_diffs[i, 8] = get(all_sig_diff_intervals[i])[8]
  }
}
row.names(sig_diffs) = names
rm(i)
# inspect sig_diffs data.frame and move entries for conditions with only 
# one significantly different interval to other edge, if applicable
sig_diffs["Bb2_piano",3] = sig_diffs["Bb2_piano",1]
sig_diffs["Bb2_piano",4] = sig_diffs["Bb2_piano",2]
sig_diffs["Bb2_piano",1:2] = NA
sig_diffs["D4_mezzopiano",3] = sig_diffs["D4_mezzopiano",1]
sig_diffs["D4_mezzopiano",4] = sig_diffs["D4_mezzopiano",2]
sig_diffs["D4_mezzopiano",1:2] = NA
rm(list=ls(pattern="^int_sig_diff"))
rm(list)
# determine intervals where all smooths are different
# to disregard NAs, use na.rm=TRUE
sig_diffs[length(all_sig_diff_intervals)+1,1] = max(sig_diffs[,1])
sig_diffs[length(all_sig_diff_intervals)+1,2] = min(sig_diffs[,2])
sig_diffs[length(all_sig_diff_intervals)+1,3] = max(sig_diffs[,3])
sig_diffs[length(all_sig_diff_intervals)+1,4] = min(sig_diffs[,4])
# -> There are no intervals where all smooths are different!!!
# determine intervals were 17 out of 19 smooths (84.2%) have significant differences
sig_diffs[length(all_sig_diff_intervals)+2,1] = max(sort(sig_diffs[1:length(all_sig_diff_intervals),1], na.last=TRUE)[1:17])
sig_diffs[length(all_sig_diff_intervals)+2,2] = min(sort(sig_diffs[1:length(all_sig_diff_intervals),2], decreasing=TRUE, na.last=TRUE)[1:17])
sig_diffs[length(all_sig_diff_intervals)+2,3] = max(sort(sig_diffs[1:length(all_sig_diff_intervals),3], na.last=TRUE)[1:17])
sig_diffs[length(all_sig_diff_intervals)+2,4] = min(sort(sig_diffs[1:length(all_sig_diff_intervals),4], decreasing=TRUE, na.last=TRUE)[1:17])
# determine intervals were 16 out of 19 smooths (84.2%) have significant differences
sig_diffs[length(all_sig_diff_intervals)+3,1] = max(sort(sig_diffs[1:length(all_sig_diff_intervals),1], na.last=TRUE)[1:16])
sig_diffs[length(all_sig_diff_intervals)+3,2] = min(sort(sig_diffs[1:length(all_sig_diff_intervals),2], decreasing=TRUE, na.last=TRUE)[1:16])
sig_diffs[length(all_sig_diff_intervals)+3,3] = max(sort(sig_diffs[1:length(all_sig_diff_intervals),3], na.last=TRUE)[1:16])
sig_diffs[length(all_sig_diff_intervals)+3,4] = min(sort(sig_diffs[1:length(all_sig_diff_intervals),4], decreasing=TRUE, na.last=TRUE)[1:16])
# update row names
row.names(sig_diffs) = c(names, "overall","17_out_of_19","16_out_of_19")
rm(max_sig_diff_intervals, all_sig_diff_intervals, names)
# write variable to .csv file
write.csv(sig_diffs, file = "Notes.gam.AR.Mod2_intervals_of_significant_differences.csv")
# visualize areas of overall difference
p1=plot_ly(type='scatterpolar', mode='lines') %>%
  add_trace(theta=seq(sig_diffs["17_out_of_19",1]*180/pi, sig_diffs["17_out_of_19",2]*180/pi, 
                      length.out=20), r=c(0, rep(320, 18), 0), line=list(color="black", width=0.5), 
            fill="toself", fillcolor=rgb(0,0,0,max=255,alpha=25), showlegend=FALSE) %>%
  add_trace(theta=seq(sig_diffs["17_out_of_19",3]*180/pi, sig_diffs["17_out_of_19",4]*180/pi, 
                      length.out=20), r=c(0, rep(320, 18), 0), line=list(color="black", width=0.5), 
            fill="toself", fillcolor=rgb(0,0,0,max=255,alpha=25), showlegend=FALSE) %>% 
  layout(polar=list(sector=c(20,160), radialaxis=list(angle=90, range=c(0,320)),
                        angularaxis=list(thetaunit='radians', direction="clockwise", rotation=0)), 
         title=paste0("Intervals of significant differences for 17 out of 19 comparisons"), 
         legend=list(orientation="h", xanchor="center", x=0.5))
Sys.sleep(0)
print(p1)

NULL
p2=plot_ly(type='scatterpolar', mode='lines') %>%
  add_trace(theta=seq(sig_diffs["16_out_of_19",1]*180/pi, sig_diffs["16_out_of_19",2]*180/pi, 
                      length.out=20), r=c(0, rep(320, 18), 0), line=list(color="black", width=0.5), 
            fill="toself", fillcolor=rgb(0,0,0,max=255,alpha=25), showlegend=FALSE) %>%
  add_trace(theta=seq(sig_diffs["16_out_of_19",3]*180/pi, sig_diffs["16_out_of_19",4]*180/pi, 
                      length.out=20), r=c(0, rep(320, 18), 0), line=list(color="black", width=0.5), 
            fill="toself", fillcolor=rgb(0,0,0,max=255,alpha=25), showlegend=FALSE) %>% 
  layout(polar=list(sector=c(20,160), radialaxis=list(angle=90, range=c(0,320)),
                        angularaxis=list(thetaunit='radians', direction="clockwise", rotation=0)), 
         title=paste0("Intervals of significant differences for 16 out of 19 comparisons"), 
         legend=list(orientation="h", xanchor="center", x=0.5))
Sys.sleep(0)
print(p2)

NULL
# rm(sig_diffs, p1, p2)

3 Plot final model outputs (compare notes within languages -> H3)

3.1 NZE

3.1.1 at forte intensity

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb2","F3"),
                          var2="forte", values="theta_uncut_z", language="NZE")
Smooths for Bb2 & F3 in NZE are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb2.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F3.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb2","Bb3"),
                          var2="forte", values="theta_uncut_z", language="NZE")
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb2.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb3.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb2","D4"),
                          var2="forte", values="theta_uncut_z", language="NZE")
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb2.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.D4.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb2","F4"),
                          var2="forte", values="theta_uncut_z", language="NZE")
Smooths for Bb2 & F4 in NZE are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb2.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F4.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("F3","Bb3"),
                          var2="forte", values="theta_uncut_z", language="NZE")
Smooths for F3 & Bb3 in NZE are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F3.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb3.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("F3","D4"),
                          var2="forte", values="theta_uncut_z", language="NZE")
Smooths for F3 & D4 in NZE are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F3.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.D4.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("F3","F4"),
                          var2="forte", values="theta_uncut_z", language="NZE")
Smooths for F3 & F4 in NZE are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F3.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F4.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb3","D4"),
                          var2="forte", values="theta_uncut_z", language="NZE")
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb3.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.D4.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb3","F4"),
                          var2="forte", values="theta_uncut_z", language="NZE")
Smooths for Bb3 & F4 in NZE are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb3.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F4.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("D4","F4"),
                          var2="forte", values="theta_uncut_z", language="NZE")
Smooths for D4 & F4 in NZE are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.D4.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F4.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

3.1.2 at mezzoforte intensity

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb2","F3"),
                          var2="mezzoforte", values="theta_uncut_z", language="NZE")
Smooths for Bb2 & F3 in NZE are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb2.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F3.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb2","Bb3"),
                          var2="mezzoforte", values="theta_uncut_z", language="NZE")
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb2.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb3.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb2","D4"),
                          var2="mezzoforte", values="theta_uncut_z", language="NZE")
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb2.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.D4.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb2","F4"),
                          var2="mezzoforte", values="theta_uncut_z", language="NZE")
Smooths for Bb2 & F4 in NZE are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb2.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F4.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("F3","Bb3"),
                          var2="mezzoforte", values="theta_uncut_z", language="NZE")
Smooths for F3 & Bb3 in NZE are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F3.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb3.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("F3","D4"),
                          var2="mezzoforte", values="theta_uncut_z", language="NZE")
Smooths for F3 & D4 in NZE are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F3.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.D4.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("F3","F4"),
                          var2="mezzoforte", values="theta_uncut_z", language="NZE")
Smooths for F3 & F4 in NZE are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F3.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F4.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb3","D4"),
                          var2="mezzoforte", values="theta_uncut_z", language="NZE")
Smooths for Bb3 & D4 in NZE are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb3.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.D4.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb3","F4"),
                          var2="mezzoforte", values="theta_uncut_z", language="NZE")
Smooths for Bb3 & F4 in NZE are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb3.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F4.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("D4","F4"),
                          var2="mezzoforte", values="theta_uncut_z", language="NZE")
Smooths for D4 & F4 in NZE are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.D4.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F4.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

3.1.3 at mezzopiano intensity

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb2","F3"),
                          var2="mezzopiano", values="theta_uncut_z", language="NZE")
Smooths for Bb2 & F3 in NZE are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb2.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F3.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb2","Bb3"),
                          var2="mezzopiano", values="theta_uncut_z", language="NZE")
Smooths for Bb2 & Bb3 in NZE are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb2.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb3.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb2","D4"),
                          var2="mezzopiano", values="theta_uncut_z", language="NZE")
Smooths for Bb2 & D4 in NZE are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb2.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.D4.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

# plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb2","F4"),
                          # var2="mezzopiano", values="theta_uncut_z", language="NZE")
plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("F3","Bb3"),
                          var2="mezzopiano", values="theta_uncut_z", language="NZE")
Smooths for F3 & Bb3 in NZE are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F3.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb3.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("F3","D4"),
                          var2="mezzopiano", values="theta_uncut_z", language="NZE")
Smooths for F3 & D4 in NZE are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F3.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.D4.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

# plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("F3","F4"),
                          # var2="mezzopiano", values="theta_uncut_z", language="NZE")
plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb3","D4"),
                          var2="mezzopiano", values="theta_uncut_z", language="NZE")
Smooths for Bb3 & D4 in NZE are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb3.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.D4.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

# plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb3","F4"),
  #                         var2="mezzopiano", values="theta_uncut_z", language="NZE")
# plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("D4","F4"),
                          # var2="mezzopiano", values="theta_uncut_z", language="NZE")

3.1.4 at piano intensity

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb2","F3"),
                          var2="piano", values="theta_uncut_z", language="NZE")
Smooths for Bb2 & F3 in NZE are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb2.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F3.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb2","Bb3"),
                          var2="piano", values="theta_uncut_z", language="NZE")
Smooths for Bb2 & Bb3 in NZE are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb2.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb3.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb2","D4"),
                          var2="piano", values="theta_uncut_z", language="NZE")
Smooths for Bb2 & D4 in NZE are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb2.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.D4.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb2","F4"),
                          var2="piano", values="theta_uncut_z", language="NZE")
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb2.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F4.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("F3","Bb3"),
                          var2="piano", values="theta_uncut_z", language="NZE")
Smooths for F3 & Bb3 in NZE are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F3.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb3.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("F3","D4"),
                          var2="piano", values="theta_uncut_z", language="NZE")
Smooths for F3 & D4 in NZE are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F3.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.D4.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("F3","F4"),
                          var2="piano", values="theta_uncut_z", language="NZE")
Smooths for F3 & F4 in NZE are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F3.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F4.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb3","D4"),
                          var2="piano", values="theta_uncut_z", language="NZE")
Smooths for Bb3 & D4 in NZE are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb3.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.D4.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb3","F4"),
                          var2="piano", values="theta_uncut_z", language="NZE")
Smooths for Bb3 & F4 in NZE are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb3.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F4.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("D4","F4"),
                          var2="piano", values="theta_uncut_z", language="NZE")
Smooths for D4 & F4 in NZE are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.D4.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F4.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

3.1.5 write intervals of significant differences to .csv file

# combine int_sig_diff... from workspace
all_sig_diff_intervals = (list=ls(pattern="^int_sig_diff"))
max_sig_diff_intervals = 0
for (i in 1:length(all_sig_diff_intervals)){
  if (length(get(all_sig_diff_intervals[i]))>max_sig_diff_intervals){
    max_sig_diff_intervals = length(get(all_sig_diff_intervals[i]))
  }
}
# set up data.frame to store information
sig_diffs = array(NA, c(length(all_sig_diff_intervals), max_sig_diff_intervals))
sig_diffs = data.frame(sig_diffs)
if (max_sig_diff_intervals==8){
  colnames(sig_diffs) = c("low_int1","high_int1","low_int2","high_int2",
                          "low_int3","high_int3","low_int4","high_int4")
}else if (max_sig_diff_intervals==6){
  colnames(sig_diffs) = c("low_int1","high_int1","low_int2","high_int2","low_int3","high_int3")
}else if (max_sig_diff_intervals==4){
  colnames(sig_diffs) = c("low_int1","high_int1","low_int2","high_int2")
}else{
  colnames(sig_diffs) = c("low_int1","high_int1")
}
# create empty list for row names
names = rep(list("NA"), length(all_sig_diff_intervals))
# loop through variable and write information to data.frame
for (i in 1:length(all_sig_diff_intervals)){
  names[i] = paste0(unlist(strsplit(all_sig_diff_intervals[i], "_"))[4], "_",
                    unlist(strsplit(all_sig_diff_intervals[i], "_"))[5], "_",
                    unlist(strsplit(all_sig_diff_intervals[i], "_"))[6], "_",
                    unlist(strsplit(all_sig_diff_intervals[i], "_"))[7]
                    )
  sig_diffs[i, 1] = get(all_sig_diff_intervals[i])[1]
  sig_diffs[i, 2] = get(all_sig_diff_intervals[i])[2]
  if (length(get(all_sig_diff_intervals[i]))==4){
    sig_diffs[i, 3] = get(all_sig_diff_intervals[i])[3]
    sig_diffs[i, 4] = get(all_sig_diff_intervals[i])[4]
  }
  if (length(get(all_sig_diff_intervals[i]))==6){
    sig_diffs[i, 5] = get(all_sig_diff_intervals[i])[5]
    sig_diffs[i, 6] = get(all_sig_diff_intervals[i])[6]
  }
  if (length(get(all_sig_diff_intervals[i]))==8){
    sig_diffs[i, 7] = get(all_sig_diff_intervals[i])[7]
    sig_diffs[i, 8] = get(all_sig_diff_intervals[i])[8]
  }
}
row.names(sig_diffs) = names
rm(i, list=ls(pattern="^int_sig_diff"))
rm(list)
rm(max_sig_diff_intervals, all_sig_diff_intervals, names)
# write variable to .csv file
write.csv(sig_diffs, file = "Notes.gam.AR.Mod2_within_lg_ints_of_sig_diffs_NZE.csv")
rm(sig_diffs)

3.2 Tongan

3.2.1 at forte intensity

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb2","F3"),
                          var2="forte", values="theta_uncut_z", language="Tongan")
Smooths for Bb2 & F3 in Tongan are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb2.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F3.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb2","Bb3"),
                          var2="forte", values="theta_uncut_z", language="Tongan")
Smooths for Bb2 & Bb3 in Tongan are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb2.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb3.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb2","D4"),
                          var2="forte", values="theta_uncut_z", language="Tongan")
Smooths for Bb2 & D4 in Tongan are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb2.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.D4.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb2","F4"),
                          var2="forte", values="theta_uncut_z", language="Tongan")
Smooths for Bb2 & F4 in Tongan are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb2.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F4.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("F3","Bb3"),
                          var2="forte", values="theta_uncut_z", language="Tongan")
Smooths for F3 & Bb3 in Tongan are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F3.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb3.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("F3","D4"),
                          var2="forte", values="theta_uncut_z", language="Tongan")
Smooths for F3 & D4 in Tongan are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F3.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.D4.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("F3","F4"),
                          var2="forte", values="theta_uncut_z", language="Tongan")
Smooths for F3 & F4 in Tongan are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F3.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F4.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb3","D4"),
                          var2="forte", values="theta_uncut_z", language="Tongan")
Smooths for Bb3 & D4 in Tongan are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb3.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.D4.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb3","F4"),
                          var2="forte", values="theta_uncut_z", language="Tongan")
Smooths for Bb3 & F4 in Tongan are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb3.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F4.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("D4","F4"),
                          var2="forte", values="theta_uncut_z", language="Tongan")
Smooths for D4 & F4 in Tongan are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.D4.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F4.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

3.2.2 at mezzoforte intensity

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb2","F3"),
                          var2="mezzoforte", values="theta_uncut_z", language="Tongan")
Smooths for Bb2 & F3 in Tongan are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb2.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F3.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb2","Bb3"),
                          var2="mezzoforte", values="theta_uncut_z", language="Tongan")
Smooths for Bb2 & Bb3 in Tongan are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb2.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb3.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb2","D4"),
                          var2="mezzoforte", values="theta_uncut_z", language="Tongan")
Smooths for Bb2 & D4 in Tongan are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb2.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.D4.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb2","F4"),
                          var2="mezzoforte", values="theta_uncut_z", language="Tongan")
Smooths for Bb2 & F4 in Tongan are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb2.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F4.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("F3","Bb3"),
                          var2="mezzoforte", values="theta_uncut_z", language="Tongan")
Smooths for F3 & Bb3 in Tongan are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F3.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb3.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("F3","D4"),
                          var2="mezzoforte", values="theta_uncut_z", language="Tongan")
Smooths for F3 & D4 in Tongan are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F3.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.D4.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("F3","F4"),
                          var2="mezzoforte", values="theta_uncut_z", language="Tongan")
Smooths for F3 & F4 in Tongan are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F3.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F4.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb3","D4"),
                          var2="mezzoforte", values="theta_uncut_z", language="Tongan")
Smooths for Bb3 & D4 in Tongan are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb3.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.D4.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb3","F4"),
                          var2="mezzoforte", values="theta_uncut_z", language="Tongan")
Smooths for Bb3 & F4 in Tongan are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb3.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F4.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("D4","F4"),
                          var2="mezzoforte", values="theta_uncut_z", language="Tongan")
Smooths for D4 & F4 in Tongan are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.D4.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F4.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

3.2.3 at mezzopiano intensity

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb2","F3"),
                          var2="mezzopiano", values="theta_uncut_z", language="Tongan")
Smooths for Bb2 & F3 in Tongan are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb2.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F3.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb2","Bb3"),
                          var2="mezzopiano", values="theta_uncut_z", language="Tongan")
Smooths for Bb2 & Bb3 in Tongan are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb2.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb3.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb2","D4"),
                          var2="mezzopiano", values="theta_uncut_z", language="Tongan")
Smooths for Bb2 & D4 in Tongan are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb2.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.D4.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb2","F4"),
                          var2="mezzopiano", values="theta_uncut_z", language="Tongan")
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb2.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F4.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("F3","Bb3"),
                          var2="mezzopiano", values="theta_uncut_z", language="Tongan")
Smooths for F3 & Bb3 in Tongan are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F3.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb3.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("F3","D4"),
                          var2="mezzopiano", values="theta_uncut_z", language="Tongan")
Smooths for F3 & D4 in Tongan are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F3.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.D4.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("F3","F4"),
                          var2="mezzopiano", values="theta_uncut_z", language="Tongan")
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F3.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F4.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb3","D4"),
                          var2="mezzopiano", values="theta_uncut_z", language="Tongan")
Smooths for Bb3 & D4 in Tongan are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb3.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.D4.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb3","F4"),
                          var2="mezzopiano", values="theta_uncut_z", language="Tongan")
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb3.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F4.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("D4","F4"),
                          var2="mezzopiano", values="theta_uncut_z", language="Tongan")
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.D4.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F4.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

3.2.4 at piano intensity

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb2","F3"),
                          var2="piano", values="theta_uncut_z", language="Tongan")
Smooths for Bb2 & F3 in Tongan are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb2.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F3.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb2","Bb3"),
                          var2="piano", values="theta_uncut_z", language="Tongan")
Smooths for Bb2 & Bb3 in Tongan are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb2.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb3.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb2","D4"),
                          var2="piano", values="theta_uncut_z", language="Tongan")
Smooths for Bb2 & D4 in Tongan are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb2.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.D4.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb2","F4"),
                          var2="piano", values="theta_uncut_z", language="Tongan")
Smooths for Bb2 & F4 in Tongan are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb2.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F4.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("F3","Bb3"),
                          var2="piano", values="theta_uncut_z", language="Tongan")
Smooths for F3 & Bb3 in Tongan are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F3.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb3.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("F3","D4"),
                          var2="piano", values="theta_uncut_z", language="Tongan")
Smooths for F3 & D4 in Tongan are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F3.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.D4.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("F3","F4"),
                          var2="piano", values="theta_uncut_z", language="Tongan")
Smooths for F3 & F4 in Tongan are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F3.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F4.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb3","D4"),
                          var2="piano", values="theta_uncut_z", language="Tongan")
Smooths for Bb3 & D4 in Tongan are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb3.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.D4.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("Bb3","F4"),
                          var2="piano", values="theta_uncut_z", language="Tongan")
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb3.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F4.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

plotly_smooths_w_sig_diff(model="Notes.gam.AR.Mod2", condition="langNoteInt.ord", var1=c("D4","F4"),
                          var2="piano", values="theta_uncut_z", language="Tongan")
Smooths for D4 & F4 in Tongan are not significantly different.
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.D4.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F4.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

NULL

3.2.5 write intervals of significant differences to .csv file

# combine int_sig_diff... from workspace
all_sig_diff_intervals = (list=ls(pattern="^int_sig_diff"))
max_sig_diff_intervals = 0
for (i in 1:length(all_sig_diff_intervals)){
  if (length(get(all_sig_diff_intervals[i]))>max_sig_diff_intervals){
    max_sig_diff_intervals = length(get(all_sig_diff_intervals[i]))
  }
}
# set up data.frame to store information
sig_diffs = array(NA, c(length(all_sig_diff_intervals), max_sig_diff_intervals))
sig_diffs = data.frame(sig_diffs)
if (max_sig_diff_intervals==8){
  colnames(sig_diffs) = c("low_int1","high_int1","low_int2","high_int2",
                          "low_int3","high_int3","low_int4","high_int4")
}else if (max_sig_diff_intervals==6){
  colnames(sig_diffs) = c("low_int1","high_int1","low_int2","high_int2","low_int3","high_int3")
}else if (max_sig_diff_intervals==4){
  colnames(sig_diffs) = c("low_int1","high_int1","low_int2","high_int2")
}else{
  colnames(sig_diffs) = c("low_int1","high_int1")
}
# create empty list for row names
names = rep(list("NA"), length(all_sig_diff_intervals))
# loop through variable and write information to data.frame
for (i in 1:length(all_sig_diff_intervals)){
  names[i] = paste0(unlist(strsplit(all_sig_diff_intervals[i], "_"))[4], "_",
                    unlist(strsplit(all_sig_diff_intervals[i], "_"))[5], "_",
                    unlist(strsplit(all_sig_diff_intervals[i], "_"))[6], "_",
                    unlist(strsplit(all_sig_diff_intervals[i], "_"))[7]
                    )
  sig_diffs[i, 1] = get(all_sig_diff_intervals[i])[1]
  sig_diffs[i, 2] = get(all_sig_diff_intervals[i])[2]
  if (length(get(all_sig_diff_intervals[i]))==4){
    sig_diffs[i, 3] = get(all_sig_diff_intervals[i])[3]
    sig_diffs[i, 4] = get(all_sig_diff_intervals[i])[4]
  }
  if (length(get(all_sig_diff_intervals[i]))==6){
    sig_diffs[i, 5] = get(all_sig_diff_intervals[i])[5]
    sig_diffs[i, 6] = get(all_sig_diff_intervals[i])[6]
  }
  if (length(get(all_sig_diff_intervals[i]))==8){
    sig_diffs[i, 7] = get(all_sig_diff_intervals[i])[7]
    sig_diffs[i, 8] = get(all_sig_diff_intervals[i])[8]
  }
}
row.names(sig_diffs) = names
rm(i, list=ls(pattern="^int_sig_diff"))
rm(list, max_sig_diff_intervals, all_sig_diff_intervals, names)
# write variable to .csv file
write.csv(sig_diffs, file = "Notes.gam.AR.Mod2_within_lg_ints_of_sig_diffs_Tongan.csv")
rm(sig_diffs)

4 Plot all notes together

4.1 NZE

4.1.1 forte

# use colors from PhD
RED0 = (rgb(213,13,11, 255, maxColorValue=255))
# BROWN0 = (rgb(123,73,55,255, maxColorValue=255))
PURPLE0 = (rgb(143,72,183,255, maxColorValue=255))
# GRAY0 = (rgb(108,108,108,255, maxColorValue=255))
# GREEN0 = (rgb(0,151,55,255, maxColorValue=255))
ORANGE0 = (rgb(255,123,0,255, maxColorValue=255))
# PINK0 = (rgb(224,130,180,255, maxColorValue=255))
# TEAL0 = (rgb(0,175,195,255, maxColorValue=255))
GOLD0 = (rgb(172,181,0,255, maxColorValue=255))
# light_blue=rgb(0,117,220,255,maxColorValue=255) #col2
# pink=rgb(194,0,136,255,maxColorValue=255) #col13
dark_blue=rgb(0,51,128,255,maxColorValue=255) #col14
# dark_red=rgb(153,0,0,255,maxColorValue=255)
colors=c(RED0,PURPLE0,ORANGE0,GOLD0,dark_blue)
# run plot_smooth to grab values for fit, upper & lower bounds
p1=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="NZE.Bb2.forte"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb2.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

p2=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="NZE.F3.forte"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F3.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

p3=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="NZE.Bb3.forte"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb3.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

p4=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="NZE.D4.forte"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.D4.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

p5=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="NZE.F4.forte"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F4.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

smooth_names=c("Bb2","F3","Bb3","D4","F4")
# set Rho max to the max of the fit + half the difference between max of the fit and the upper limit
max_ul = max(p1$fv$ul, p2$fv$ul, p3$fv$ul, p4$fv$ul, p5$fv$ul)
max_fit = max(p1$fv$fit, p2$fv$fit, p3$fv$fit, p4$fv$fit, p5$fv$fit)
maximum=max_fit+((max_ul-max_fit)/2)
# plot in polar coordinates
p=plot_ly(type='scatterpolar', mode='lines') %>% 
  add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$fit, line=list(color=colors[1], width=2.5), name=smooth_names[1]) %>% 
  add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$ul, line=list(color=colors[1], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$ll, line=list(color=colors[1], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$fit, line=list(color=colors[2], width=2.5),name=smooth_names[2]) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$ul, line=list(color=colors[2], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$ll, line=list(color=colors[2], dash="dot", width=0.5), showlegend=FALSE) %>%
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p3$fv$fit, line=list(color=colors[3], width=2.5), name=smooth_names[3]) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p3$fv$ul, line=list(color=colors[3], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p3$fv$ll, line=list(color=colors[3], dash="dot", width=0.5), showlegend=FALSE) %>%
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p4$fv$fit, line=list(color=colors[4], width=2.5), name=smooth_names[4]) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p4$fv$ul, line=list(color=colors[4], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p4$fv$ll, line=list(color=colors[4], dash="dot", width=0.5), showlegend=FALSE) %>%
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p5$fv$fit, line=list(color=colors[5], width=2.5), name=smooth_names[5]) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p5$fv$ul, line=list(color=colors[5], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p5$fv$ll, line=list(color=colors[5], dash="dot", width=0.5), showlegend=FALSE) %>%
  layout(polar=list(sector=c(20,160), radialaxis=list(angle=90, range=c(0,maximum)),
                    angularaxis=list(thetaunit='radians', direction="clockwise", rotation=0)), 
         title="All notes produced by NZE players at forte intensity")
p

rm(p1,p2,p3,p4,p5)

4.1.2 mezzoforte

colors=c(RED0,PURPLE0,ORANGE0,GOLD0,dark_blue)
# run plot_smooth to grab values for fit, upper & lower bounds
p1=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="NZE.Bb2.mezzoforte"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb2.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

p2=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="NZE.F3.mezzoforte"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F3.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

p3=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="NZE.Bb3.mezzoforte"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb3.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

p4=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="NZE.D4.mezzoforte"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.D4.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

p5=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="NZE.F4.mezzoforte"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F4.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

smooth_names=c("Bb2","F3","Bb3","D4","F4")
# set Rho max to the max of the fit + half the difference between max of the fit and the upper limit
max_ul = max(p1$fv$ul, p2$fv$ul, p3$fv$ul, p4$fv$ul, p5$fv$ul)
max_fit = max(p1$fv$fit, p2$fv$fit, p3$fv$fit, p4$fv$fit, p5$fv$fit)
maximum=max_fit+((max_ul-max_fit)/2)
# plot in polar coordinates
p=plot_ly(type='scatterpolar', mode='lines') %>% 
  add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$fit, line=list(color=colors[1], width=2.5), name=smooth_names[1]) %>% 
  add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$ul, line=list(color=colors[1], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$ll, line=list(color=colors[1], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$fit, line=list(color=colors[2], width=2.5),name=smooth_names[2]) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$ul, line=list(color=colors[2], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$ll, line=list(color=colors[2], dash="dot", width=0.5), showlegend=FALSE) %>%
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p3$fv$fit, line=list(color=colors[3], width=2.5), name=smooth_names[3]) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p3$fv$ul, line=list(color=colors[3], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p3$fv$ll, line=list(color=colors[3], dash="dot", width=0.5), showlegend=FALSE) %>%
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p4$fv$fit, line=list(color=colors[4], width=2.5), name=smooth_names[4]) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p4$fv$ul, line=list(color=colors[4], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p4$fv$ll, line=list(color=colors[4], dash="dot", width=0.5), showlegend=FALSE) %>%
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p5$fv$fit, line=list(color=colors[5], width=2.5), name=smooth_names[5]) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p5$fv$ul, line=list(color=colors[5], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p5$fv$ll, line=list(color=colors[5], dash="dot", width=0.5), showlegend=FALSE) %>%
  layout(polar=list(sector=c(20,160), radialaxis=list(angle=90, range=c(0,maximum)),
                    angularaxis=list(thetaunit='radians', direction="clockwise", rotation=0)), 
         title="All notes produced by NZE players at mezzoforte intensity")
p

rm(p1,p2,p3,p4,p5)

4.1.3 mezzopiano

colors=c(RED0,PURPLE0,ORANGE0,GOLD0,dark_blue)
# run plot_smooth to grab values for fit, upper & lower bounds
p1=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="NZE.Bb2.mezzopiano"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb2.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

p2=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="NZE.F3.mezzopiano"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F3.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

p3=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="NZE.Bb3.mezzopiano"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb3.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

p4=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="NZE.D4.mezzopiano"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.D4.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

smooth_names=c("Bb2","F3","Bb3","D4")
# set Rho max to the max of the fit + half the difference between max of the fit and the upper limit
max_ul = max(p1$fv$ul, p2$fv$ul, p3$fv$ul, p4$fv$ul)
max_fit = max(p1$fv$fit, p2$fv$fit, p3$fv$fit, p4$fv$fit)
maximum=max_fit+((max_ul-max_fit)/2)
# plot in polar coordinates
p=plot_ly(type='scatterpolar', mode='lines') %>% 
  add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$fit, line=list(color=colors[1], width=2.5), name=smooth_names[1]) %>% 
  add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$ul, line=list(color=colors[1], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$ll, line=list(color=colors[1], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$fit, line=list(color=colors[2], width=2.5),name=smooth_names[2]) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$ul, line=list(color=colors[2], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$ll, line=list(color=colors[2], dash="dot", width=0.5), showlegend=FALSE) %>%
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p3$fv$fit, line=list(color=colors[3], width=2.5), name=smooth_names[3]) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p3$fv$ul, line=list(color=colors[3], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p3$fv$ll, line=list(color=colors[3], dash="dot", width=0.5), showlegend=FALSE) %>%
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p4$fv$fit, line=list(color=colors[4], width=2.5), name=smooth_names[4]) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p4$fv$ul, line=list(color=colors[4], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p4$fv$ll, line=list(color=colors[4], dash="dot", width=0.5), showlegend=FALSE) %>%
  layout(polar=list(sector=c(20,160), radialaxis=list(angle=90, range=c(0,maximum)),
                    angularaxis=list(thetaunit='radians', direction="clockwise", rotation=0)), 
         title="All notes produced by NZE players at mezzopiano intensity")
p

rm(p1,p2,p3,p4)

4.1.4 piano

colors=c(RED0,PURPLE0,ORANGE0,GOLD0,dark_blue)
# run plot_smooth to grab values for fit, upper & lower bounds
p1=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="NZE.Bb2.piano"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb2.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

p2=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="NZE.F3.piano"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F3.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

p3=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="NZE.Bb3.piano"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.Bb3.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

p4=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="NZE.D4.piano"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.D4.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

p5=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="NZE.F4.piano"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): NZE.F4.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

smooth_names=c("Bb2","F3","Bb3","D4","F4")
# set Rho max to the max of the fit + half the difference between max of the fit and the upper limit
max_ul = max(p1$fv$ul, p2$fv$ul, p3$fv$ul, p4$fv$ul, p5$fv$ul)
max_fit = max(p1$fv$fit, p2$fv$fit, p3$fv$fit, p4$fv$fit, p5$fv$fit)
maximum=max_fit+((max_ul-max_fit)/2)
# plot in polar coordinates
p=plot_ly(type='scatterpolar', mode='lines') %>% 
  add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$fit, line=list(color=colors[1], width=2.5), name=smooth_names[1]) %>% 
  add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$ul, line=list(color=colors[1], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$ll, line=list(color=colors[1], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$fit, line=list(color=colors[2], width=2.5),name=smooth_names[2]) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$ul, line=list(color=colors[2], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$ll, line=list(color=colors[2], dash="dot", width=0.5), showlegend=FALSE) %>%
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p3$fv$fit, line=list(color=colors[3], width=2.5), name=smooth_names[3]) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p3$fv$ul, line=list(color=colors[3], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p3$fv$ll, line=list(color=colors[3], dash="dot", width=0.5), showlegend=FALSE) %>%
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p4$fv$fit, line=list(color=colors[4], width=2.5), name=smooth_names[4]) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p4$fv$ul, line=list(color=colors[4], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p4$fv$ll, line=list(color=colors[4], dash="dot", width=0.5), showlegend=FALSE) %>%
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p5$fv$fit, line=list(color=colors[5], width=2.5), name=smooth_names[5]) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p5$fv$ul, line=list(color=colors[5], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p5$fv$ll, line=list(color=colors[5], dash="dot", width=0.5), showlegend=FALSE) %>%
  layout(polar=list(sector=c(20,160), radialaxis=list(angle=90, range=c(0,maximum)),
                    angularaxis=list(thetaunit='radians', direction="clockwise", rotation=0)), 
         title="All notes produced by NZE players at piano intensity")
p

rm(p1,p2,p3,p4,p5)

4.2 Tongan

4.2.1 forte

colors=c(RED0,PURPLE0,ORANGE0,GOLD0,dark_blue)
# run plot_smooth to grab values for fit, upper & lower bounds
p1=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="Tongan.Bb2.forte"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb2.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

p2=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="Tongan.F3.forte"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F3.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

p3=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="Tongan.Bb3.forte"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb3.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

p4=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="Tongan.D4.forte"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.D4.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

p5=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="Tongan.F4.forte"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F4.forte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

smooth_names=c("Bb2","F3","Bb3","D4","F4")
# set Rho max to the max of the fit + half the difference between max of the fit and the upper limit
max_ul = max(p1$fv$ul, p2$fv$ul, p3$fv$ul, p4$fv$ul, p5$fv$ul)
max_fit = max(p1$fv$fit, p2$fv$fit, p3$fv$fit, p4$fv$fit, p5$fv$fit)
maximum=max_fit+((max_ul-max_fit)/2)
# plot in polar coordinates
p=plot_ly(type='scatterpolar', mode='lines') %>% 
  add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$fit, line=list(color=colors[1], width=2.5), name=smooth_names[1]) %>% 
  add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$ul, line=list(color=colors[1], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$ll, line=list(color=colors[1], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$fit, line=list(color=colors[2], width=2.5),name=smooth_names[2]) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$ul, line=list(color=colors[2], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$ll, line=list(color=colors[2], dash="dot", width=0.5), showlegend=FALSE) %>%
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p3$fv$fit, line=list(color=colors[3], width=2.5), name=smooth_names[3]) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p3$fv$ul, line=list(color=colors[3], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p3$fv$ll, line=list(color=colors[3], dash="dot", width=0.5), showlegend=FALSE) %>%
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p4$fv$fit, line=list(color=colors[4], width=2.5), name=smooth_names[4]) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p4$fv$ul, line=list(color=colors[4], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p4$fv$ll, line=list(color=colors[4], dash="dot", width=0.5), showlegend=FALSE) %>%
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p5$fv$fit, line=list(color=colors[5], width=2.5), name=smooth_names[5]) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p5$fv$ul, line=list(color=colors[5], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p5$fv$ll, line=list(color=colors[5], dash="dot", width=0.5), showlegend=FALSE) %>%
  layout(polar=list(sector=c(20,160), radialaxis=list(angle=90, range=c(0,maximum)),
                    angularaxis=list(thetaunit='radians', direction="clockwise", rotation=0)), 
         title=paste0("All notes produced by Tongan players at forte intensity"))
p

rm(p1,p2,p3,p4,p5)

4.2.2 mezzoforte

# select colors from RColorBrewer
# display.brewer.pal(11,"RdYlBu")
# define colors -> colorblind_safe
# colors = brewer.pal(11,"RdYlBu")[c(1,2,4,9,11)]
# use colors from PhD
RED0 = (rgb(213,13,11, 255, maxColorValue=255))
# BROWN0 = (rgb(123,73,55,255, maxColorValue=255))
PURPLE0 = (rgb(143,72,183,255, maxColorValue=255))
# GRAY0 = (rgb(108,108,108,255, maxColorValue=255))
# GREEN0 = (rgb(0,151,55,255, maxColorValue=255))
ORANGE0 = (rgb(255,123,0,255, maxColorValue=255))
# PINK0 = (rgb(224,130,180,255, maxColorValue=255))
# TEAL0 = (rgb(0,175,195,255, maxColorValue=255))
GOLD0 = (rgb(172,181,0,255, maxColorValue=255))
# light_blue=rgb(0,117,220,255,maxColorValue=255) #col2
# pink=rgb(194,0,136,255,maxColorValue=255) #col13
dark_blue=rgb(0,51,128,255,maxColorValue=255) #col14
# dark_red=rgb(153,0,0,255,maxColorValue=255)
colors=c(RED0,PURPLE0,ORANGE0,GOLD0,dark_blue)
# run plot_smooth to grab values for fit, upper & lower bounds
p1=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="Tongan.Bb2.mezzoforte"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb2.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

p2=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="Tongan.F3.mezzoforte"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F3.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

p3=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="Tongan.Bb3.mezzoforte"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb3.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

p4=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="Tongan.D4.mezzoforte"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.D4.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

p5=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="Tongan.F4.mezzoforte"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F4.mezzoforte. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

smooth_names=c("Bb2","F3","Bb3","D4","F4")
# set Rho max to the max of the fit + half the difference between max of the fit and the upper limit
max_ul = max(p1$fv$ul, p2$fv$ul, p3$fv$ul, p4$fv$ul, p5$fv$ul)
max_fit = max(p1$fv$fit, p2$fv$fit, p3$fv$fit, p4$fv$fit, p5$fv$fit)
maximum=max_fit+((max_ul-max_fit)/2)
# plot in polar coordinates
p=plot_ly(type='scatterpolar', mode='lines') %>% 
  add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$fit, line=list(color=colors[1], width=2.5), name=smooth_names[1]) %>% 
  add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$ul, line=list(color=colors[1], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$ll, line=list(color=colors[1], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$fit, line=list(color=colors[2], width=2.5),name=smooth_names[2]) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$ul, line=list(color=colors[2], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$ll, line=list(color=colors[2], dash="dot", width=0.5), showlegend=FALSE) %>%
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p3$fv$fit, line=list(color=colors[3], width=2.5), name=smooth_names[3]) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p3$fv$ul, line=list(color=colors[3], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p3$fv$ll, line=list(color=colors[3], dash="dot", width=0.5), showlegend=FALSE) %>%
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p4$fv$fit, line=list(color=colors[4], width=2.5), name=smooth_names[4]) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p4$fv$ul, line=list(color=colors[4], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p4$fv$ll, line=list(color=colors[4], dash="dot", width=0.5), showlegend=FALSE) %>%
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p5$fv$fit, line=list(color=colors[5], width=2.5), name=smooth_names[5]) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p5$fv$ul, line=list(color=colors[5], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p5$fv$ll, line=list(color=colors[5], dash="dot", width=0.5), showlegend=FALSE) %>%
  layout(polar=list(sector=c(20,160), radialaxis=list(angle=90, range=c(0,maximum)),
                    angularaxis=list(thetaunit='radians', direction="clockwise", rotation=0)), 
         title=paste0("All notes produced by Tongan players at mezzoforte intensity"))
p

rm(p1,p2,p3,p4,p5)

4.2.3 mezzopiano

colors=c(RED0,PURPLE0,ORANGE0,GOLD0,dark_blue)
# run plot_smooth to grab values for fit, upper & lower bounds
p1=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="Tongan.Bb2.mezzopiano"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb2.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

p2=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="Tongan.F3.mezzopiano"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F3.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

p3=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="Tongan.Bb3.mezzopiano"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb3.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

p4=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="Tongan.D4.mezzopiano"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.D4.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

p5=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="Tongan.F4.mezzopiano"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F4.mezzopiano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

smooth_names=c("Bb2","F3","Bb3","D4","F4")
# set Rho max to the max of the fit + half the difference between max of the fit and the upper limit
max_ul = max(p1$fv$ul, p2$fv$ul, p3$fv$ul, p4$fv$ul, p5$fv$ul)
max_fit = max(p1$fv$fit, p2$fv$fit, p3$fv$fit, p4$fv$fit, p5$fv$fit)
maximum=max_fit+((max_ul-max_fit)/2)
# plot in polar coordinates
p=plot_ly(type='scatterpolar', mode='lines') %>% 
  add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$fit, line=list(color=colors[1], width=2.5), name=smooth_names[1]) %>% 
  add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$ul, line=list(color=colors[1], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$ll, line=list(color=colors[1], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$fit, line=list(color=colors[2], width=2.5),name=smooth_names[2]) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$ul, line=list(color=colors[2], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$ll, line=list(color=colors[2], dash="dot", width=0.5), showlegend=FALSE) %>%
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p3$fv$fit, line=list(color=colors[3], width=2.5), name=smooth_names[3]) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p3$fv$ul, line=list(color=colors[3], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p3$fv$ll, line=list(color=colors[3], dash="dot", width=0.5), showlegend=FALSE) %>%
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p4$fv$fit, line=list(color=colors[4], width=2.5), name=smooth_names[4]) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p4$fv$ul, line=list(color=colors[4], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p4$fv$ll, line=list(color=colors[4], dash="dot", width=0.5), showlegend=FALSE) %>%
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p5$fv$fit, line=list(color=colors[5], width=2.5), name=smooth_names[5]) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p5$fv$ul, line=list(color=colors[5], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p5$fv$ll, line=list(color=colors[5], dash="dot", width=0.5), showlegend=FALSE) %>%
  layout(polar=list(sector=c(20,160), radialaxis=list(angle=90, range=c(0,maximum)),
                    angularaxis=list(thetaunit='radians', direction="clockwise", rotation=0)), 
         title=paste0("All notes produced by Tongan players at mezzopiano intensity"))
p

rm(p1,p2,p3,p4,p5)

4.2.4 piano

colors=c(RED0,PURPLE0,ORANGE0,GOLD0,dark_blue)
# run plot_smooth to grab values for fit, upper & lower bounds
p1=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="Tongan.Bb2.piano"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb2.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

p2=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="Tongan.F3.piano"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F3.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

p3=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="Tongan.Bb3.piano"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.Bb3.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

p4=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="Tongan.D4.piano"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.D4.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

p5=plot_smooth(x=Notes.gam.AR.Mod2, view="theta_uncut_z", 
               cond=list(langNoteInt.ord="Tongan.F4.piano"), rm.ranef=TRUE)
Summary:
    * langNoteInt.ord : factor; set to the value(s): Tongan.F4.piano. 
    * theta_uncut_z : numeric predictor; with 30 values ranging from -2.648777 to -0.654831. 
    * subject : factor; set to the value(s): S3. (Might be canceled as random effect, check below.) 
    * noteIntenInt : factor; set to the value(s): F3.mezzoforte. 
    * NOTE : The following random effects columns are canceled: s(theta_uncut_z,subject):noteIntenIntBb2.piano,s(theta_uncut_z,subject):noteIntenIntF3.piano,s(theta_uncut_z,subject):noteIntenIntBb3.piano,s(theta_uncut_z,subject):noteIntenIntD4.piano,s(theta_uncut_z,subject):noteIntenIntF4.piano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb3.mezzopiano,s(theta_uncut_z,subject):noteIntenIntD4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntF4.mezzopiano,s(theta_uncut_z,subject):noteIntenIntBb2.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb3.mezzoforte,s(theta_uncut_z,subject):noteIntenIntD4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntF4.mezzoforte,s(theta_uncut_z,subject):noteIntenIntBb2.forte,s(theta_uncut_z,subject):noteIntenIntF3.forte,s(theta_uncut_z,subject):noteIntenIntBb3.forte,s(theta_uncut_z,subject):noteIntenIntD4.forte,s(theta_uncut_z,subject):noteIntenIntF4.forte
 

smooth_names=c("Bb2","F3","Bb3","D4","F4")
# set Rho max to the max of the fit + half the difference between max of the fit and the upper limit
max_ul = max(p1$fv$ul, p2$fv$ul, p3$fv$ul, p4$fv$ul, p5$fv$ul)
max_fit = max(p1$fv$fit, p2$fv$fit, p3$fv$fit, p4$fv$fit, p5$fv$fit)
maximum=max_fit+((max_ul-max_fit)/2)
# plot in polar coordinates
p=plot_ly(type='scatterpolar', mode='lines') %>% 
  add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$fit, line=list(color=colors[1], width=2.5), name=smooth_names[1]) %>% 
  add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$ul, line=list(color=colors[1], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p1$fv$theta_uncut_z*180/pi, r=p1$fv$ll, line=list(color=colors[1], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$fit, line=list(color=colors[2], width=2.5),name=smooth_names[2]) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$ul, line=list(color=colors[2], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p2$fv$ll, line=list(color=colors[2], dash="dot", width=0.5), showlegend=FALSE) %>%
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p3$fv$fit, line=list(color=colors[3], width=2.5), name=smooth_names[3]) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p3$fv$ul, line=list(color=colors[3], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p3$fv$ll, line=list(color=colors[3], dash="dot", width=0.5), showlegend=FALSE) %>%
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p4$fv$fit, line=list(color=colors[4], width=2.5), name=smooth_names[4]) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p4$fv$ul, line=list(color=colors[4], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p4$fv$ll, line=list(color=colors[4], dash="dot", width=0.5), showlegend=FALSE) %>%
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p5$fv$fit, line=list(color=colors[5], width=2.5), name=smooth_names[5]) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p5$fv$ul, line=list(color=colors[5], dash="dot", width=0.5), showlegend=FALSE) %>% 
  add_trace(theta=p2$fv$theta_uncut_z*180/pi, r=p5$fv$ll, line=list(color=colors[5], dash="dot", width=0.5), showlegend=FALSE) %>%
  layout(polar=list(sector=c(20,160), radialaxis=list(angle=90, range=c(0,maximum)),
                    angularaxis=list(thetaunit='radians', direction="clockwise", rotation=0)), 
         title=paste0("All notes produced by Tongan players at piano intensity"))
p

rm(p1,p2,p3,p4,p5)
LS0tCnRpdGxlOiAiR0FNTXMgYW5hbHlzZXMgVHJvbWJvbmUgLSBUb25nYW4gdnMgRW5nbGlzaCAoTlpFKSAtPiBQbG90cyIKYXV0aG9yOgotIEphbGFsIEFsLVRhbWltaSAoTmV3Y2FzdGxlIFVuaXZlcnNpdHkpCi0gRG9uYWxkIERlcnJpY2sgKFVuaXZlcnNpdHkgb2YgQ2FudGVyYnVyeSkKLSBNYXR0aGlhcyBIZXluZSAoQm9zdG9uIFVuaXZlcnNpdHkpCmRhdGU6ICJgciBmb3JtYXQoU3lzLnRpbWUoKSwgJyVkICVCICVZJylgIgpvdXRwdXQ6CiAgd29yZF9kb2N1bWVudDoKICAgIHRvYzogeWVzCiAgICB0b2NfZGVwdGg6ICc2JwogIGh0bWxfbm90ZWJvb2s6CiAgICBudW1iZXJfc2VjdGlvbnM6IHllcwogICAgdG9jOiB5ZXMKICAgIHRvY19kZXB0aDogNgogICAgdG9jX2Zsb2F0OgogICAgICBjb2xsYXBzZWQ6IHllcwogIHBkZl9kb2N1bWVudDoKICAgIHRvYzogeWVzCiAgICB0b2NfZGVwdGg6ICc2JwogIGh0bWxfZG9jdW1lbnQ6CiAgICB0b2M6IHllcwogICAgdG9jX2RlcHRoOiAnNicKLS0tCgpUaGlzIG5vdGVib29rIHByb3ZpZGVzIHNvbWUgcGxvdHMgZm9yIHRoZSBhcnRpY2xlOiBIZXluZSwgTS4sIERlcnJpY2ssIEQuLCBhbmQgQWwtVGFtaW1pLCBKLiAodW5kZXIgcmV2aWV3KS4gIk5hdGl2ZSBsYW5ndWFnZSBpbmZsdWVuY2Ugb24gYnJhc3MgaW5zdHJ1bWVudCBwZXJmb3JtYW5jZTogQW4gYXBwbGljYXRpb24gb2YgZ2VuZXJhbGl6ZWQgYWRkaXRpdmUgbWl4ZWQgbW9kZWxzIChHQU1NcykgdG8gbWlkc2FnaXR0YWwgdWx0cmFzb3VuZCBpbWFnZXMgb2YgdGhlIHRvbmd1ZSIuIEZyb250aWVycyBSZXNlYXJjaCBUb3BpYzogTW9kZWxzIGFuZCBUaGVvcmllcyBvZiBTcGVlY2ggUHJvZHVjdGlvbi4gRWQuIEFkYW1hbnRpb3MgR2Fmb3MgJiBQYXNjYWwgdmFuIExpZXNob3V0LgoKCiMgTG9hZGluZyBwYWNrYWdlcyAmIGN1c3RvbSBwbG90dGluZyBmdW5jdGlvbnMKCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFfQpsb2FkX3BhY2thZ2VzID0gYygicmVhZHIiLCJrbml0ciIsImdncGxvdDIiLCJtZ2N2IiwiaXRzYWR1ZyIsInBhcmFsbGVsIiwiZHBseXIiLCJybGlzdCIsInBsb3RseSIpCiMgZHBseXIsIHJsaXN0LCBhbmQgcGxvdGx5IGFyZSByZXF1aXJlZCBieSB0aGUgY3VzdG9tIHBsb3R0aW5nIGZ1bmN0aW9ucwpmb3IocGtnIGluIGxvYWRfcGFja2FnZXMpewogIGV2YWwoYnF1b3RlKGxpYnJhcnkoLihwa2cpKSkpCiAgaWYgKHBhc3RlMCgicGFja2FnZToiLCBwa2cpICVpbiUgc2VhcmNoKCkpewogICAgY2F0KHBhc3RlMCgiU3VjY2Vzc2Z1bGx5IGxvYWRlZCB0aGUgIiwgcGtnLCAiIHBhY2thZ2UuXG4iKSkKICB9ZWxzZXsKICAgIGluc3RhbGwucGFja2FnZXMocGtnKQogICAgZXZhbChicXVvdGUobGlicmFyeSguKHBrZykpKSkKICAgIGlmIChwYXN0ZTAoInBhY2thZ2U6IiwgcGtnKSAlaW4lIHNlYXJjaCgpKXsKICAgICAgY2F0KHBhc3RlMCgiU3VjY2Vzc2Z1bGx5IGxvYWRlZCB0aGUgIiwgcGtnLCAiIHBhY2thZ2UuXG4iKSkKICAgIH0KICB9Cn0Kcm0obG9hZF9wYWNrYWdlcywgcGtnKQoKIyBkZXRlY3QgbnVtYmVyIG9mIGNvcmVzIGF2YWlsYWJsZSBmb3IgbW9kZWwgY2FsY3VsYXRpb25zCm5jb3JlcyA9IGRldGVjdENvcmVzKCkKY2F0KHBhc3RlMCgiTnVtYmVyIG9mIGNvcmVzIGF2YWlsYWJsZSBmb3IgbW9kZWwgY2FsY3VsYXRpb25zIHNldCB0byAiLCBuY29yZXMsICIuIikpCmBgYAoKCiMjIEZ1bmN0aW9ucwoKIyMjIHBsb3RseV9zaWdfZGlmZl9ub3RlcyBmdW5jdGlvbiAoTWF0dGhpYXMgSGV5bmUsIDIwMTkpCgpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRX0KIyBwbG90IHNtb290aHMgd2l0aCBzaGFkaW5nIHRvIGluZGljYXRlIHNpZ25pZmljYW50IGRpZmZlcmVuY2VzIChNYXR0aGlhcyBIZXluZSwgMjAxOSkKcGxvdGx5X3Ntb290aHNfd19zaWdfZGlmZiA8LSBmdW5jdGlvbihtb2RlbCwgY29uZGl0aW9uLCB2YXIxLCB2YXIyLCB2YWx1ZXMsIGxhbmd1YWdlLCBwcmludD1UUlVFKXsKICAjIHNwZWNpZnkgcGF0aCBmb3Igc2F2aW5nIHBsb3RzCiAgIyBwbG90X2ZvbGRlciA9ICJzYXZlZF9wbG90cyIKICAjIFN5cy5zZXRlbnYoTUFQQk9YX1RPS0VOID0gMTExMjIyMjMzMzM0NDQpCiAgIyBnZXQgaW50ZXJ2YWxzIG9mIHNpZ25pZmljYW50IGRpZmZlcmVuY2VzIGJ5IHJ1bm5pbmcgcGxvdF9kaWZmCiAgIyB1bmZvcnR1bmF0ZWx5IHNldHRpbmcgcGxvdD1GQUxTRSBkb2Vzbid0IHdvcmsgYXMgaW50ZXJ2YWxzIG9mIHNpZ25pZmljYW50IGRpZmZlcmVuY2UgYXJlIG5vdCBkaXNwbGF5ZWQhCiAgIyBoYXJkY29kZWQgY29uZGl0aW9uCiAgIyBvdXRwdXQgPSBjYXB0dXJlLm91dHB1dChwbG90X2RpZmYoZ2V0KG1vZGVsKSwgdmlldz12YWx1ZXMsIAogICMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbXA9bGlzdCh0b2tlblBvb2xlZC5vcmQ9Yyh2YXIxLCB2YXIyKSkpKQogICMgb3V0cHV0ID0gY2FwdHVyZS5vdXRwdXQocGxvdF9kaWZmKGdldChtb2RlbCksIHZpZXc9dmFsdWVzLCBjb21wPWxpc3QobGFuZ05vdGVJbnQub3JkPWMocGFzdGUwKCJUb25nYW4uIiwgbm90ZSwgIi4iLCBpbnRlbnNpdHkpLCBwYXN0ZTAoIk5aRS4iLCBub3RlLCAiLiIsIGludGVuc2l0eSkpKSkpCiAgbmFtZXNfc21vb3Rocz1saXN0KCkKICBpZiAoY29uZGl0aW9uPT0idG9rZW5Qb29sZWQub3JkIiAmJiBsZW5ndGgobGFuZ3VhZ2UpPT0xKXsKICAgIG91dHB1dF9jb21wID0gY2FwdHVyZS5vdXRwdXQoY2F0KHBhc3RlMCgibGlzdCgiLCBjb25kaXRpb24sICI9Yyh2YXIxLCB2YXIyKSkiKSkpCiAgICBuYW1lc19zbW9vdGhzWzFdPXZhcjEKICAgIG5hbWVzX3Ntb290aHNbMl09dmFyMgogICAgcGxvdF90aXRsZSA9IHBhc3RlMCgiR0FNIHNtb290aHMgIiwgbGFuZ3VhZ2UsICIgIiwgdmFyMSwgIiB2cyAiLCB2YXIyKQogICAgIyBwbG90X2ZpbGVuYW1lID0gcGFzdGUwKGxhbmd1YWdlLCAiXyIsIHZhcjEsICJfdnNfIiwgdmFyMiwgIl9mcm9tXyIsIG1vZGVsKQogIH1lbHNlIGlmIChjb25kaXRpb249PSJsYW5nTm90ZUludC5vcmQiICYmIGxlbmd0aChsYW5ndWFnZSk9PTIpewogICAgb3V0cHV0X2NvbXAgPSBjYXB0dXJlLm91dHB1dChjYXQocGFzdGUwKCJsaXN0KCIsIGNvbmRpdGlvbiwgIj1jKCciLCBsYW5ndWFnZVsxXSwgIi4iLCB2YXIxLCAiLiIsIHZhcjIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICInLCAnIiwgbGFuZ3VhZ2VbMl0sICIuIiwgdmFyMSwgIi4iLCB2YXIyLCAiJykpIikpKQogICAgbmFtZXNfc21vb3Roc1sxXT1wYXN0ZTAobGFuZ3VhZ2VbMV0sICIuIiwgdmFyMSwgIi4iLCB2YXIyKQogICAgbmFtZXNfc21vb3Roc1syXT1wYXN0ZTAobGFuZ3VhZ2VbMl0sICIuIiwgdmFyMSwgIi4iLCB2YXIyKQogICAgcGxvdF90aXRsZSA9IHBhc3RlMCgiR0FNIHNtb290aHMgIiwgbGFuZ3VhZ2VbMV0sICIuIiwgdmFyMSwgIi4iLCB2YXIyLCAiIHZzICIsIGxhbmd1YWdlWzJdLCAiLiIsIHZhcjEsICIuIiwgdmFyMikKICAgICMgcGxvdF9maWxlbmFtZSA9IHBhc3RlMChsYW5ndWFnZVsxXSwgIi4iLCB2YXIxLCAiLiIsIHZhcjIsICJfdnNfIiwgbGFuZ3VhZ2VbMl0sICIuIiwgdmFyMSwgIi4iLCB2YXIyLCAiX2Zyb21fIiwgbW9kZWwpCiAgfWVsc2UgaWYgKGNvbmRpdGlvbj09ImxhbmdOb3RlSW50Lm9yZCIgJiYgbGVuZ3RoKGxhbmd1YWdlKT09MSAmJiBsZW5ndGgodmFyMSk9PTIpewogICAgb3V0cHV0X2NvbXAgPSBjYXB0dXJlLm91dHB1dChjYXQocGFzdGUwKCJsaXN0KCIsIGNvbmRpdGlvbiwgIj1jKCciLCBsYW5ndWFnZSwgIi4iLCB2YXIxWzFdLCAiLiIsIHZhcjIsIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICInLCAnIiwgbGFuZ3VhZ2UsICIuIiwgdmFyMVsyXSwgIi4iLCB2YXIyLCAiJykpIikpKQogICAgbmFtZXNfc21vb3Roc1sxXT1wYXN0ZTAobGFuZ3VhZ2UsICIuIiwgdmFyMVsxXSwgIi4iLCB2YXIyKQogICAgbmFtZXNfc21vb3Roc1syXT1wYXN0ZTAobGFuZ3VhZ2UsICIuIiwgdmFyMVsyXSwgIi4iLCB2YXIyKQogICAgcGxvdF90aXRsZSA9IHBhc3RlMCgiR0FNIHNtb290aHMgIiwgbGFuZ3VhZ2UsICIuIiwgdmFyMVsxXSwgIi4iLCB2YXIyLCAiIHZzICIsIGxhbmd1YWdlLCAiLiIsIHZhcjFbMl0sICIuIiwgdmFyMikKICAgICMgcGxvdF9maWxlbmFtZSA9IHBhc3RlMChsYW5ndWFnZSwgIi4iLCB2YXIxWzFdLCAiLiIsIHZhcjIsICJfdnNfIiwgbGFuZ3VhZ2UsICIuIiwgdmFyMVsyXSwgIi4iLCB2YXIyLCAiX2Zyb21fIiwgbW9kZWwpCiAgfQogICMgb3V0cHV0X2NvbXAgPSBjYXB0dXJlLm91dHB1dChjYXQocGFzdGUwKCJsaXN0KCIsIGNvbmRpdGlvbiwgIj1jKHZhcjEsIHZhcjIpKSIpKSkKICBvdXRwdXQgPSBjYXB0dXJlLm91dHB1dChwbG90X2RpZmYoZ2V0KG1vZGVsKSwgdmlldz12YWx1ZXMsIGNvbXA9ZXZhbChwYXJzZSh0ZXh0PW91dHB1dF9jb21wKSkpKQogICMgbm8gc2lnbmlmaWNhbnQgZGlmZmVyZW5jZQogIGlmICgobGVuZ3RoKGxhbmd1YWdlKT09MSAmJiBsZW5ndGgodmFyMSk9PTEgJiYgbGVuZ3RoKG91dHB1dCk9PTcpIHwgKGxlbmd0aChsYW5ndWFnZSk9PTIgJiYgbGVuZ3RoKG91dHB1dCk9PTYpIHwgCiAgICAobGVuZ3RoKGxhbmd1YWdlKT09MSAmJiBsZW5ndGgodmFyMSk9PTIgJiYgbGVuZ3RoKG91dHB1dCk9PTYpKXsKICAgIGlmIChsZW5ndGgodmFyMSk9PTEpewogICAgICBjYXQocGFzdGUwKCJTbW9vdGhzIGZvciAiLCB2YXIxLCAiICYgIiwgdmFyMiwgIiBhcmUgbm90IHNpZ25pZmljYW50bHkgZGlmZmVyZW50LlxuIikpCiAgICAgIGRhdDEgPSBOQQogICAgICBhc3NpZ24ocGFzdGUwKCJpbnRfc2lnX2RpZmZfIiwgdmFyMSwgIl8iLCB2YXIyKSwgZGF0MSwgZW52aXIgPSAuR2xvYmFsRW52KQogICAgfWVsc2V7CiAgICAgIGNhdChwYXN0ZTAoIlNtb290aHMgZm9yICIsIHZhcjFbMV0sICIgJiAiLCB2YXIxWzJdLCAiIGluICIsIGxhbmd1YWdlLCAiIGFyZSBub3Qgc2lnbmlmaWNhbnRseSBkaWZmZXJlbnQuXG4iKSkKICAgICAgZGF0MSA9IE5BCiAgICAgIGFzc2lnbihwYXN0ZTAoImludF9zaWdfZGlmZl8iLCB2YXIxWzFdLCAiXyIsIHZhcjFbMl0sICJfIiwgdmFyMiwgIl8iLCBsYW5ndWFnZSksIGRhdDEsIGVudmlyID0gLkdsb2JhbEVudikKICAgIH0KICAgIHJtKGRhdDEsIG91dHB1dCkKICAgICMgcnVuIHBsb3Rfc21vb3RoIHRvIGdyYWIgZGF0YSBmb3IgcG9sYXIgcGxvdHMKICAgIGlmIChjb25kaXRpb249PSJ0b2tlblBvb2xlZC5vcmQiICYmIGxlbmd0aChsYW5ndWFnZSk9PTEpewogICAgICBjb25kX3AxID0gY2FwdHVyZS5vdXRwdXQoY2F0KHBhc3RlMCgibGlzdCgiLCBjb25kaXRpb24sICI9dmFyMSkiKSkpCiAgICAgIGNvbmRfcDIgPSBjYXB0dXJlLm91dHB1dChjYXQocGFzdGUwKCJsaXN0KCIsIGNvbmRpdGlvbiwgIj12YXIyKSIpKSkKICAgIH1lbHNlIGlmIChjb25kaXRpb249PSJsYW5nTm90ZUludC5vcmQiICYmIGxlbmd0aChsYW5ndWFnZSk9PTIpewogICAgICBjb25kX3AxID0gY2FwdHVyZS5vdXRwdXQoY2F0KHBhc3RlMCgibGlzdCgiLCBjb25kaXRpb24sICI9JyIsIGxhbmd1YWdlWzFdLCAiLiIsIHZhcjEsICIuIiwgdmFyMiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICInLCAiLCBjb25kaXRpb24sICI9JyIsIGxhbmd1YWdlWzJdLCAiLiIsIHZhcjEsICIuIiwgdmFyMiwgIicpIikpKQogICAgICBjb25kX3AyID0gY2FwdHVyZS5vdXRwdXQoY2F0KHBhc3RlMCgibGlzdCgiLCBjb25kaXRpb24sICI9JyIsIGxhbmd1YWdlWzJdLCAiLiIsIHZhcjEsICIuIiwgdmFyMiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICInLCAiLCBjb25kaXRpb24sICI9JyIsIGxhbmd1YWdlWzFdLCAiLiIsIHZhcjEsICIuIiwgdmFyMiwgIicpIikpKQogICAgfWVsc2UgaWYgKGNvbmRpdGlvbj09ImxhbmdOb3RlSW50Lm9yZCIgJiYgbGVuZ3RoKGxhbmd1YWdlKT09MSAmJiBsZW5ndGgodmFyMSk9PTIpewogICAgICBjb25kX3AxID0gY2FwdHVyZS5vdXRwdXQoY2F0KHBhc3RlMCgibGlzdCgiLCBjb25kaXRpb24sICI9JyIsIGxhbmd1YWdlLCAiLiIsIHZhcjFbMV0sICIuIiwgdmFyMiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICInLCAiLCBjb25kaXRpb24sICI9JyIsIGxhbmd1YWdlLCAiLiIsIHZhcjFbMl0sICIuIiwgdmFyMiwgIicpIikpKQogICAgICBjb25kX3AyID0gY2FwdHVyZS5vdXRwdXQoY2F0KHBhc3RlMCgibGlzdCgiLCBjb25kaXRpb24sICI9JyIsIGxhbmd1YWdlLCAiLiIsIHZhcjFbMl0sICIuIiwgdmFyMiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICInLCAiLCBjb25kaXRpb24sICI9JyIsIGxhbmd1YWdlLCAiLiIsIHZhcjFbMV0sICIuIiwgdmFyMiwgIicpIikpKQogICAgfQogICAgcDEgPSBwbG90X3Ntb290aCh4PWdldChtb2RlbCksIHZpZXc9dmFsdWVzLCBjb25kPWV2YWwocGFyc2UodGV4dD1jb25kX3AxKSksIHJtLnJhbmVmPVRSVUUpCiAgICBwMiA9IHBsb3Rfc21vb3RoKHg9Z2V0KG1vZGVsKSwgdmlldz12YWx1ZXMsIGNvbmQ9ZXZhbChwYXJzZSh0ZXh0PWNvbmRfcDIpKSwgcm0ucmFuZWY9VFJVRSkKICAgICMgIyBvbGQgLSBoYXJkY29kZWQKICAgICMgcDEgPSBwbG90X3Ntb290aCh4PWdldChtb2RlbCksIHZpZXc9dmFsdWVzLCBjb25kPWxpc3QodG9rZW5Qb29sZWQub3JkPXZhcjEsIHRva2VuUG9vbGVkLm9yZD12YXIyKSkKICAgICMgcDIgPSBwbG90X3Ntb290aCh4PWdldChtb2RlbCksIHZpZXc9dmFsdWVzLCBjb25kPWxpc3QodG9rZW5Qb29sZWQub3JkPXZhcjIsIHRva2VuUG9vbGVkLm9yZD12YXIxKSkKICAgICMgc2V0IFJobyBtYXggdG8gdGhlIG1heCBvZiB0aGUgZml0ICsgaGFsZiB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIG1heCBvZiB0aGUgZml0IGFuZCB0aGUgdXBwZXIgbGltaXQKICAgIG1heGltdW09bWF4KHAxJGZ2JGZpdCwgcDIkZnYkZml0KSsoKG1heChwMSRmdiR1bCwgcDIkZnYkdWwpLW1heChwMSRmdiRmaXQsIHAyJGZ2JGZpdCkpLzIpCiAgICAjIHBsb3QgaW4gcG9sYXIgY29vcmRpbmF0ZXMKICAgIHA9cGxvdF9seSh0eXBlPSdzY2F0dGVycG9sYXInLCBtb2RlPSdsaW5lcycpICU+JSAKICAgICAgYWRkX3RyYWNlKHRoZXRhPXAxJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXAxJGZ2JGZpdCwgbGluZT1saXN0KGNvbG9yPSJibHVlIiwgZGFzaD0iZGFzaCIsIHdpZHRoPTIuNSksIG5hbWU9bmFtZXNfc21vb3Roc1sxXSkgJT4lIAogICAgICBhZGRfdHJhY2UodGhldGE9cDEkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDEkZnYkdWwsIGxpbmU9bGlzdChjb2xvcj0iYmx1ZSIsIGRhc2g9ImRhc2giLCB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUgCiAgICAgIGFkZF90cmFjZSh0aGV0YT1wMSRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wMSRmdiRsbCwgbGluZT1saXN0KGNvbG9yPSJibHVlIiwgZGFzaD0iZGFzaCIsICB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUgCiAgICAgIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wMiRmdiRmaXQsIGxpbmU9bGlzdChjb2xvcj0icmVkIiwgd2lkdGg9Mi41KSwgbmFtZT1uYW1lc19zbW9vdGhzWzJdKSAlPiUgCiAgICAgIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wMiRmdiR1bCwgbGluZT1saXN0KGNvbG9yPSJyZWQiLCBkYXNoPSJkb3QiLCB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUgCiAgICAgIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wMiRmdiRsbCwgbGluZT1saXN0KGNvbG9yPSJyZWQiLCBkYXNoPSJkb3QiLCB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUKICAgICAgbGF5b3V0KHBvbGFyPWxpc3Qoc2VjdG9yPWMoMjAsMTYwKSwgcmFkaWFsYXhpcz1saXN0KGFuZ2xlPTkwLCByYW5nZT1jKDAsbWF4aW11bSkpLAogICAgICAgICAgICAgICAgICAgICAgICBhbmd1bGFyYXhpcz1saXN0KHRoZXRhdW5pdD0ncmFkaWFucycsIGRpcmVjdGlvbj0iY2xvY2t3aXNlIiwgcm90YXRpb249MCkpLCAKICAgICAgICAgICAgIHRpdGxlPXBhc3RlMCgiR0FNIHNtb290aHMgIiwgbGFuZ3VhZ2UsICIgIiwgdmFyMSwgIiB2cyAiLCB2YXIyKSwgCiAgICAgICAgICAgICBsZWdlbmQ9bGlzdChvcmllbnRhdGlvbj0iaCIsIHhhbmNob3I9ImNlbnRlciIsIHg9MC41KSkKICAgIFN5cy5zbGVlcCgwKQogICAgcHJpbnQocCkKICAjIHRoZXJlIGFyZSBkaWZmZXJlbmNlcy4uLgogIH1lbHNlewogICAgIyBncmFiIGludGVydmFscyBvZiBzaWduaWZpY2FudCBkaWZmZXJlbmNlcyBmcm9tIG91dHB1dAogICAgaWYgKGxlbmd0aChsYW5ndWFnZSk9PTEgJiYgbGVuZ3RoKHZhcjEpPT0xICYmIGxlbmd0aChvdXRwdXQpPj04KXsKICAgICMgaWYgKGxlbmd0aChsYW5ndWFnZSk9PTEgJiYgbGVuZ3RoKG91dHB1dCk+PTgpewogICAgICBzaWdfZGlmZjEgPSBjKGFzLmRvdWJsZSh1bmxpc3Qoc3Ryc3BsaXQodW5saXN0KHN0cnNwbGl0KG91dHB1dFs4XSwgIiAiKSlbMV0sICJcdCIpKVsyXSksIGFzLmRvdWJsZSh1bmxpc3Qoc3Ryc3BsaXQob3V0cHV0WzhdLCAiICIpKVszXSkpCiAgICB9ZWxzZSBpZiAoKGxlbmd0aChsYW5ndWFnZSk9PTIgJiYgbGVuZ3RoKG91dHB1dCk+PTcpIHwgKGxlbmd0aChsYW5ndWFnZSk9PTEgJiYgbGVuZ3RoKHZhcjEpPT0yICYmIGxlbmd0aChvdXRwdXQpPj03KSl7CiAgICAjIH1lbHNlIGlmIChsZW5ndGgobGFuZ3VhZ2UpPT0yICYmIGxlbmd0aChvdXRwdXQpPj03KXsKICAgICAgc2lnX2RpZmYxID0gYyhhcy5kb3VibGUodW5saXN0KHN0cnNwbGl0KHVubGlzdChzdHJzcGxpdChvdXRwdXRbN10sICIgIikpWzFdLCAiXHQiKSlbMl0pLCBhcy5kb3VibGUodW5saXN0KHN0cnNwbGl0KG91dHB1dFs3XSwgIiAiKSlbM10pKQogICAgfQogICAgaWYgKGxlbmd0aChsYW5ndWFnZSk9PTEgJiYgbGVuZ3RoKHZhcjEpPT0xICYmIGxlbmd0aChvdXRwdXQpPj05KXsKICAgICMgaWYgKGxlbmd0aChsYW5ndWFnZSk9PTEgJiYgbGVuZ3RoKG91dHB1dCk+PTkpewogICAgICBzaWdfZGlmZjIgPSBjKGFzLmRvdWJsZSh1bmxpc3Qoc3Ryc3BsaXQodW5saXN0KHN0cnNwbGl0KG91dHB1dFs5XSwgIiAiKSlbMV0sICJcdCIpKVsyXSksIGFzLmRvdWJsZSh1bmxpc3Qoc3Ryc3BsaXQob3V0cHV0WzldLCAiICIpKVszXSkpCiAgICB9ZWxzZSBpZiAoKGxlbmd0aChsYW5ndWFnZSk9PTIgJiYgbGVuZ3RoKG91dHB1dCk+PTgpIHwgKGxlbmd0aChsYW5ndWFnZSk9PTEgJiYgbGVuZ3RoKHZhcjEpPT0yICYmIGxlbmd0aChvdXRwdXQpPj04KSl7CiAgICAjIH1lbHNlIGlmIChsZW5ndGgobGFuZ3VhZ2UpPT0yICYmIGxlbmd0aChvdXRwdXQpPj04KXsKICAgICAgc2lnX2RpZmYyID0gYyhhcy5kb3VibGUodW5saXN0KHN0cnNwbGl0KHVubGlzdChzdHJzcGxpdChvdXRwdXRbOF0sICIgIikpWzFdLCAiXHQiKSlbMl0pLCBhcy5kb3VibGUodW5saXN0KHN0cnNwbGl0KG91dHB1dFs4XSwgIiAiKSlbM10pKQogICAgfQogICAgaWYgKGxlbmd0aChsYW5ndWFnZSk9PTEgJiYgbGVuZ3RoKHZhcjEpPT0xICYmIGxlbmd0aChvdXRwdXQpPj0xMCl7CiAgICAjIGlmIChsZW5ndGgobGFuZ3VhZ2UpPT0xICYmIGxlbmd0aChvdXRwdXQpPj0xMCl7CiAgICAgIHNpZ19kaWZmMyA9IGMoYXMuZG91YmxlKHVubGlzdChzdHJzcGxpdCh1bmxpc3Qoc3Ryc3BsaXQob3V0cHV0WzEwXSwgIiAiKSlbMV0sICJcdCIpKVsyXSksIGFzLmRvdWJsZSh1bmxpc3Qoc3Ryc3BsaXQob3V0cHV0WzEwXSwgIiAiKSlbM10pKQogICAgfWVsc2UgaWYgKChsZW5ndGgobGFuZ3VhZ2UpPT0yICYmIGxlbmd0aChvdXRwdXQpPj05KSB8IChsZW5ndGgobGFuZ3VhZ2UpPT0xICYmIGxlbmd0aCh2YXIxKT09MiAmJiBsZW5ndGgob3V0cHV0KT49OSkpewogICAgIyB9ZWxzZSBpZiAobGVuZ3RoKGxhbmd1YWdlKT09MiAmJiBsZW5ndGgob3V0cHV0KT49OSl7CiAgICAgIHNpZ19kaWZmMyA9IGMoYXMuZG91YmxlKHVubGlzdChzdHJzcGxpdCh1bmxpc3Qoc3Ryc3BsaXQob3V0cHV0WzldLCAiICIpKVsxXSwgIlx0IikpWzJdKSwgYXMuZG91YmxlKHVubGlzdChzdHJzcGxpdChvdXRwdXRbOV0sICIgIikpWzNdKSkKICAgIH0KICAgIGlmIChsZW5ndGgobGFuZ3VhZ2UpPT0xICYmIGxlbmd0aCh2YXIxKT09MSAmJiBsZW5ndGgob3V0cHV0KT49MTEpewogICAgIyBpZiAobGVuZ3RoKGxhbmd1YWdlKT09MSAmJiBsZW5ndGgob3V0cHV0KT49MTEpewogICAgICBzaWdfZGlmZjQgPSBjKGFzLmRvdWJsZSh1bmxpc3Qoc3Ryc3BsaXQodW5saXN0KHN0cnNwbGl0KG91dHB1dFsxMV0sICIgIikpWzFdLCAiXHQiKSlbMl0pLCBhcy5kb3VibGUodW5saXN0KHN0cnNwbGl0KG91dHB1dFsxMV0sICIgIikpWzNdKSkKICAgIH1lbHNlIGlmICgobGVuZ3RoKGxhbmd1YWdlKT09MiAmJiBsZW5ndGgob3V0cHV0KT49MTApIHwgKGxlbmd0aChsYW5ndWFnZSk9PTEgJiYgbGVuZ3RoKHZhcjEpPT0yICYmIGxlbmd0aChvdXRwdXQpPj0xMCkpewogICAgIyB9ZWxzZSBpZiAobGVuZ3RoKGxhbmd1YWdlKT09MiAmJiBsZW5ndGgob3V0cHV0KT49MTApewogICAgICBzaWdfZGlmZjQgPSBjKGFzLmRvdWJsZSh1bmxpc3Qoc3Ryc3BsaXQodW5saXN0KHN0cnNwbGl0KG91dHB1dFsxMF0sICIgIikpWzFdLCAiXHQiKSlbMl0pLCBhcy5kb3VibGUodW5saXN0KHN0cnNwbGl0KG91dHB1dFsxMF0sICIgIikpWzNdKSkKICAgIH0KCiAgICAKICAgICMgd3JpdGUgaW50ZXJ2YWxzIG9mIHNpZ25pZmljYW50IGRpZmZlcmVuY2UgdG8gdmFyaWFibGUKICAgIGlmICgobGVuZ3RoKGxhbmd1YWdlKT09MSAmJiBsZW5ndGgodmFyMSk9PTEgJiYgbGVuZ3RoKG91dHB1dCk+PTExKSB8ICgobGVuZ3RoKGxhbmd1YWdlKT09MiAmJiBsZW5ndGgob3V0cHV0KT49MTApKSB8IAogICAgICAgIChsZW5ndGgobGFuZ3VhZ2UpPT0xICYmIGxlbmd0aCh2YXIxKT09MiAmJiBsZW5ndGgob3V0cHV0KT49MTApKXsKICAgICMgaWYgKChsZW5ndGgobGFuZ3VhZ2UpPT0xICYmIGxlbmd0aChvdXRwdXQpPj0xMSkgfCAobGVuZ3RoKGxhbmd1YWdlKT09MiAmJiBsZW5ndGgob3V0cHV0KT49MTApKXsKICAgICAgZGF0MSA9IGMoc2lnX2RpZmYxLCBzaWdfZGlmZjIsIHNpZ19kaWZmMywgc2lnX2RpZmY0KQogICAgfWVsc2UgaWYgKChsZW5ndGgobGFuZ3VhZ2UpPT0xICYmIGxlbmd0aCh2YXIxKT09MSAmJiBsZW5ndGgob3V0cHV0KT49MTApIHwgKChsZW5ndGgobGFuZ3VhZ2UpPT0yICYmIGxlbmd0aChvdXRwdXQpPj05KSkgfCAKICAgICAgICAgICAgICAobGVuZ3RoKGxhbmd1YWdlKT09MSAmJiBsZW5ndGgodmFyMSk9PTIgJiYgbGVuZ3RoKG91dHB1dCk+PTkpKXsKICAgICMgfWVsc2UgaWYgKChsZW5ndGgobGFuZ3VhZ2UpPT0xICYmIGxlbmd0aChvdXRwdXQpPj0xMCkgfCAobGVuZ3RoKGxhbmd1YWdlKT09MiAmJiBsZW5ndGgob3V0cHV0KT49OSkpewogICAgICBkYXQxID0gYyhzaWdfZGlmZjEsIHNpZ19kaWZmMiwgc2lnX2RpZmYzKQogICAgfWVsc2UgaWYgKChsZW5ndGgobGFuZ3VhZ2UpPT0xICYmIGxlbmd0aCh2YXIxKT09MSAmJiBsZW5ndGgob3V0cHV0KT49OSkgfCAoKGxlbmd0aChsYW5ndWFnZSk9PTIgJiYgbGVuZ3RoKG91dHB1dCk+PTgpKSB8IAogICAgICAgICAgICAgIChsZW5ndGgobGFuZ3VhZ2UpPT0xICYmIGxlbmd0aCh2YXIxKT09MiAmJiBsZW5ndGgob3V0cHV0KT49OCkpewogICAgIyB9ZWxzZSBpZiAoKGxlbmd0aChsYW5ndWFnZSk9PTEgJiYgbGVuZ3RoKG91dHB1dCk+PTkpIHwgKGxlbmd0aChsYW5ndWFnZSk9PTIgJiYgbGVuZ3RoKG91dHB1dCk+PTgpKXsKICAgICAgZGF0MSA9IGMoc2lnX2RpZmYxLCBzaWdfZGlmZjIpCiAgICB9ZWxzZXsKICAgICAgZGF0MSA9IHNpZ19kaWZmMQogICAgfQogICAgIyBvbGQKICAgICMgYXNzaWduKHBhc3RlMCgiaW50X3NpZ19kaWZmXyIsIHZhcjEsICJfIiwgdmFyMiksIGRhdDEsIGVudmlyID0gLkdsb2JhbEVudikKICAgIGlmIChsZW5ndGgodmFyMSk9PTEpewogICAgICBhc3NpZ24ocGFzdGUwKCJpbnRfc2lnX2RpZmZfIiwgdmFyMSwgIl8iLCB2YXIyKSwgZGF0MSwgZW52aXIgPSAuR2xvYmFsRW52KQogICAgfWVsc2V7CiAgICAgIGFzc2lnbihwYXN0ZTAoImludF9zaWdfZGlmZl8iLCB2YXIxWzFdLCAiXyIsIHZhcjFbMl0sICJfIiwgdmFyMiwgIl8iLCBsYW5ndWFnZSksIGRhdDEsIGVudmlyID0gLkdsb2JhbEVudikKICAgIH0KICAgIHJtKGRhdDEsIG91dHB1dCkKICAgICMgcnVuIHBsb3Rfc21vb3RoIHRvIGdyYWIgZGF0YSBmb3IgcG9sYXIgcGxvdHMKICAgIGlmIChjb25kaXRpb249PSJ0b2tlblBvb2xlZC5vcmQiICYmIGxlbmd0aChsYW5ndWFnZSk9PTEpewogICAgICBjb25kX3AxID0gY2FwdHVyZS5vdXRwdXQoY2F0KHBhc3RlMCgibGlzdCgiLCBjb25kaXRpb24sICI9dmFyMSkiKSkpCiAgICAgIGNvbmRfcDIgPSBjYXB0dXJlLm91dHB1dChjYXQocGFzdGUwKCJsaXN0KCIsIGNvbmRpdGlvbiwgIj12YXIyKSIpKSkKICAgIH1lbHNlIGlmIChjb25kaXRpb249PSJsYW5nTm90ZUludC5vcmQiICYmIGxlbmd0aChsYW5ndWFnZSk9PTIpewogICAgICBjb25kX3AxID0gY2FwdHVyZS5vdXRwdXQoY2F0KHBhc3RlMCgibGlzdCgiLCBjb25kaXRpb24sICI9JyIsIGxhbmd1YWdlWzFdLCAiLiIsIHZhcjEsICIuIiwgdmFyMiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIicsICIsIGNvbmRpdGlvbiwgIj0nIiwgbGFuZ3VhZ2VbMl0sICIuIiwgdmFyMSwgIi4iLCB2YXIyLCAiJykiKSkpCiAgICAgIGNvbmRfcDIgPSBjYXB0dXJlLm91dHB1dChjYXQocGFzdGUwKCJsaXN0KCIsIGNvbmRpdGlvbiwgIj0nIiwgbGFuZ3VhZ2VbMl0sICIuIiwgdmFyMSwgIi4iLCB2YXIyLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIicsICIsIGNvbmRpdGlvbiwgIj0nIiwgbGFuZ3VhZ2VbMV0sICIuIiwgdmFyMSwgIi4iLCB2YXIyLCAiJykiKSkpCiAgICB9ZWxzZSBpZiAoY29uZGl0aW9uPT0ibGFuZ05vdGVJbnQub3JkIiAmJiBsZW5ndGgobGFuZ3VhZ2UpPT0xICYmIGxlbmd0aCh2YXIxKT09Mil7CiAgICAgIGNvbmRfcDEgPSBjYXB0dXJlLm91dHB1dChjYXQocGFzdGUwKCJsaXN0KCIsIGNvbmRpdGlvbiwgIj0nIiwgbGFuZ3VhZ2UsICIuIiwgdmFyMVsxXSwgIi4iLCB2YXIyLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIicsICIsIGNvbmRpdGlvbiwgIj0nIiwgbGFuZ3VhZ2UsICIuIiwgdmFyMVsyXSwgIi4iLCB2YXIyLCAiJykiKSkpCiAgICAgIGNvbmRfcDIgPSBjYXB0dXJlLm91dHB1dChjYXQocGFzdGUwKCJsaXN0KCIsIGNvbmRpdGlvbiwgIj0nIiwgbGFuZ3VhZ2UsICIuIiwgdmFyMVsyXSwgIi4iLCB2YXIyLCAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIicsICIsIGNvbmRpdGlvbiwgIj0nIiwgbGFuZ3VhZ2UsICIuIiwgdmFyMVsxXSwgIi4iLCB2YXIyLCAiJykiKSkpCiAgICB9CiAgICBwMSA9IHBsb3Rfc21vb3RoKHg9Z2V0KG1vZGVsKSwgdmlldz12YWx1ZXMsIGNvbmQ9ZXZhbChwYXJzZSh0ZXh0PWNvbmRfcDEpKSwgcm0ucmFuZWY9VFJVRSkKICAgIHAyID0gcGxvdF9zbW9vdGgoeD1nZXQobW9kZWwpLCB2aWV3PXZhbHVlcywgY29uZD1ldmFsKHBhcnNlKHRleHQ9Y29uZF9wMikpLCBybS5yYW5lZj1UUlVFKQogICAgIyBzZXQgUmhvIG1heCB0byB0aGUgbWF4IG9mIHRoZSBmaXQgKyBoYWxmIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gbWF4IG9mIHRoZSBmaXQgYW5kIHRoZSB1cHBlciBsaW1pdAogICAgbWF4aW11bT1tYXgocDEkZnYkZml0LCBwMiRmdiRmaXQpKygobWF4KHAxJGZ2JHVsLCBwMiRmdiR1bCktbWF4KHAxJGZ2JGZpdCwgcDIkZnYkZml0KSkvMikKICAgICMgcGxvdCBpbiBwb2xhciBjb29yZGluYXRlcwogICAgaWYgKGV4aXN0cygic2lnX2RpZmY0IikpewogICAgICBwPXBsb3RfbHkodHlwZT0nc2NhdHRlcnBvbGFyJywgbW9kZT0nbGluZXMnKSAlPiUgCiAgICAgICAgYWRkX3RyYWNlKHRoZXRhPXAxJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXAxJGZ2JGZpdCwgbGluZT1saXN0KGNvbG9yPSJibHVlIiwgZGFzaD0iZGFzaCIsIHdpZHRoPTIuNSksIG5hbWU9bmFtZXNfc21vb3Roc1sxXSkgJT4lIAogICAgICAgIGFkZF90cmFjZSh0aGV0YT1wMSRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wMSRmdiR1bCwgbGluZT1saXN0KGNvbG9yPSJibHVlIiwgZGFzaD0iZGFzaCIsIHdpZHRoPTAuNSksIHNob3dsZWdlbmQ9RkFMU0UpICU+JSAKICAgICAgICBhZGRfdHJhY2UodGhldGE9cDEkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDEkZnYkbGwsIGxpbmU9bGlzdChjb2xvcj0iYmx1ZSIsIGRhc2g9ImRhc2giLCB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUgCiAgICAgICAgYWRkX3RyYWNlKHRoZXRhPXAyJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXAyJGZ2JGZpdCwgbGluZT1saXN0KGNvbG9yPSJyZWQiLCB3aWR0aD0yLjUpLCBuYW1lPW5hbWVzX3Ntb290aHNbMl0pICU+JSAKICAgICAgICBhZGRfdHJhY2UodGhldGE9cDIkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDIkZnYkdWwsIGxpbmU9bGlzdChjb2xvcj0icmVkIiwgZGFzaD0iZG90Iiwgd2lkdGg9MC41KSwgc2hvd2xlZ2VuZD1GQUxTRSkgJT4lIAogICAgICAgIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wMiRmdiRsbCwgbGluZT1saXN0KGNvbG9yPSJyZWQiLCBkYXNoPSJkb3QiLCB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUKICAgICAgICBhZGRfdHJhY2UodGhldGE9c2VxKHNpZ19kaWZmMVsxXSoxODAvcGksIHNpZ19kaWZmMVsyXSoxODAvcGksIGxlbmd0aC5vdXQ9MjApLCAKICAgICAgICAgICAgICAgICAgcj1jKDAsIHJlcChtYXhpbXVtLCAxOCksIDApLCBsaW5lPWxpc3QoY29sb3I9ImJsYWNrIiwgd2lkdGg9MC41KSwgZmlsbD0idG9zZWxmIiwgZmlsbGNvbG9yPXJnYigwLDAsMCxtYXg9MjU1LGFscGhhPTI1KSwgc2hvd2xlZ2VuZD1GQUxTRSkgJT4lCiAgICAgICAgYWRkX3RyYWNlKHRoZXRhPXNlcShzaWdfZGlmZjJbMV0qMTgwL3BpLCBzaWdfZGlmZjJbMl0qMTgwL3BpLCBsZW5ndGgub3V0PTIwKSwgCiAgICAgICAgICAgICAgICAgIHI9YygwLCByZXAobWF4aW11bSwgMTgpLCAwKSwgbGluZT1saXN0KGNvbG9yPSJibGFjayIsIHdpZHRoPTAuNSksIGZpbGw9InRvc2VsZiIsIGZpbGxjb2xvcj1yZ2IoMCwwLDAsbWF4PTI1NSxhbHBoYT0yNSksIHNob3dsZWdlbmQ9RkFMU0UpICU+JQogICAgICAgIGFkZF90cmFjZSh0aGV0YT1zZXEoc2lnX2RpZmYzWzFdKjE4MC9waSwgc2lnX2RpZmYzWzJdKjE4MC9waSwgbGVuZ3RoLm91dD0yMCksIAogICAgICAgICAgICAgICAgICByPWMoMCwgcmVwKG1heGltdW0sIDE4KSwgMCksIGxpbmU9bGlzdChjb2xvcj0iYmxhY2siLCB3aWR0aD0wLjUpLCBmaWxsPSJ0b3NlbGYiLCBmaWxsY29sb3I9cmdiKDAsMCwwLG1heD0yNTUsYWxwaGE9MjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUKICAgICAgICBhZGRfdHJhY2UodGhldGE9c2VxKHNpZ19kaWZmNFsxXSoxODAvcGksIHNpZ19kaWZmNFsyXSoxODAvcGksIGxlbmd0aC5vdXQ9MjApLCAKICAgICAgICAgICAgICAgICAgcj1jKDAsIHJlcChtYXhpbXVtLCAxOCksIDApLCBsaW5lPWxpc3QoY29sb3I9ImJsYWNrIiwgd2lkdGg9MC41KSwgZmlsbD0idG9zZWxmIiwgZmlsbGNvbG9yPXJnYigwLDAsMCxtYXg9MjU1LGFscGhhPTI1KSwgc2hvd2xlZ2VuZD1GQUxTRSkgJT4lCiAgICAgICAgbGF5b3V0KHBvbGFyPWxpc3Qoc2VjdG9yPWMoMjAsMTYwKSwgcmFkaWFsYXhpcz1saXN0KGFuZ2xlPTkwLCByYW5nZT1jKDAsbWF4aW11bSkpLAogICAgICAgICAgICAgICAgICAgICAgICAgIGFuZ3VsYXJheGlzPWxpc3QodGhldGF1bml0PSdyYWRpYW5zJywgZGlyZWN0aW9uPSJjbG9ja3dpc2UiLCByb3RhdGlvbj0wKSksIAogICAgICAgICAgICAgICB0aXRsZT1wbG90X3RpdGxlLCBsZWdlbmQ9bGlzdChvcmllbnRhdGlvbj0iaCIsIHhhbmNob3I9ImNlbnRlciIsIHg9MC41KSkKICAgICAgU3lzLnNsZWVwKDApCiAgICAgIHByaW50KHApCiAgICB9ZWxzZSBpZiAoZXhpc3RzKCJzaWdfZGlmZjMiKSl7CiAgICAgIHA9cGxvdF9seSh0eXBlPSdzY2F0dGVycG9sYXInLCBtb2RlPSdsaW5lcycpICU+JSAKICAgICAgICBhZGRfdHJhY2UodGhldGE9cDEkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDEkZnYkZml0LCBsaW5lPWxpc3QoY29sb3I9ImJsdWUiLCBkYXNoPSJkYXNoIiwgd2lkdGg9Mi41KSwgbmFtZT1uYW1lc19zbW9vdGhzWzFdKSAlPiUgCiAgICAgICAgYWRkX3RyYWNlKHRoZXRhPXAxJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXAxJGZ2JHVsLCBsaW5lPWxpc3QoY29sb3I9ImJsdWUiLCBkYXNoPSJkYXNoIiwgd2lkdGg9MC41KSwgc2hvd2xlZ2VuZD1GQUxTRSkgJT4lIAogICAgICAgIGFkZF90cmFjZSh0aGV0YT1wMSRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wMSRmdiRsbCwgbGluZT1saXN0KGNvbG9yPSJibHVlIiwgZGFzaD0iZGFzaCIsIHdpZHRoPTAuNSksIHNob3dsZWdlbmQ9RkFMU0UpICU+JSAKICAgICAgICBhZGRfdHJhY2UodGhldGE9cDIkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDIkZnYkZml0LCBsaW5lPWxpc3QoY29sb3I9InJlZCIsIHdpZHRoPTIuNSksIG5hbWU9bmFtZXNfc21vb3Roc1syXSkgJT4lIAogICAgICAgIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wMiRmdiR1bCwgbGluZT1saXN0KGNvbG9yPSJyZWQiLCBkYXNoPSJkb3QiLCB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUgCiAgICAgICAgYWRkX3RyYWNlKHRoZXRhPXAyJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXAyJGZ2JGxsLCBsaW5lPWxpc3QoY29sb3I9InJlZCIsIGRhc2g9ImRvdCIsIHdpZHRoPTAuNSksIHNob3dsZWdlbmQ9RkFMU0UpICU+JQogICAgICAgIGFkZF90cmFjZSh0aGV0YT1zZXEoc2lnX2RpZmYxWzFdKjE4MC9waSwgc2lnX2RpZmYxWzJdKjE4MC9waSwgbGVuZ3RoLm91dD0yMCksIAogICAgICAgICAgICAgICAgICByPWMoMCwgcmVwKG1heGltdW0sIDE4KSwgMCksIGxpbmU9bGlzdChjb2xvcj0iYmxhY2siLCB3aWR0aD0wLjUpLCBmaWxsPSJ0b3NlbGYiLCBmaWxsY29sb3I9cmdiKDAsMCwwLG1heD0yNTUsYWxwaGE9MjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUKICAgICAgICBhZGRfdHJhY2UodGhldGE9c2VxKHNpZ19kaWZmMlsxXSoxODAvcGksIHNpZ19kaWZmMlsyXSoxODAvcGksIGxlbmd0aC5vdXQ9MjApLCAKICAgICAgICAgICAgICAgICAgcj1jKDAsIHJlcChtYXhpbXVtLCAxOCksIDApLCBsaW5lPWxpc3QoY29sb3I9ImJsYWNrIiwgd2lkdGg9MC41KSwgZmlsbD0idG9zZWxmIiwgZmlsbGNvbG9yPXJnYigwLDAsMCxtYXg9MjU1LGFscGhhPTI1KSwgc2hvd2xlZ2VuZD1GQUxTRSkgJT4lCiAgICAgICAgYWRkX3RyYWNlKHRoZXRhPXNlcShzaWdfZGlmZjNbMV0qMTgwL3BpLCBzaWdfZGlmZjNbMl0qMTgwL3BpLCBsZW5ndGgub3V0PTIwKSwgCiAgICAgICAgICAgICAgICAgIHI9YygwLCByZXAobWF4aW11bSwgMTgpLCAwKSwgbGluZT1saXN0KGNvbG9yPSJibGFjayIsIHdpZHRoPTAuNSksIGZpbGw9InRvc2VsZiIsIGZpbGxjb2xvcj1yZ2IoMCwwLDAsbWF4PTI1NSxhbHBoYT0yNSksIHNob3dsZWdlbmQ9RkFMU0UpICU+JQogICAgICAgIGxheW91dChwb2xhcj1saXN0KHNlY3Rvcj1jKDIwLDE2MCksIHJhZGlhbGF4aXM9bGlzdChhbmdsZT05MCwgcmFuZ2U9YygwLG1heGltdW0pKSwKICAgICAgICAgICAgICAgICAgICAgICAgICBhbmd1bGFyYXhpcz1saXN0KHRoZXRhdW5pdD0ncmFkaWFucycsIGRpcmVjdGlvbj0iY2xvY2t3aXNlIiwgcm90YXRpb249MCkpLCAKICAgICAgICAgICAgICAgdGl0bGU9cGxvdF90aXRsZSwgbGVnZW5kPWxpc3Qob3JpZW50YXRpb249ImgiLCB4YW5jaG9yPSJjZW50ZXIiLCB4PTAuNSkpCiAgICAgIFN5cy5zbGVlcCgwKQogICAgICBwcmludChwKQogICAgfWVsc2UgaWYgKGV4aXN0cygic2lnX2RpZmYyIikpewogICAgICBwPXBsb3RfbHkodHlwZT0nc2NhdHRlcnBvbGFyJywgbW9kZT0nbGluZXMnKSAlPiUgCiAgICAgICAgYWRkX3RyYWNlKHRoZXRhPXAxJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXAxJGZ2JGZpdCwgbGluZT1saXN0KGNvbG9yPSJibHVlIiwgZGFzaD0iZGFzaCIsIHdpZHRoPTIuNSksIG5hbWU9bmFtZXNfc21vb3Roc1sxXSkgJT4lIAogICAgICAgIGFkZF90cmFjZSh0aGV0YT1wMSRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wMSRmdiR1bCwgbGluZT1saXN0KGNvbG9yPSJibHVlIiwgZGFzaD0iZGFzaCIsIHdpZHRoPTAuNSksIHNob3dsZWdlbmQ9RkFMU0UpICU+JSAKICAgICAgICBhZGRfdHJhY2UodGhldGE9cDEkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDEkZnYkbGwsIGxpbmU9bGlzdChjb2xvcj0iYmx1ZSIsIGRhc2g9ImRhc2giLCB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUgCiAgICAgICAgYWRkX3RyYWNlKHRoZXRhPXAyJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXAyJGZ2JGZpdCwgbGluZT1saXN0KGNvbG9yPSJyZWQiLCB3aWR0aD0yLjUpLCBuYW1lPW5hbWVzX3Ntb290aHNbMl0pICU+JSAKICAgICAgICBhZGRfdHJhY2UodGhldGE9cDIkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDIkZnYkdWwsIGxpbmU9bGlzdChjb2xvcj0icmVkIiwgZGFzaD0iZG90Iiwgd2lkdGg9MC41KSwgc2hvd2xlZ2VuZD1GQUxTRSkgJT4lIAogICAgICAgIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wMiRmdiRsbCwgbGluZT1saXN0KGNvbG9yPSJyZWQiLCBkYXNoPSJkb3QiLCB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUKICAgICAgICBhZGRfdHJhY2UodGhldGE9c2VxKHNpZ19kaWZmMVsxXSoxODAvcGksIHNpZ19kaWZmMVsyXSoxODAvcGksIGxlbmd0aC5vdXQ9MjApLCAKICAgICAgICAgICAgICAgICAgcj1jKDAsIHJlcChtYXhpbXVtLCAxOCksIDApLCBsaW5lPWxpc3QoY29sb3I9ImJsYWNrIiwgd2lkdGg9MC41KSwgZmlsbD0idG9zZWxmIiwgZmlsbGNvbG9yPXJnYigwLDAsMCxtYXg9MjU1LGFscGhhPTI1KSwgc2hvd2xlZ2VuZD1GQUxTRSkgJT4lCiAgICAgICAgYWRkX3RyYWNlKHRoZXRhPXNlcShzaWdfZGlmZjJbMV0qMTgwL3BpLCBzaWdfZGlmZjJbMl0qMTgwL3BpLCBsZW5ndGgub3V0PTIwKSwgCiAgICAgICAgICAgICAgICAgIHI9YygwLCByZXAobWF4aW11bSwgMTgpLCAwKSwgbGluZT1saXN0KGNvbG9yPSJibGFjayIsIHdpZHRoPTAuNSksIGZpbGw9InRvc2VsZiIsIGZpbGxjb2xvcj1yZ2IoMCwwLDAsbWF4PTI1NSxhbHBoYT0yNSksIHNob3dsZWdlbmQ9RkFMU0UpICU+JQogICAgICAgIGxheW91dChwb2xhcj1saXN0KHNlY3Rvcj1jKDIwLDE2MCksIHJhZGlhbGF4aXM9bGlzdChhbmdsZT05MCwgcmFuZ2U9YygwLG1heGltdW0pKSwKICAgICAgICAgICAgICAgICAgICAgICAgICBhbmd1bGFyYXhpcz1saXN0KHRoZXRhdW5pdD0ncmFkaWFucycsIGRpcmVjdGlvbj0iY2xvY2t3aXNlIiwgcm90YXRpb249MCkpLCAKICAgICAgICAgICAgICAgdGl0bGU9cGxvdF90aXRsZSwgbGVnZW5kPWxpc3Qob3JpZW50YXRpb249ImgiLCB4YW5jaG9yPSJjZW50ZXIiLCB4PTAuNSkpCiAgICAgIFN5cy5zbGVlcCgwKQogICAgICBwcmludChwKQogICAgfWVsc2V7CiAgICAgIHA9cGxvdF9seSh0eXBlPSdzY2F0dGVycG9sYXInLCBtb2RlPSdsaW5lcycpICU+JSAKICAgICAgICBhZGRfdHJhY2UodGhldGE9cDEkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDEkZnYkZml0LCBsaW5lPWxpc3QoY29sb3I9ImJsdWUiLCBkYXNoPSJkYXNoIiwgd2lkdGg9Mi41KSwgbmFtZT1uYW1lc19zbW9vdGhzWzFdKSAlPiUgCiAgICAgICAgYWRkX3RyYWNlKHRoZXRhPXAxJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXAxJGZ2JHVsLCBsaW5lPWxpc3QoY29sb3I9ImJsdWUiLCBkYXNoPSJkYXNoIiwgd2lkdGg9MC41KSwgc2hvd2xlZ2VuZD1GQUxTRSkgJT4lIAogICAgICAgIGFkZF90cmFjZSh0aGV0YT1wMSRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wMSRmdiRsbCwgbGluZT1saXN0KGNvbG9yPSJibHVlIiwgZGFzaD0iZGFzaCIsIHdpZHRoPTAuNSksIHNob3dsZWdlbmQ9RkFMU0UpICU+JSAKICAgICAgICBhZGRfdHJhY2UodGhldGE9cDIkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDIkZnYkZml0LCBsaW5lPWxpc3QoY29sb3I9InJlZCIsIHdpZHRoPTIuNSksIG5hbWU9bmFtZXNfc21vb3Roc1syXSkgJT4lIAogICAgICAgIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wMiRmdiR1bCwgbGluZT1saXN0KGNvbG9yPSJyZWQiLCBkYXNoPSJkb3QiLCB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUgCiAgICAgICAgYWRkX3RyYWNlKHRoZXRhPXAyJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXAyJGZ2JGxsLCBsaW5lPWxpc3QoY29sb3I9InJlZCIsIGRhc2g9ImRvdCIsIHdpZHRoPTAuNSksIHNob3dsZWdlbmQ9RkFMU0UpICU+JQogICAgICAgIGFkZF90cmFjZSh0aGV0YT1zZXEoc2lnX2RpZmYxWzFdKjE4MC9waSwgc2lnX2RpZmYxWzJdKjE4MC9waSwgbGVuZ3RoLm91dD0yMCksIAogICAgICAgICAgICAgICAgICByPWMoMCwgcmVwKG1heGltdW0sIDE4KSwgMCksIGxpbmU9bGlzdChjb2xvcj0iYmxhY2siLCB3aWR0aD0wLjUpLCBmaWxsPSJ0b3NlbGYiLCBmaWxsY29sb3I9cmdiKDAsMCwwLG1heD0yNTUsYWxwaGE9MjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUKICAgICAgICBsYXlvdXQocG9sYXI9bGlzdChzZWN0b3I9YygyMCwxNjApLCByYWRpYWxheGlzPWxpc3QoYW5nbGU9OTAsIHJhbmdlPWMoMCxtYXhpbXVtKSksCiAgICAgICAgICAgICAgICAgICAgICAgICAgYW5ndWxhcmF4aXM9bGlzdCh0aGV0YXVuaXQ9J3JhZGlhbnMnLCBkaXJlY3Rpb249ImNsb2Nrd2lzZSIsIHJvdGF0aW9uPTApKSwgCiAgICAgICAgICAgICAgIHRpdGxlPXBsb3RfdGl0bGUsIGxlZ2VuZD1saXN0KG9yaWVudGF0aW9uPSJoIiwgeGFuY2hvcj0iY2VudGVyIiwgeD0wLjUpKQogICAgICBTeXMuc2xlZXAoMCkKICAgICAgcHJpbnQocCkKICAgIH0KICB9CiAgIyBvcmNhIHNob3VsZCB3b3JrIHdpdGggcGxvdGx5IDQuOS4wIGFmdGVyIGxvYWRpbmcgdGhlIG9yY2EgbW9kdWxlIGJlZm9yZSBzdGF0aW5nIFIgYW5kIFJTdHVkaW8KICAjIG9yY2EocCwgInRlc3QucGRmIikKfQpgYGAKCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFfQojIGxvYWQgZmluYWwgbW9kZWwgZm9yIEgxCk5vdGVzLmdhbS5BUi5Nb2QyID0gcmVhZFJEUygidXBkYXRlZF9tb2RlbHMvTm90ZXMuZ2FtLkFSLk1vZDIucmRzIikKYGBgCgojIFBsb3QgZmluYWwgbW9kZWwgb3V0cHV0cyAoY29tcGFyZSBub3RlcyBhY3Jvc3MgdGhlIHR3byBsYW5ndWFnZXMpCgojIyBOb3RlICJCYjIiCgpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgZmlnLndpZHRoPTgsIGZpZy5oZWlnaHQ9NX0KcGxvdGx5X3Ntb290aHNfd19zaWdfZGlmZihtb2RlbD0iTm90ZXMuZ2FtLkFSLk1vZDIiLCBjb25kaXRpb249ImxhbmdOb3RlSW50Lm9yZCIsIHZhcjE9IkJiMiIsIAogICAgICAgICAgICAgICAgICAgICAgICAgIHZhcjI9ImZvcnRlIiwgdmFsdWVzPSJ0aGV0YV91bmN1dF96IiwgbGFuZ3VhZ2U9YygiTlpFIiwiVG9uZ2FuIikpCmBgYAoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CnBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPSJCYjIiLCAKICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIyPSJtZXp6b2ZvcnRlIiwgdmFsdWVzPSJ0aGV0YV91bmN1dF96IiwgbGFuZ3VhZ2U9YygiTlpFIiwiVG9uZ2FuIikpCmBgYAoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CnBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPSJCYjIiLCAKICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIyPSJtZXp6b3BpYW5vIiwgdmFsdWVzPSJ0aGV0YV91bmN1dF96IiwgbGFuZ3VhZ2U9YygiTlpFIiwiVG9uZ2FuIikpCmBgYAoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CnBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPSJCYjIiLCAKICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIyPSJwaWFubyIsIHZhbHVlcz0idGhldGFfdW5jdXRfeiIsIGxhbmd1YWdlPWMoIk5aRSIsIlRvbmdhbiIpKQpgYGAKCgojIyBOb3RlICJGMyIKCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFLCBmaWcud2lkdGg9OCwgZmlnLmhlaWdodD01fQpwbG90bHlfc21vb3Roc193X3NpZ19kaWZmKG1vZGVsPSJOb3Rlcy5nYW0uQVIuTW9kMiIsIGNvbmRpdGlvbj0ibGFuZ05vdGVJbnQub3JkIiwgdmFyMT0iRjMiLCAKICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIyPSJmb3J0ZSIsIHZhbHVlcz0idGhldGFfdW5jdXRfeiIsIGxhbmd1YWdlPWMoIk5aRSIsIlRvbmdhbiIpKQpgYGAKCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFLCBmaWcud2lkdGg9OCwgZmlnLmhlaWdodD01fQpwbG90bHlfc21vb3Roc193X3NpZ19kaWZmKG1vZGVsPSJOb3Rlcy5nYW0uQVIuTW9kMiIsIGNvbmRpdGlvbj0ibGFuZ05vdGVJbnQub3JkIiwgdmFyMT0iRjMiLCAKICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIyPSJtZXp6b2ZvcnRlIiwgdmFsdWVzPSJ0aGV0YV91bmN1dF96IiwgbGFuZ3VhZ2U9YygiTlpFIiwiVG9uZ2FuIikpCmBgYAoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CnBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPSJGMyIsIAogICAgICAgICAgICAgICAgICAgICAgICAgIHZhcjI9Im1lenpvcGlhbm8iLCB2YWx1ZXM9InRoZXRhX3VuY3V0X3oiLCBsYW5ndWFnZT1jKCJOWkUiLCJUb25nYW4iKSkKYGBgCgpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgZmlnLndpZHRoPTgsIGZpZy5oZWlnaHQ9NX0KcGxvdGx5X3Ntb290aHNfd19zaWdfZGlmZihtb2RlbD0iTm90ZXMuZ2FtLkFSLk1vZDIiLCBjb25kaXRpb249ImxhbmdOb3RlSW50Lm9yZCIsIHZhcjE9IkYzIiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyMj0icGlhbm8iLCB2YWx1ZXM9InRoZXRhX3VuY3V0X3oiLCBsYW5ndWFnZT1jKCJOWkUiLCJUb25nYW4iKSkKYGBgCgoKIyMgTm90ZSAiQmIzIgoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CnBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPSJCYjMiLCAKICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIyPSJmb3J0ZSIsIHZhbHVlcz0idGhldGFfdW5jdXRfeiIsIGxhbmd1YWdlPWMoIk5aRSIsIlRvbmdhbiIpKQpgYGAKCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFLCBmaWcud2lkdGg9OCwgZmlnLmhlaWdodD01fQpwbG90bHlfc21vb3Roc193X3NpZ19kaWZmKG1vZGVsPSJOb3Rlcy5nYW0uQVIuTW9kMiIsIGNvbmRpdGlvbj0ibGFuZ05vdGVJbnQub3JkIiwgdmFyMT0iQmIzIiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyMj0ibWV6em9mb3J0ZSIsIHZhbHVlcz0idGhldGFfdW5jdXRfeiIsIGxhbmd1YWdlPWMoIk5aRSIsIlRvbmdhbiIpKQpgYGAKCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFLCBmaWcud2lkdGg9OCwgZmlnLmhlaWdodD01fQpwbG90bHlfc21vb3Roc193X3NpZ19kaWZmKG1vZGVsPSJOb3Rlcy5nYW0uQVIuTW9kMiIsIGNvbmRpdGlvbj0ibGFuZ05vdGVJbnQub3JkIiwgdmFyMT0iQmIzIiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyMj0ibWV6em9waWFubyIsIHZhbHVlcz0idGhldGFfdW5jdXRfeiIsIGxhbmd1YWdlPWMoIk5aRSIsIlRvbmdhbiIpKQpgYGAKCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFLCBmaWcud2lkdGg9OCwgZmlnLmhlaWdodD01fQpwbG90bHlfc21vb3Roc193X3NpZ19kaWZmKG1vZGVsPSJOb3Rlcy5nYW0uQVIuTW9kMiIsIGNvbmRpdGlvbj0ibGFuZ05vdGVJbnQub3JkIiwgdmFyMT0iQmIzIiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyMj0icGlhbm8iLCB2YWx1ZXM9InRoZXRhX3VuY3V0X3oiLCBsYW5ndWFnZT1jKCJOWkUiLCJUb25nYW4iKSkKYGBgCgoKIyMgTm90ZSAiRDQiCgpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgZmlnLndpZHRoPTgsIGZpZy5oZWlnaHQ9NX0KcGxvdGx5X3Ntb290aHNfd19zaWdfZGlmZihtb2RlbD0iTm90ZXMuZ2FtLkFSLk1vZDIiLCBjb25kaXRpb249ImxhbmdOb3RlSW50Lm9yZCIsIHZhcjE9IkQ0IiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyMj0iZm9ydGUiLCB2YWx1ZXM9InRoZXRhX3VuY3V0X3oiLCBsYW5ndWFnZT1jKCJOWkUiLCJUb25nYW4iKSkKYGBgCgpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgZmlnLndpZHRoPTgsIGZpZy5oZWlnaHQ9NX0KcGxvdGx5X3Ntb290aHNfd19zaWdfZGlmZihtb2RlbD0iTm90ZXMuZ2FtLkFSLk1vZDIiLCBjb25kaXRpb249ImxhbmdOb3RlSW50Lm9yZCIsIHZhcjE9IkQ0IiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyMj0ibWV6em9mb3J0ZSIsIHZhbHVlcz0idGhldGFfdW5jdXRfeiIsIGxhbmd1YWdlPWMoIk5aRSIsIlRvbmdhbiIpKQpgYGAKCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFLCBmaWcud2lkdGg9OCwgZmlnLmhlaWdodD01fQpwbG90bHlfc21vb3Roc193X3NpZ19kaWZmKG1vZGVsPSJOb3Rlcy5nYW0uQVIuTW9kMiIsIGNvbmRpdGlvbj0ibGFuZ05vdGVJbnQub3JkIiwgdmFyMT0iRDQiLCAKICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIyPSJtZXp6b3BpYW5vIiwgdmFsdWVzPSJ0aGV0YV91bmN1dF96IiwgbGFuZ3VhZ2U9YygiTlpFIiwiVG9uZ2FuIikpCmBgYAoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CnBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPSJENCIsIAogICAgICAgICAgICAgICAgICAgICAgICAgIHZhcjI9InBpYW5vIiwgdmFsdWVzPSJ0aGV0YV91bmN1dF96IiwgbGFuZ3VhZ2U9YygiTlpFIiwiVG9uZ2FuIikpCmBgYAoKCiMjIE5vdGUgIkY0IgoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CnBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPSJGNCIsIAogICAgICAgICAgICAgICAgICAgICAgICAgIHZhcjI9ImZvcnRlIiwgdmFsdWVzPSJ0aGV0YV91bmN1dF96IiwgbGFuZ3VhZ2U9YygiTlpFIiwiVG9uZ2FuIikpCmBgYAoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CnBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPSJGNCIsIAogICAgICAgICAgICAgICAgICAgICAgICAgIHZhcjI9Im1lenpvZm9ydGUiLCB2YWx1ZXM9InRoZXRhX3VuY3V0X3oiLCBsYW5ndWFnZT1jKCJOWkUiLCJUb25nYW4iKSkKYGBgCgpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgZmlnLndpZHRoPTgsIGZpZy5oZWlnaHQ9NX0KIyBwbG90bHlfc21vb3Roc193X3NpZ19kaWZmKG1vZGVsPSJOb3Rlcy5nYW0uQVIuTW9kMiIsIGNvbmRpdGlvbj0ibGFuZ05vdGVJbnQub3JkIiwgdmFyMT0iRjQiLCAKIyAgICAgICAgICAgICAgICAgICAgICAgIHZhcjI9Im1lenpvcGlhbm8iLCB2YWx1ZXM9InRoZXRhX3VuY3V0X3oiLCBsYW5ndWFnZT1jKCJOWkUiLCJUb25nYW4iKSkKYGBgCgpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgZmlnLndpZHRoPTgsIGZpZy5oZWlnaHQ9NX0KcGxvdGx5X3Ntb290aHNfd19zaWdfZGlmZihtb2RlbD0iTm90ZXMuZ2FtLkFSLk1vZDIiLCBjb25kaXRpb249ImxhbmdOb3RlSW50Lm9yZCIsIHZhcjE9IkY0IiwgCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyMj0icGlhbm8iLCB2YWx1ZXM9InRoZXRhX3VuY3V0X3oiLCBsYW5ndWFnZT1jKCJOWkUiLCJUb25nYW4iKSkKYGBgCgojIyB3cml0ZSBpbnRlcnZhbHMgb2Ygc2lnbmlmaWNhbnQgZGlmZmVyZW5jZXMgdG8gLmNzdiBmaWxlCgpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRX0KIyBjb21iaW5lIGludF9zaWdfZGlmZi4uLiBmcm9tIHdvcmtzcGFjZQphbGxfc2lnX2RpZmZfaW50ZXJ2YWxzID0gKGxpc3Q9bHMocGF0dGVybj0iXmludF9zaWdfZGlmZiIpKQoKbWF4X3NpZ19kaWZmX2ludGVydmFscyA9IDAKZm9yIChpIGluIDE6bGVuZ3RoKGFsbF9zaWdfZGlmZl9pbnRlcnZhbHMpKXsKICBpZiAobGVuZ3RoKGdldChhbGxfc2lnX2RpZmZfaW50ZXJ2YWxzW2ldKSk+bWF4X3NpZ19kaWZmX2ludGVydmFscyl7CiAgICBtYXhfc2lnX2RpZmZfaW50ZXJ2YWxzID0gbGVuZ3RoKGdldChhbGxfc2lnX2RpZmZfaW50ZXJ2YWxzW2ldKSkKICB9Cn0KCiMgc2V0IHVwIGRhdGEuZnJhbWUgdG8gc3RvcmUgaW5mb3JtYXRpb24Kc2lnX2RpZmZzID0gYXJyYXkoTkEsIGMobGVuZ3RoKGFsbF9zaWdfZGlmZl9pbnRlcnZhbHMpLCBtYXhfc2lnX2RpZmZfaW50ZXJ2YWxzKSkKc2lnX2RpZmZzID0gZGF0YS5mcmFtZShzaWdfZGlmZnMpCmlmIChtYXhfc2lnX2RpZmZfaW50ZXJ2YWxzPT04KXsKICBjb2xuYW1lcyhzaWdfZGlmZnMpID0gYygibG93X2ludDEiLCJoaWdoX2ludDEiLCJsb3dfaW50MiIsImhpZ2hfaW50MiIsCiAgICAgICAgICAgICAgICAgICAgICAgICAgImxvd19pbnQzIiwiaGlnaF9pbnQzIiwibG93X2ludDQiLCJoaWdoX2ludDQiKQp9ZWxzZSBpZiAobWF4X3NpZ19kaWZmX2ludGVydmFscz09Nil7CiAgY29sbmFtZXMoc2lnX2RpZmZzKSA9IGMoImxvd19pbnQxIiwiaGlnaF9pbnQxIiwibG93X2ludDIiLCJoaWdoX2ludDIiLCJsb3dfaW50MyIsImhpZ2hfaW50MyIpCn1lbHNlIGlmIChtYXhfc2lnX2RpZmZfaW50ZXJ2YWxzPT00KXsKICBjb2xuYW1lcyhzaWdfZGlmZnMpID0gYygibG93X2ludDEiLCJoaWdoX2ludDEiLCJsb3dfaW50MiIsImhpZ2hfaW50MiIpCn1lbHNlewogIGNvbG5hbWVzKHNpZ19kaWZmcykgPSBjKCJsb3dfaW50MSIsImhpZ2hfaW50MSIpCn0KIyBjcmVhdGUgZW1wdHkgbGlzdCBmb3Igcm93IG5hbWVzCm5hbWVzID0gcmVwKGxpc3QoIk5BIiksIGxlbmd0aChhbGxfc2lnX2RpZmZfaW50ZXJ2YWxzKSkKCiMgbG9vcCB0aHJvdWdoIHZhcmlhYmxlIGFuZCB3cml0ZSBpbmZvcm1hdGlvbiB0byBkYXRhLmZyYW1lCmZvciAoaSBpbiAxOmxlbmd0aChhbGxfc2lnX2RpZmZfaW50ZXJ2YWxzKSl7CiAgbmFtZXNbaV0gPSBwYXN0ZTAodW5saXN0KHN0cnNwbGl0KGFsbF9zaWdfZGlmZl9pbnRlcnZhbHNbaV0sICJfIikpWzRdLCAiXyIsCiAgICAgICAgICAgICAgICAgICAgdW5saXN0KHN0cnNwbGl0KGFsbF9zaWdfZGlmZl9pbnRlcnZhbHNbaV0sICJfIikpWzVdKQogIHNpZ19kaWZmc1tpLCAxXSA9IGdldChhbGxfc2lnX2RpZmZfaW50ZXJ2YWxzW2ldKVsxXQogIHNpZ19kaWZmc1tpLCAyXSA9IGdldChhbGxfc2lnX2RpZmZfaW50ZXJ2YWxzW2ldKVsyXQogIGlmIChsZW5ndGgoZ2V0KGFsbF9zaWdfZGlmZl9pbnRlcnZhbHNbaV0pKT09NCl7CiAgICBzaWdfZGlmZnNbaSwgM10gPSBnZXQoYWxsX3NpZ19kaWZmX2ludGVydmFsc1tpXSlbM10KICAgIHNpZ19kaWZmc1tpLCA0XSA9IGdldChhbGxfc2lnX2RpZmZfaW50ZXJ2YWxzW2ldKVs0XQogIH0KICBpZiAobGVuZ3RoKGdldChhbGxfc2lnX2RpZmZfaW50ZXJ2YWxzW2ldKSk9PTYpewogICAgc2lnX2RpZmZzW2ksIDVdID0gZ2V0KGFsbF9zaWdfZGlmZl9pbnRlcnZhbHNbaV0pWzVdCiAgICBzaWdfZGlmZnNbaSwgNl0gPSBnZXQoYWxsX3NpZ19kaWZmX2ludGVydmFsc1tpXSlbNl0KICB9CiAgaWYgKGxlbmd0aChnZXQoYWxsX3NpZ19kaWZmX2ludGVydmFsc1tpXSkpPT04KXsKICAgIHNpZ19kaWZmc1tpLCA3XSA9IGdldChhbGxfc2lnX2RpZmZfaW50ZXJ2YWxzW2ldKVs3XQogICAgc2lnX2RpZmZzW2ksIDhdID0gZ2V0KGFsbF9zaWdfZGlmZl9pbnRlcnZhbHNbaV0pWzhdCiAgfQp9CnJvdy5uYW1lcyhzaWdfZGlmZnMpID0gbmFtZXMKcm0oaSkKCiMgaW5zcGVjdCBzaWdfZGlmZnMgZGF0YS5mcmFtZSBhbmQgbW92ZSBlbnRyaWVzIGZvciBjb25kaXRpb25zIHdpdGggb25seSAKIyBvbmUgc2lnbmlmaWNhbnRseSBkaWZmZXJlbnQgaW50ZXJ2YWwgdG8gb3RoZXIgZWRnZSwgaWYgYXBwbGljYWJsZQpzaWdfZGlmZnNbIkJiMl9waWFubyIsM10gPSBzaWdfZGlmZnNbIkJiMl9waWFubyIsMV0Kc2lnX2RpZmZzWyJCYjJfcGlhbm8iLDRdID0gc2lnX2RpZmZzWyJCYjJfcGlhbm8iLDJdCnNpZ19kaWZmc1siQmIyX3BpYW5vIiwxOjJdID0gTkEKc2lnX2RpZmZzWyJENF9tZXp6b3BpYW5vIiwzXSA9IHNpZ19kaWZmc1siRDRfbWV6em9waWFubyIsMV0Kc2lnX2RpZmZzWyJENF9tZXp6b3BpYW5vIiw0XSA9IHNpZ19kaWZmc1siRDRfbWV6em9waWFubyIsMl0Kc2lnX2RpZmZzWyJENF9tZXp6b3BpYW5vIiwxOjJdID0gTkEKcm0obGlzdD1scyhwYXR0ZXJuPSJeaW50X3NpZ19kaWZmIikpCnJtKGxpc3QpCgojIGRldGVybWluZSBpbnRlcnZhbHMgd2hlcmUgYWxsIHNtb290aHMgYXJlIGRpZmZlcmVudAojIHRvIGRpc3JlZ2FyZCBOQXMsIHVzZSBuYS5ybT1UUlVFCnNpZ19kaWZmc1tsZW5ndGgoYWxsX3NpZ19kaWZmX2ludGVydmFscykrMSwxXSA9IG1heChzaWdfZGlmZnNbLDFdKQpzaWdfZGlmZnNbbGVuZ3RoKGFsbF9zaWdfZGlmZl9pbnRlcnZhbHMpKzEsMl0gPSBtaW4oc2lnX2RpZmZzWywyXSkKc2lnX2RpZmZzW2xlbmd0aChhbGxfc2lnX2RpZmZfaW50ZXJ2YWxzKSsxLDNdID0gbWF4KHNpZ19kaWZmc1ssM10pCnNpZ19kaWZmc1tsZW5ndGgoYWxsX3NpZ19kaWZmX2ludGVydmFscykrMSw0XSA9IG1pbihzaWdfZGlmZnNbLDRdKQojIC0+IFRoZXJlIGFyZSBubyBpbnRlcnZhbHMgd2hlcmUgYWxsIHNtb290aHMgYXJlIGRpZmZlcmVudCEhIQoKIyBkZXRlcm1pbmUgaW50ZXJ2YWxzIHdlcmUgMTcgb3V0IG9mIDE5IHNtb290aHMgKDg0LjIlKSBoYXZlIHNpZ25pZmljYW50IGRpZmZlcmVuY2VzCnNpZ19kaWZmc1tsZW5ndGgoYWxsX3NpZ19kaWZmX2ludGVydmFscykrMiwxXSA9IG1heChzb3J0KHNpZ19kaWZmc1sxOmxlbmd0aChhbGxfc2lnX2RpZmZfaW50ZXJ2YWxzKSwxXSwgbmEubGFzdD1UUlVFKVsxOjE3XSkKc2lnX2RpZmZzW2xlbmd0aChhbGxfc2lnX2RpZmZfaW50ZXJ2YWxzKSsyLDJdID0gbWluKHNvcnQoc2lnX2RpZmZzWzE6bGVuZ3RoKGFsbF9zaWdfZGlmZl9pbnRlcnZhbHMpLDJdLCBkZWNyZWFzaW5nPVRSVUUsIG5hLmxhc3Q9VFJVRSlbMToxN10pCnNpZ19kaWZmc1tsZW5ndGgoYWxsX3NpZ19kaWZmX2ludGVydmFscykrMiwzXSA9IG1heChzb3J0KHNpZ19kaWZmc1sxOmxlbmd0aChhbGxfc2lnX2RpZmZfaW50ZXJ2YWxzKSwzXSwgbmEubGFzdD1UUlVFKVsxOjE3XSkKc2lnX2RpZmZzW2xlbmd0aChhbGxfc2lnX2RpZmZfaW50ZXJ2YWxzKSsyLDRdID0gbWluKHNvcnQoc2lnX2RpZmZzWzE6bGVuZ3RoKGFsbF9zaWdfZGlmZl9pbnRlcnZhbHMpLDRdLCBkZWNyZWFzaW5nPVRSVUUsIG5hLmxhc3Q9VFJVRSlbMToxN10pCgojIGRldGVybWluZSBpbnRlcnZhbHMgd2VyZSAxNiBvdXQgb2YgMTkgc21vb3RocyAoODQuMiUpIGhhdmUgc2lnbmlmaWNhbnQgZGlmZmVyZW5jZXMKc2lnX2RpZmZzW2xlbmd0aChhbGxfc2lnX2RpZmZfaW50ZXJ2YWxzKSszLDFdID0gbWF4KHNvcnQoc2lnX2RpZmZzWzE6bGVuZ3RoKGFsbF9zaWdfZGlmZl9pbnRlcnZhbHMpLDFdLCBuYS5sYXN0PVRSVUUpWzE6MTZdKQpzaWdfZGlmZnNbbGVuZ3RoKGFsbF9zaWdfZGlmZl9pbnRlcnZhbHMpKzMsMl0gPSBtaW4oc29ydChzaWdfZGlmZnNbMTpsZW5ndGgoYWxsX3NpZ19kaWZmX2ludGVydmFscyksMl0sIGRlY3JlYXNpbmc9VFJVRSwgbmEubGFzdD1UUlVFKVsxOjE2XSkKc2lnX2RpZmZzW2xlbmd0aChhbGxfc2lnX2RpZmZfaW50ZXJ2YWxzKSszLDNdID0gbWF4KHNvcnQoc2lnX2RpZmZzWzE6bGVuZ3RoKGFsbF9zaWdfZGlmZl9pbnRlcnZhbHMpLDNdLCBuYS5sYXN0PVRSVUUpWzE6MTZdKQpzaWdfZGlmZnNbbGVuZ3RoKGFsbF9zaWdfZGlmZl9pbnRlcnZhbHMpKzMsNF0gPSBtaW4oc29ydChzaWdfZGlmZnNbMTpsZW5ndGgoYWxsX3NpZ19kaWZmX2ludGVydmFscyksNF0sIGRlY3JlYXNpbmc9VFJVRSwgbmEubGFzdD1UUlVFKVsxOjE2XSkKCiMgdXBkYXRlIHJvdyBuYW1lcwpyb3cubmFtZXMoc2lnX2RpZmZzKSA9IGMobmFtZXMsICJvdmVyYWxsIiwiMTdfb3V0X29mXzE5IiwiMTZfb3V0X29mXzE5IikKcm0obWF4X3NpZ19kaWZmX2ludGVydmFscywgYWxsX3NpZ19kaWZmX2ludGVydmFscywgbmFtZXMpCgojIHdyaXRlIHZhcmlhYmxlIHRvIC5jc3YgZmlsZQp3cml0ZS5jc3Yoc2lnX2RpZmZzLCBmaWxlID0gIk5vdGVzLmdhbS5BUi5Nb2QyX2ludGVydmFsc19vZl9zaWduaWZpY2FudF9kaWZmZXJlbmNlcy5jc3YiKQpgYGAKCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFLCBmaWcud2lkdGg9OCwgZmlnLmhlaWdodD01fQojIHZpc3VhbGl6ZSBhcmVhcyBvZiBvdmVyYWxsIGRpZmZlcmVuY2UKcDE9cGxvdF9seSh0eXBlPSdzY2F0dGVycG9sYXInLCBtb2RlPSdsaW5lcycpICU+JQogIGFkZF90cmFjZSh0aGV0YT1zZXEoc2lnX2RpZmZzWyIxN19vdXRfb2ZfMTkiLDFdKjE4MC9waSwgc2lnX2RpZmZzWyIxN19vdXRfb2ZfMTkiLDJdKjE4MC9waSwgCiAgICAgICAgICAgICAgICAgICAgICBsZW5ndGgub3V0PTIwKSwgcj1jKDAsIHJlcCgzMjAsIDE4KSwgMCksIGxpbmU9bGlzdChjb2xvcj0iYmxhY2siLCB3aWR0aD0wLjUpLCAKICAgICAgICAgICAgZmlsbD0idG9zZWxmIiwgZmlsbGNvbG9yPXJnYigwLDAsMCxtYXg9MjU1LGFscGhhPTI1KSwgc2hvd2xlZ2VuZD1GQUxTRSkgJT4lCiAgYWRkX3RyYWNlKHRoZXRhPXNlcShzaWdfZGlmZnNbIjE3X291dF9vZl8xOSIsM10qMTgwL3BpLCBzaWdfZGlmZnNbIjE3X291dF9vZl8xOSIsNF0qMTgwL3BpLCAKICAgICAgICAgICAgICAgICAgICAgIGxlbmd0aC5vdXQ9MjApLCByPWMoMCwgcmVwKDMyMCwgMTgpLCAwKSwgbGluZT1saXN0KGNvbG9yPSJibGFjayIsIHdpZHRoPTAuNSksIAogICAgICAgICAgICBmaWxsPSJ0b3NlbGYiLCBmaWxsY29sb3I9cmdiKDAsMCwwLG1heD0yNTUsYWxwaGE9MjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUgCiAgbGF5b3V0KHBvbGFyPWxpc3Qoc2VjdG9yPWMoMjAsMTYwKSwgcmFkaWFsYXhpcz1saXN0KGFuZ2xlPTkwLCByYW5nZT1jKDAsMzIwKSksCiAgICAgICAgICAgICAgICAgICAgICAgIGFuZ3VsYXJheGlzPWxpc3QodGhldGF1bml0PSdyYWRpYW5zJywgZGlyZWN0aW9uPSJjbG9ja3dpc2UiLCByb3RhdGlvbj0wKSksIAogICAgICAgICB0aXRsZT1wYXN0ZTAoIkludGVydmFscyBvZiBzaWduaWZpY2FudCBkaWZmZXJlbmNlcyBmb3IgMTcgb3V0IG9mIDE5IGNvbXBhcmlzb25zIiksIAogICAgICAgICBsZWdlbmQ9bGlzdChvcmllbnRhdGlvbj0iaCIsIHhhbmNob3I9ImNlbnRlciIsIHg9MC41KSkKU3lzLnNsZWVwKDApCnByaW50KHAxKQoKcDI9cGxvdF9seSh0eXBlPSdzY2F0dGVycG9sYXInLCBtb2RlPSdsaW5lcycpICU+JQogIGFkZF90cmFjZSh0aGV0YT1zZXEoc2lnX2RpZmZzWyIxNl9vdXRfb2ZfMTkiLDFdKjE4MC9waSwgc2lnX2RpZmZzWyIxNl9vdXRfb2ZfMTkiLDJdKjE4MC9waSwgCiAgICAgICAgICAgICAgICAgICAgICBsZW5ndGgub3V0PTIwKSwgcj1jKDAsIHJlcCgzMjAsIDE4KSwgMCksIGxpbmU9bGlzdChjb2xvcj0iYmxhY2siLCB3aWR0aD0wLjUpLCAKICAgICAgICAgICAgZmlsbD0idG9zZWxmIiwgZmlsbGNvbG9yPXJnYigwLDAsMCxtYXg9MjU1LGFscGhhPTI1KSwgc2hvd2xlZ2VuZD1GQUxTRSkgJT4lCiAgYWRkX3RyYWNlKHRoZXRhPXNlcShzaWdfZGlmZnNbIjE2X291dF9vZl8xOSIsM10qMTgwL3BpLCBzaWdfZGlmZnNbIjE2X291dF9vZl8xOSIsNF0qMTgwL3BpLCAKICAgICAgICAgICAgICAgICAgICAgIGxlbmd0aC5vdXQ9MjApLCByPWMoMCwgcmVwKDMyMCwgMTgpLCAwKSwgbGluZT1saXN0KGNvbG9yPSJibGFjayIsIHdpZHRoPTAuNSksIAogICAgICAgICAgICBmaWxsPSJ0b3NlbGYiLCBmaWxsY29sb3I9cmdiKDAsMCwwLG1heD0yNTUsYWxwaGE9MjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUgCiAgbGF5b3V0KHBvbGFyPWxpc3Qoc2VjdG9yPWMoMjAsMTYwKSwgcmFkaWFsYXhpcz1saXN0KGFuZ2xlPTkwLCByYW5nZT1jKDAsMzIwKSksCiAgICAgICAgICAgICAgICAgICAgICAgIGFuZ3VsYXJheGlzPWxpc3QodGhldGF1bml0PSdyYWRpYW5zJywgZGlyZWN0aW9uPSJjbG9ja3dpc2UiLCByb3RhdGlvbj0wKSksIAogICAgICAgICB0aXRsZT1wYXN0ZTAoIkludGVydmFscyBvZiBzaWduaWZpY2FudCBkaWZmZXJlbmNlcyBmb3IgMTYgb3V0IG9mIDE5IGNvbXBhcmlzb25zIiksIAogICAgICAgICBsZWdlbmQ9bGlzdChvcmllbnRhdGlvbj0iaCIsIHhhbmNob3I9ImNlbnRlciIsIHg9MC41KSkKU3lzLnNsZWVwKDApCnByaW50KHAyKQoKIyBybShzaWdfZGlmZnMsIHAxLCBwMikKYGBgCgoKIyBQbG90IGZpbmFsIG1vZGVsIG91dHB1dHMgKGNvbXBhcmUgbm90ZXMgd2l0aGluIGxhbmd1YWdlcyAtPiBIMykKCiMjIE5aRQoKIyMjIGF0IGZvcnRlIGludGVuc2l0eQoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CnBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPWMoIkJiMiIsIkYzIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyMj0iZm9ydGUiLCB2YWx1ZXM9InRoZXRhX3VuY3V0X3oiLCBsYW5ndWFnZT0iTlpFIikKYGBgCgpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgZmlnLndpZHRoPTgsIGZpZy5oZWlnaHQ9NX0KcGxvdGx5X3Ntb290aHNfd19zaWdfZGlmZihtb2RlbD0iTm90ZXMuZ2FtLkFSLk1vZDIiLCBjb25kaXRpb249ImxhbmdOb3RlSW50Lm9yZCIsIHZhcjE9YygiQmIyIiwiQmIzIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyMj0iZm9ydGUiLCB2YWx1ZXM9InRoZXRhX3VuY3V0X3oiLCBsYW5ndWFnZT0iTlpFIikKYGBgCgpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgZmlnLndpZHRoPTgsIGZpZy5oZWlnaHQ9NX0KcGxvdGx5X3Ntb290aHNfd19zaWdfZGlmZihtb2RlbD0iTm90ZXMuZ2FtLkFSLk1vZDIiLCBjb25kaXRpb249ImxhbmdOb3RlSW50Lm9yZCIsIHZhcjE9YygiQmIyIiwiRDQiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIyPSJmb3J0ZSIsIHZhbHVlcz0idGhldGFfdW5jdXRfeiIsIGxhbmd1YWdlPSJOWkUiKQpgYGAKCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFLCBmaWcud2lkdGg9OCwgZmlnLmhlaWdodD01fQpwbG90bHlfc21vb3Roc193X3NpZ19kaWZmKG1vZGVsPSJOb3Rlcy5nYW0uQVIuTW9kMiIsIGNvbmRpdGlvbj0ibGFuZ05vdGVJbnQub3JkIiwgdmFyMT1jKCJCYjIiLCJGNCIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIHZhcjI9ImZvcnRlIiwgdmFsdWVzPSJ0aGV0YV91bmN1dF96IiwgbGFuZ3VhZ2U9Ik5aRSIpCmBgYAoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CnBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPWMoIkYzIiwiQmIzIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyMj0iZm9ydGUiLCB2YWx1ZXM9InRoZXRhX3VuY3V0X3oiLCBsYW5ndWFnZT0iTlpFIikKYGBgCgpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgZmlnLndpZHRoPTgsIGZpZy5oZWlnaHQ9NX0KcGxvdGx5X3Ntb290aHNfd19zaWdfZGlmZihtb2RlbD0iTm90ZXMuZ2FtLkFSLk1vZDIiLCBjb25kaXRpb249ImxhbmdOb3RlSW50Lm9yZCIsIHZhcjE9YygiRjMiLCJENCIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIHZhcjI9ImZvcnRlIiwgdmFsdWVzPSJ0aGV0YV91bmN1dF96IiwgbGFuZ3VhZ2U9Ik5aRSIpCmBgYAoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CnBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPWMoIkYzIiwiRjQiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIyPSJmb3J0ZSIsIHZhbHVlcz0idGhldGFfdW5jdXRfeiIsIGxhbmd1YWdlPSJOWkUiKQpgYGAKCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFLCBmaWcud2lkdGg9OCwgZmlnLmhlaWdodD01fQpwbG90bHlfc21vb3Roc193X3NpZ19kaWZmKG1vZGVsPSJOb3Rlcy5nYW0uQVIuTW9kMiIsIGNvbmRpdGlvbj0ibGFuZ05vdGVJbnQub3JkIiwgdmFyMT1jKCJCYjMiLCJENCIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIHZhcjI9ImZvcnRlIiwgdmFsdWVzPSJ0aGV0YV91bmN1dF96IiwgbGFuZ3VhZ2U9Ik5aRSIpCmBgYAoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CnBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPWMoIkJiMyIsIkY0IiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyMj0iZm9ydGUiLCB2YWx1ZXM9InRoZXRhX3VuY3V0X3oiLCBsYW5ndWFnZT0iTlpFIikKYGBgCgpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgZmlnLndpZHRoPTgsIGZpZy5oZWlnaHQ9NX0KcGxvdGx5X3Ntb290aHNfd19zaWdfZGlmZihtb2RlbD0iTm90ZXMuZ2FtLkFSLk1vZDIiLCBjb25kaXRpb249ImxhbmdOb3RlSW50Lm9yZCIsIHZhcjE9YygiRDQiLCJGNCIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIHZhcjI9ImZvcnRlIiwgdmFsdWVzPSJ0aGV0YV91bmN1dF96IiwgbGFuZ3VhZ2U9Ik5aRSIpCmBgYAoKIyMjIGF0IG1lenpvZm9ydGUgaW50ZW5zaXR5CgpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgZmlnLndpZHRoPTgsIGZpZy5oZWlnaHQ9NX0KcGxvdGx5X3Ntb290aHNfd19zaWdfZGlmZihtb2RlbD0iTm90ZXMuZ2FtLkFSLk1vZDIiLCBjb25kaXRpb249ImxhbmdOb3RlSW50Lm9yZCIsIHZhcjE9YygiQmIyIiwiRjMiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIyPSJtZXp6b2ZvcnRlIiwgdmFsdWVzPSJ0aGV0YV91bmN1dF96IiwgbGFuZ3VhZ2U9Ik5aRSIpCmBgYAoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CnBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPWMoIkJiMiIsIkJiMyIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIHZhcjI9Im1lenpvZm9ydGUiLCB2YWx1ZXM9InRoZXRhX3VuY3V0X3oiLCBsYW5ndWFnZT0iTlpFIikKYGBgCgpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgZmlnLndpZHRoPTgsIGZpZy5oZWlnaHQ9NX0KcGxvdGx5X3Ntb290aHNfd19zaWdfZGlmZihtb2RlbD0iTm90ZXMuZ2FtLkFSLk1vZDIiLCBjb25kaXRpb249ImxhbmdOb3RlSW50Lm9yZCIsIHZhcjE9YygiQmIyIiwiRDQiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIyPSJtZXp6b2ZvcnRlIiwgdmFsdWVzPSJ0aGV0YV91bmN1dF96IiwgbGFuZ3VhZ2U9Ik5aRSIpCmBgYAoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CnBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPWMoIkJiMiIsIkY0IiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyMj0ibWV6em9mb3J0ZSIsIHZhbHVlcz0idGhldGFfdW5jdXRfeiIsIGxhbmd1YWdlPSJOWkUiKQpgYGAKCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFLCBmaWcud2lkdGg9OCwgZmlnLmhlaWdodD01fQpwbG90bHlfc21vb3Roc193X3NpZ19kaWZmKG1vZGVsPSJOb3Rlcy5nYW0uQVIuTW9kMiIsIGNvbmRpdGlvbj0ibGFuZ05vdGVJbnQub3JkIiwgdmFyMT1jKCJGMyIsIkJiMyIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIHZhcjI9Im1lenpvZm9ydGUiLCB2YWx1ZXM9InRoZXRhX3VuY3V0X3oiLCBsYW5ndWFnZT0iTlpFIikKYGBgCgpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgZmlnLndpZHRoPTgsIGZpZy5oZWlnaHQ9NX0KcGxvdGx5X3Ntb290aHNfd19zaWdfZGlmZihtb2RlbD0iTm90ZXMuZ2FtLkFSLk1vZDIiLCBjb25kaXRpb249ImxhbmdOb3RlSW50Lm9yZCIsIHZhcjE9YygiRjMiLCJENCIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIHZhcjI9Im1lenpvZm9ydGUiLCB2YWx1ZXM9InRoZXRhX3VuY3V0X3oiLCBsYW5ndWFnZT0iTlpFIikKYGBgCgpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgZmlnLndpZHRoPTgsIGZpZy5oZWlnaHQ9NX0KcGxvdGx5X3Ntb290aHNfd19zaWdfZGlmZihtb2RlbD0iTm90ZXMuZ2FtLkFSLk1vZDIiLCBjb25kaXRpb249ImxhbmdOb3RlSW50Lm9yZCIsIHZhcjE9YygiRjMiLCJGNCIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIHZhcjI9Im1lenpvZm9ydGUiLCB2YWx1ZXM9InRoZXRhX3VuY3V0X3oiLCBsYW5ndWFnZT0iTlpFIikKYGBgCgpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgZmlnLndpZHRoPTgsIGZpZy5oZWlnaHQ9NX0KcGxvdGx5X3Ntb290aHNfd19zaWdfZGlmZihtb2RlbD0iTm90ZXMuZ2FtLkFSLk1vZDIiLCBjb25kaXRpb249ImxhbmdOb3RlSW50Lm9yZCIsIHZhcjE9YygiQmIzIiwiRDQiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIyPSJtZXp6b2ZvcnRlIiwgdmFsdWVzPSJ0aGV0YV91bmN1dF96IiwgbGFuZ3VhZ2U9Ik5aRSIpCmBgYAoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CnBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPWMoIkJiMyIsIkY0IiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyMj0ibWV6em9mb3J0ZSIsIHZhbHVlcz0idGhldGFfdW5jdXRfeiIsIGxhbmd1YWdlPSJOWkUiKQpgYGAKCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFLCBmaWcud2lkdGg9OCwgZmlnLmhlaWdodD01fQpwbG90bHlfc21vb3Roc193X3NpZ19kaWZmKG1vZGVsPSJOb3Rlcy5nYW0uQVIuTW9kMiIsIGNvbmRpdGlvbj0ibGFuZ05vdGVJbnQub3JkIiwgdmFyMT1jKCJENCIsIkY0IiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyMj0ibWV6em9mb3J0ZSIsIHZhbHVlcz0idGhldGFfdW5jdXRfeiIsIGxhbmd1YWdlPSJOWkUiKQpgYGAKCiMjIyBhdCBtZXp6b3BpYW5vIGludGVuc2l0eQoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CnBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPWMoIkJiMiIsIkYzIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyMj0ibWV6em9waWFubyIsIHZhbHVlcz0idGhldGFfdW5jdXRfeiIsIGxhbmd1YWdlPSJOWkUiKQpgYGAKCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFLCBmaWcud2lkdGg9OCwgZmlnLmhlaWdodD01fQpwbG90bHlfc21vb3Roc193X3NpZ19kaWZmKG1vZGVsPSJOb3Rlcy5nYW0uQVIuTW9kMiIsIGNvbmRpdGlvbj0ibGFuZ05vdGVJbnQub3JkIiwgdmFyMT1jKCJCYjIiLCJCYjMiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIyPSJtZXp6b3BpYW5vIiwgdmFsdWVzPSJ0aGV0YV91bmN1dF96IiwgbGFuZ3VhZ2U9Ik5aRSIpCmBgYAoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CnBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPWMoIkJiMiIsIkQ0IiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyMj0ibWV6em9waWFubyIsIHZhbHVlcz0idGhldGFfdW5jdXRfeiIsIGxhbmd1YWdlPSJOWkUiKQpgYGAKCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFLCBmaWcud2lkdGg9OCwgZmlnLmhlaWdodD01fQojIHBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPWMoIkJiMiIsIkY0IiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgIyB2YXIyPSJtZXp6b3BpYW5vIiwgdmFsdWVzPSJ0aGV0YV91bmN1dF96IiwgbGFuZ3VhZ2U9Ik5aRSIpCmBgYAoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CnBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPWMoIkYzIiwiQmIzIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyMj0ibWV6em9waWFubyIsIHZhbHVlcz0idGhldGFfdW5jdXRfeiIsIGxhbmd1YWdlPSJOWkUiKQpgYGAKCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFLCBmaWcud2lkdGg9OCwgZmlnLmhlaWdodD01fQpwbG90bHlfc21vb3Roc193X3NpZ19kaWZmKG1vZGVsPSJOb3Rlcy5nYW0uQVIuTW9kMiIsIGNvbmRpdGlvbj0ibGFuZ05vdGVJbnQub3JkIiwgdmFyMT1jKCJGMyIsIkQ0IiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyMj0ibWV6em9waWFubyIsIHZhbHVlcz0idGhldGFfdW5jdXRfeiIsIGxhbmd1YWdlPSJOWkUiKQpgYGAKCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFLCBmaWcud2lkdGg9OCwgZmlnLmhlaWdodD01fQojIHBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPWMoIkYzIiwiRjQiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICAjIHZhcjI9Im1lenpvcGlhbm8iLCB2YWx1ZXM9InRoZXRhX3VuY3V0X3oiLCBsYW5ndWFnZT0iTlpFIikKYGBgCgpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgZmlnLndpZHRoPTgsIGZpZy5oZWlnaHQ9NX0KcGxvdGx5X3Ntb290aHNfd19zaWdfZGlmZihtb2RlbD0iTm90ZXMuZ2FtLkFSLk1vZDIiLCBjb25kaXRpb249ImxhbmdOb3RlSW50Lm9yZCIsIHZhcjE9YygiQmIzIiwiRDQiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIyPSJtZXp6b3BpYW5vIiwgdmFsdWVzPSJ0aGV0YV91bmN1dF96IiwgbGFuZ3VhZ2U9Ik5aRSIpCmBgYAoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CiMgcGxvdGx5X3Ntb290aHNfd19zaWdfZGlmZihtb2RlbD0iTm90ZXMuZ2FtLkFSLk1vZDIiLCBjb25kaXRpb249ImxhbmdOb3RlSW50Lm9yZCIsIHZhcjE9YygiQmIzIiwiRjQiKSwKICAjICAgICAgICAgICAgICAgICAgICAgICAgIHZhcjI9Im1lenpvcGlhbm8iLCB2YWx1ZXM9InRoZXRhX3VuY3V0X3oiLCBsYW5ndWFnZT0iTlpFIikKYGBgCgpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgZmlnLndpZHRoPTgsIGZpZy5oZWlnaHQ9NX0KIyBwbG90bHlfc21vb3Roc193X3NpZ19kaWZmKG1vZGVsPSJOb3Rlcy5nYW0uQVIuTW9kMiIsIGNvbmRpdGlvbj0ibGFuZ05vdGVJbnQub3JkIiwgdmFyMT1jKCJENCIsIkY0IiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgIyB2YXIyPSJtZXp6b3BpYW5vIiwgdmFsdWVzPSJ0aGV0YV91bmN1dF96IiwgbGFuZ3VhZ2U9Ik5aRSIpCmBgYAoKIyMjIGF0IHBpYW5vIGludGVuc2l0eQoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CnBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPWMoIkJiMiIsIkYzIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyMj0icGlhbm8iLCB2YWx1ZXM9InRoZXRhX3VuY3V0X3oiLCBsYW5ndWFnZT0iTlpFIikKYGBgCgpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgZmlnLndpZHRoPTgsIGZpZy5oZWlnaHQ9NX0KcGxvdGx5X3Ntb290aHNfd19zaWdfZGlmZihtb2RlbD0iTm90ZXMuZ2FtLkFSLk1vZDIiLCBjb25kaXRpb249ImxhbmdOb3RlSW50Lm9yZCIsIHZhcjE9YygiQmIyIiwiQmIzIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyMj0icGlhbm8iLCB2YWx1ZXM9InRoZXRhX3VuY3V0X3oiLCBsYW5ndWFnZT0iTlpFIikKYGBgCgpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgZmlnLndpZHRoPTgsIGZpZy5oZWlnaHQ9NX0KcGxvdGx5X3Ntb290aHNfd19zaWdfZGlmZihtb2RlbD0iTm90ZXMuZ2FtLkFSLk1vZDIiLCBjb25kaXRpb249ImxhbmdOb3RlSW50Lm9yZCIsIHZhcjE9YygiQmIyIiwiRDQiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIyPSJwaWFubyIsIHZhbHVlcz0idGhldGFfdW5jdXRfeiIsIGxhbmd1YWdlPSJOWkUiKQpgYGAKCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFLCBmaWcud2lkdGg9OCwgZmlnLmhlaWdodD01fQpwbG90bHlfc21vb3Roc193X3NpZ19kaWZmKG1vZGVsPSJOb3Rlcy5nYW0uQVIuTW9kMiIsIGNvbmRpdGlvbj0ibGFuZ05vdGVJbnQub3JkIiwgdmFyMT1jKCJCYjIiLCJGNCIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIHZhcjI9InBpYW5vIiwgdmFsdWVzPSJ0aGV0YV91bmN1dF96IiwgbGFuZ3VhZ2U9Ik5aRSIpCmBgYAoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CnBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPWMoIkYzIiwiQmIzIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyMj0icGlhbm8iLCB2YWx1ZXM9InRoZXRhX3VuY3V0X3oiLCBsYW5ndWFnZT0iTlpFIikKYGBgCgpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgZmlnLndpZHRoPTgsIGZpZy5oZWlnaHQ9NX0KcGxvdGx5X3Ntb290aHNfd19zaWdfZGlmZihtb2RlbD0iTm90ZXMuZ2FtLkFSLk1vZDIiLCBjb25kaXRpb249ImxhbmdOb3RlSW50Lm9yZCIsIHZhcjE9YygiRjMiLCJENCIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIHZhcjI9InBpYW5vIiwgdmFsdWVzPSJ0aGV0YV91bmN1dF96IiwgbGFuZ3VhZ2U9Ik5aRSIpCmBgYAoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CnBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPWMoIkYzIiwiRjQiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIyPSJwaWFubyIsIHZhbHVlcz0idGhldGFfdW5jdXRfeiIsIGxhbmd1YWdlPSJOWkUiKQpgYGAKCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFLCBmaWcud2lkdGg9OCwgZmlnLmhlaWdodD01fQpwbG90bHlfc21vb3Roc193X3NpZ19kaWZmKG1vZGVsPSJOb3Rlcy5nYW0uQVIuTW9kMiIsIGNvbmRpdGlvbj0ibGFuZ05vdGVJbnQub3JkIiwgdmFyMT1jKCJCYjMiLCJENCIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIHZhcjI9InBpYW5vIiwgdmFsdWVzPSJ0aGV0YV91bmN1dF96IiwgbGFuZ3VhZ2U9Ik5aRSIpCmBgYAoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CnBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPWMoIkJiMyIsIkY0IiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyMj0icGlhbm8iLCB2YWx1ZXM9InRoZXRhX3VuY3V0X3oiLCBsYW5ndWFnZT0iTlpFIikKYGBgCgpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgZmlnLndpZHRoPTgsIGZpZy5oZWlnaHQ9NX0KcGxvdGx5X3Ntb290aHNfd19zaWdfZGlmZihtb2RlbD0iTm90ZXMuZ2FtLkFSLk1vZDIiLCBjb25kaXRpb249ImxhbmdOb3RlSW50Lm9yZCIsIHZhcjE9YygiRDQiLCJGNCIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIHZhcjI9InBpYW5vIiwgdmFsdWVzPSJ0aGV0YV91bmN1dF96IiwgbGFuZ3VhZ2U9Ik5aRSIpCmBgYAoKIyMjIHdyaXRlIGludGVydmFscyBvZiBzaWduaWZpY2FudCBkaWZmZXJlbmNlcyB0byAuY3N2IGZpbGUKCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFfQojIGNvbWJpbmUgaW50X3NpZ19kaWZmLi4uIGZyb20gd29ya3NwYWNlCmFsbF9zaWdfZGlmZl9pbnRlcnZhbHMgPSAobGlzdD1scyhwYXR0ZXJuPSJeaW50X3NpZ19kaWZmIikpCgptYXhfc2lnX2RpZmZfaW50ZXJ2YWxzID0gMApmb3IgKGkgaW4gMTpsZW5ndGgoYWxsX3NpZ19kaWZmX2ludGVydmFscykpewogIGlmIChsZW5ndGgoZ2V0KGFsbF9zaWdfZGlmZl9pbnRlcnZhbHNbaV0pKT5tYXhfc2lnX2RpZmZfaW50ZXJ2YWxzKXsKICAgIG1heF9zaWdfZGlmZl9pbnRlcnZhbHMgPSBsZW5ndGgoZ2V0KGFsbF9zaWdfZGlmZl9pbnRlcnZhbHNbaV0pKQogIH0KfQoKIyBzZXQgdXAgZGF0YS5mcmFtZSB0byBzdG9yZSBpbmZvcm1hdGlvbgpzaWdfZGlmZnMgPSBhcnJheShOQSwgYyhsZW5ndGgoYWxsX3NpZ19kaWZmX2ludGVydmFscyksIG1heF9zaWdfZGlmZl9pbnRlcnZhbHMpKQpzaWdfZGlmZnMgPSBkYXRhLmZyYW1lKHNpZ19kaWZmcykKaWYgKG1heF9zaWdfZGlmZl9pbnRlcnZhbHM9PTgpewogIGNvbG5hbWVzKHNpZ19kaWZmcykgPSBjKCJsb3dfaW50MSIsImhpZ2hfaW50MSIsImxvd19pbnQyIiwiaGlnaF9pbnQyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAibG93X2ludDMiLCJoaWdoX2ludDMiLCJsb3dfaW50NCIsImhpZ2hfaW50NCIpCn1lbHNlIGlmIChtYXhfc2lnX2RpZmZfaW50ZXJ2YWxzPT02KXsKICBjb2xuYW1lcyhzaWdfZGlmZnMpID0gYygibG93X2ludDEiLCJoaWdoX2ludDEiLCJsb3dfaW50MiIsImhpZ2hfaW50MiIsImxvd19pbnQzIiwiaGlnaF9pbnQzIikKfWVsc2UgaWYgKG1heF9zaWdfZGlmZl9pbnRlcnZhbHM9PTQpewogIGNvbG5hbWVzKHNpZ19kaWZmcykgPSBjKCJsb3dfaW50MSIsImhpZ2hfaW50MSIsImxvd19pbnQyIiwiaGlnaF9pbnQyIikKfWVsc2V7CiAgY29sbmFtZXMoc2lnX2RpZmZzKSA9IGMoImxvd19pbnQxIiwiaGlnaF9pbnQxIikKfQojIGNyZWF0ZSBlbXB0eSBsaXN0IGZvciByb3cgbmFtZXMKbmFtZXMgPSByZXAobGlzdCgiTkEiKSwgbGVuZ3RoKGFsbF9zaWdfZGlmZl9pbnRlcnZhbHMpKQoKIyBsb29wIHRocm91Z2ggdmFyaWFibGUgYW5kIHdyaXRlIGluZm9ybWF0aW9uIHRvIGRhdGEuZnJhbWUKZm9yIChpIGluIDE6bGVuZ3RoKGFsbF9zaWdfZGlmZl9pbnRlcnZhbHMpKXsKICBuYW1lc1tpXSA9IHBhc3RlMCh1bmxpc3Qoc3Ryc3BsaXQoYWxsX3NpZ19kaWZmX2ludGVydmFsc1tpXSwgIl8iKSlbNF0sICJfIiwKICAgICAgICAgICAgICAgICAgICB1bmxpc3Qoc3Ryc3BsaXQoYWxsX3NpZ19kaWZmX2ludGVydmFsc1tpXSwgIl8iKSlbNV0sICJfIiwKICAgICAgICAgICAgICAgICAgICB1bmxpc3Qoc3Ryc3BsaXQoYWxsX3NpZ19kaWZmX2ludGVydmFsc1tpXSwgIl8iKSlbNl0sICJfIiwKICAgICAgICAgICAgICAgICAgICB1bmxpc3Qoc3Ryc3BsaXQoYWxsX3NpZ19kaWZmX2ludGVydmFsc1tpXSwgIl8iKSlbN10KICAgICAgICAgICAgICAgICAgICApCiAgc2lnX2RpZmZzW2ksIDFdID0gZ2V0KGFsbF9zaWdfZGlmZl9pbnRlcnZhbHNbaV0pWzFdCiAgc2lnX2RpZmZzW2ksIDJdID0gZ2V0KGFsbF9zaWdfZGlmZl9pbnRlcnZhbHNbaV0pWzJdCiAgaWYgKGxlbmd0aChnZXQoYWxsX3NpZ19kaWZmX2ludGVydmFsc1tpXSkpPT00KXsKICAgIHNpZ19kaWZmc1tpLCAzXSA9IGdldChhbGxfc2lnX2RpZmZfaW50ZXJ2YWxzW2ldKVszXQogICAgc2lnX2RpZmZzW2ksIDRdID0gZ2V0KGFsbF9zaWdfZGlmZl9pbnRlcnZhbHNbaV0pWzRdCiAgfQogIGlmIChsZW5ndGgoZ2V0KGFsbF9zaWdfZGlmZl9pbnRlcnZhbHNbaV0pKT09Nil7CiAgICBzaWdfZGlmZnNbaSwgNV0gPSBnZXQoYWxsX3NpZ19kaWZmX2ludGVydmFsc1tpXSlbNV0KICAgIHNpZ19kaWZmc1tpLCA2XSA9IGdldChhbGxfc2lnX2RpZmZfaW50ZXJ2YWxzW2ldKVs2XQogIH0KICBpZiAobGVuZ3RoKGdldChhbGxfc2lnX2RpZmZfaW50ZXJ2YWxzW2ldKSk9PTgpewogICAgc2lnX2RpZmZzW2ksIDddID0gZ2V0KGFsbF9zaWdfZGlmZl9pbnRlcnZhbHNbaV0pWzddCiAgICBzaWdfZGlmZnNbaSwgOF0gPSBnZXQoYWxsX3NpZ19kaWZmX2ludGVydmFsc1tpXSlbOF0KICB9Cn0Kcm93Lm5hbWVzKHNpZ19kaWZmcykgPSBuYW1lcwpybShpLCBsaXN0PWxzKHBhdHRlcm49Il5pbnRfc2lnX2RpZmYiKSkKcm0obGlzdCkKcm0obWF4X3NpZ19kaWZmX2ludGVydmFscywgYWxsX3NpZ19kaWZmX2ludGVydmFscywgbmFtZXMpCgojIHdyaXRlIHZhcmlhYmxlIHRvIC5jc3YgZmlsZQp3cml0ZS5jc3Yoc2lnX2RpZmZzLCBmaWxlID0gIk5vdGVzLmdhbS5BUi5Nb2QyX3dpdGhpbl9sZ19pbnRzX29mX3NpZ19kaWZmc19OWkUuY3N2IikKcm0oc2lnX2RpZmZzKQpgYGAKCgojIyBUb25nYW4KCiMjIyBhdCBmb3J0ZSBpbnRlbnNpdHkKCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFLCBmaWcud2lkdGg9OCwgZmlnLmhlaWdodD01fQpwbG90bHlfc21vb3Roc193X3NpZ19kaWZmKG1vZGVsPSJOb3Rlcy5nYW0uQVIuTW9kMiIsIGNvbmRpdGlvbj0ibGFuZ05vdGVJbnQub3JkIiwgdmFyMT1jKCJCYjIiLCJGMyIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIHZhcjI9ImZvcnRlIiwgdmFsdWVzPSJ0aGV0YV91bmN1dF96IiwgbGFuZ3VhZ2U9IlRvbmdhbiIpCmBgYAoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CnBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPWMoIkJiMiIsIkJiMyIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIHZhcjI9ImZvcnRlIiwgdmFsdWVzPSJ0aGV0YV91bmN1dF96IiwgbGFuZ3VhZ2U9IlRvbmdhbiIpCmBgYAoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CnBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPWMoIkJiMiIsIkQ0IiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyMj0iZm9ydGUiLCB2YWx1ZXM9InRoZXRhX3VuY3V0X3oiLCBsYW5ndWFnZT0iVG9uZ2FuIikKYGBgCgpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgZmlnLndpZHRoPTgsIGZpZy5oZWlnaHQ9NX0KcGxvdGx5X3Ntb290aHNfd19zaWdfZGlmZihtb2RlbD0iTm90ZXMuZ2FtLkFSLk1vZDIiLCBjb25kaXRpb249ImxhbmdOb3RlSW50Lm9yZCIsIHZhcjE9YygiQmIyIiwiRjQiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIyPSJmb3J0ZSIsIHZhbHVlcz0idGhldGFfdW5jdXRfeiIsIGxhbmd1YWdlPSJUb25nYW4iKQpgYGAKCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFLCBmaWcud2lkdGg9OCwgZmlnLmhlaWdodD01fQpwbG90bHlfc21vb3Roc193X3NpZ19kaWZmKG1vZGVsPSJOb3Rlcy5nYW0uQVIuTW9kMiIsIGNvbmRpdGlvbj0ibGFuZ05vdGVJbnQub3JkIiwgdmFyMT1jKCJGMyIsIkJiMyIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIHZhcjI9ImZvcnRlIiwgdmFsdWVzPSJ0aGV0YV91bmN1dF96IiwgbGFuZ3VhZ2U9IlRvbmdhbiIpCmBgYAoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CnBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPWMoIkYzIiwiRDQiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIyPSJmb3J0ZSIsIHZhbHVlcz0idGhldGFfdW5jdXRfeiIsIGxhbmd1YWdlPSJUb25nYW4iKQpgYGAKCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFLCBmaWcud2lkdGg9OCwgZmlnLmhlaWdodD01fQpwbG90bHlfc21vb3Roc193X3NpZ19kaWZmKG1vZGVsPSJOb3Rlcy5nYW0uQVIuTW9kMiIsIGNvbmRpdGlvbj0ibGFuZ05vdGVJbnQub3JkIiwgdmFyMT1jKCJGMyIsIkY0IiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyMj0iZm9ydGUiLCB2YWx1ZXM9InRoZXRhX3VuY3V0X3oiLCBsYW5ndWFnZT0iVG9uZ2FuIikKYGBgCgpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgZmlnLndpZHRoPTgsIGZpZy5oZWlnaHQ9NX0KcGxvdGx5X3Ntb290aHNfd19zaWdfZGlmZihtb2RlbD0iTm90ZXMuZ2FtLkFSLk1vZDIiLCBjb25kaXRpb249ImxhbmdOb3RlSW50Lm9yZCIsIHZhcjE9YygiQmIzIiwiRDQiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIyPSJmb3J0ZSIsIHZhbHVlcz0idGhldGFfdW5jdXRfeiIsIGxhbmd1YWdlPSJUb25nYW4iKQpgYGAKCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFLCBmaWcud2lkdGg9OCwgZmlnLmhlaWdodD01fQpwbG90bHlfc21vb3Roc193X3NpZ19kaWZmKG1vZGVsPSJOb3Rlcy5nYW0uQVIuTW9kMiIsIGNvbmRpdGlvbj0ibGFuZ05vdGVJbnQub3JkIiwgdmFyMT1jKCJCYjMiLCJGNCIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIHZhcjI9ImZvcnRlIiwgdmFsdWVzPSJ0aGV0YV91bmN1dF96IiwgbGFuZ3VhZ2U9IlRvbmdhbiIpCmBgYAoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CnBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPWMoIkQ0IiwiRjQiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIyPSJmb3J0ZSIsIHZhbHVlcz0idGhldGFfdW5jdXRfeiIsIGxhbmd1YWdlPSJUb25nYW4iKQpgYGAKCiMjIyBhdCBtZXp6b2ZvcnRlIGludGVuc2l0eQoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CnBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPWMoIkJiMiIsIkYzIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyMj0ibWV6em9mb3J0ZSIsIHZhbHVlcz0idGhldGFfdW5jdXRfeiIsIGxhbmd1YWdlPSJUb25nYW4iKQpgYGAKCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFLCBmaWcud2lkdGg9OCwgZmlnLmhlaWdodD01fQpwbG90bHlfc21vb3Roc193X3NpZ19kaWZmKG1vZGVsPSJOb3Rlcy5nYW0uQVIuTW9kMiIsIGNvbmRpdGlvbj0ibGFuZ05vdGVJbnQub3JkIiwgdmFyMT1jKCJCYjIiLCJCYjMiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIyPSJtZXp6b2ZvcnRlIiwgdmFsdWVzPSJ0aGV0YV91bmN1dF96IiwgbGFuZ3VhZ2U9IlRvbmdhbiIpCmBgYAoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CnBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPWMoIkJiMiIsIkQ0IiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyMj0ibWV6em9mb3J0ZSIsIHZhbHVlcz0idGhldGFfdW5jdXRfeiIsIGxhbmd1YWdlPSJUb25nYW4iKQpgYGAKCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFLCBmaWcud2lkdGg9OCwgZmlnLmhlaWdodD01fQpwbG90bHlfc21vb3Roc193X3NpZ19kaWZmKG1vZGVsPSJOb3Rlcy5nYW0uQVIuTW9kMiIsIGNvbmRpdGlvbj0ibGFuZ05vdGVJbnQub3JkIiwgdmFyMT1jKCJCYjIiLCJGNCIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIHZhcjI9Im1lenpvZm9ydGUiLCB2YWx1ZXM9InRoZXRhX3VuY3V0X3oiLCBsYW5ndWFnZT0iVG9uZ2FuIikKYGBgCgpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgZmlnLndpZHRoPTgsIGZpZy5oZWlnaHQ9NX0KcGxvdGx5X3Ntb290aHNfd19zaWdfZGlmZihtb2RlbD0iTm90ZXMuZ2FtLkFSLk1vZDIiLCBjb25kaXRpb249ImxhbmdOb3RlSW50Lm9yZCIsIHZhcjE9YygiRjMiLCJCYjMiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIyPSJtZXp6b2ZvcnRlIiwgdmFsdWVzPSJ0aGV0YV91bmN1dF96IiwgbGFuZ3VhZ2U9IlRvbmdhbiIpCmBgYAoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CnBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPWMoIkYzIiwiRDQiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIyPSJtZXp6b2ZvcnRlIiwgdmFsdWVzPSJ0aGV0YV91bmN1dF96IiwgbGFuZ3VhZ2U9IlRvbmdhbiIpCmBgYAoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CnBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPWMoIkYzIiwiRjQiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIyPSJtZXp6b2ZvcnRlIiwgdmFsdWVzPSJ0aGV0YV91bmN1dF96IiwgbGFuZ3VhZ2U9IlRvbmdhbiIpCmBgYAoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CnBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPWMoIkJiMyIsIkQ0IiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyMj0ibWV6em9mb3J0ZSIsIHZhbHVlcz0idGhldGFfdW5jdXRfeiIsIGxhbmd1YWdlPSJUb25nYW4iKQpgYGAKCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFLCBmaWcud2lkdGg9OCwgZmlnLmhlaWdodD01fQpwbG90bHlfc21vb3Roc193X3NpZ19kaWZmKG1vZGVsPSJOb3Rlcy5nYW0uQVIuTW9kMiIsIGNvbmRpdGlvbj0ibGFuZ05vdGVJbnQub3JkIiwgdmFyMT1jKCJCYjMiLCJGNCIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIHZhcjI9Im1lenpvZm9ydGUiLCB2YWx1ZXM9InRoZXRhX3VuY3V0X3oiLCBsYW5ndWFnZT0iVG9uZ2FuIikKYGBgCgpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgZmlnLndpZHRoPTgsIGZpZy5oZWlnaHQ9NX0KcGxvdGx5X3Ntb290aHNfd19zaWdfZGlmZihtb2RlbD0iTm90ZXMuZ2FtLkFSLk1vZDIiLCBjb25kaXRpb249ImxhbmdOb3RlSW50Lm9yZCIsIHZhcjE9YygiRDQiLCJGNCIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIHZhcjI9Im1lenpvZm9ydGUiLCB2YWx1ZXM9InRoZXRhX3VuY3V0X3oiLCBsYW5ndWFnZT0iVG9uZ2FuIikKYGBgCgojIyMgYXQgbWV6em9waWFubyBpbnRlbnNpdHkKCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFLCBmaWcud2lkdGg9OCwgZmlnLmhlaWdodD01fQpwbG90bHlfc21vb3Roc193X3NpZ19kaWZmKG1vZGVsPSJOb3Rlcy5nYW0uQVIuTW9kMiIsIGNvbmRpdGlvbj0ibGFuZ05vdGVJbnQub3JkIiwgdmFyMT1jKCJCYjIiLCJGMyIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIHZhcjI9Im1lenpvcGlhbm8iLCB2YWx1ZXM9InRoZXRhX3VuY3V0X3oiLCBsYW5ndWFnZT0iVG9uZ2FuIikKYGBgCgpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgZmlnLndpZHRoPTgsIGZpZy5oZWlnaHQ9NX0KcGxvdGx5X3Ntb290aHNfd19zaWdfZGlmZihtb2RlbD0iTm90ZXMuZ2FtLkFSLk1vZDIiLCBjb25kaXRpb249ImxhbmdOb3RlSW50Lm9yZCIsIHZhcjE9YygiQmIyIiwiQmIzIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyMj0ibWV6em9waWFubyIsIHZhbHVlcz0idGhldGFfdW5jdXRfeiIsIGxhbmd1YWdlPSJUb25nYW4iKQpgYGAKCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFLCBmaWcud2lkdGg9OCwgZmlnLmhlaWdodD01fQpwbG90bHlfc21vb3Roc193X3NpZ19kaWZmKG1vZGVsPSJOb3Rlcy5nYW0uQVIuTW9kMiIsIGNvbmRpdGlvbj0ibGFuZ05vdGVJbnQub3JkIiwgdmFyMT1jKCJCYjIiLCJENCIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIHZhcjI9Im1lenpvcGlhbm8iLCB2YWx1ZXM9InRoZXRhX3VuY3V0X3oiLCBsYW5ndWFnZT0iVG9uZ2FuIikKYGBgCgpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgZmlnLndpZHRoPTgsIGZpZy5oZWlnaHQ9NX0KcGxvdGx5X3Ntb290aHNfd19zaWdfZGlmZihtb2RlbD0iTm90ZXMuZ2FtLkFSLk1vZDIiLCBjb25kaXRpb249ImxhbmdOb3RlSW50Lm9yZCIsIHZhcjE9YygiQmIyIiwiRjQiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIyPSJtZXp6b3BpYW5vIiwgdmFsdWVzPSJ0aGV0YV91bmN1dF96IiwgbGFuZ3VhZ2U9IlRvbmdhbiIpCmBgYAoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CnBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPWMoIkYzIiwiQmIzIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyMj0ibWV6em9waWFubyIsIHZhbHVlcz0idGhldGFfdW5jdXRfeiIsIGxhbmd1YWdlPSJUb25nYW4iKQpgYGAKCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFLCBmaWcud2lkdGg9OCwgZmlnLmhlaWdodD01fQpwbG90bHlfc21vb3Roc193X3NpZ19kaWZmKG1vZGVsPSJOb3Rlcy5nYW0uQVIuTW9kMiIsIGNvbmRpdGlvbj0ibGFuZ05vdGVJbnQub3JkIiwgdmFyMT1jKCJGMyIsIkQ0IiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyMj0ibWV6em9waWFubyIsIHZhbHVlcz0idGhldGFfdW5jdXRfeiIsIGxhbmd1YWdlPSJUb25nYW4iKQpgYGAKCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFLCBmaWcud2lkdGg9OCwgZmlnLmhlaWdodD01fQpwbG90bHlfc21vb3Roc193X3NpZ19kaWZmKG1vZGVsPSJOb3Rlcy5nYW0uQVIuTW9kMiIsIGNvbmRpdGlvbj0ibGFuZ05vdGVJbnQub3JkIiwgdmFyMT1jKCJGMyIsIkY0IiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyMj0ibWV6em9waWFubyIsIHZhbHVlcz0idGhldGFfdW5jdXRfeiIsIGxhbmd1YWdlPSJUb25nYW4iKQpgYGAKCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFLCBmaWcud2lkdGg9OCwgZmlnLmhlaWdodD01fQpwbG90bHlfc21vb3Roc193X3NpZ19kaWZmKG1vZGVsPSJOb3Rlcy5nYW0uQVIuTW9kMiIsIGNvbmRpdGlvbj0ibGFuZ05vdGVJbnQub3JkIiwgdmFyMT1jKCJCYjMiLCJENCIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIHZhcjI9Im1lenpvcGlhbm8iLCB2YWx1ZXM9InRoZXRhX3VuY3V0X3oiLCBsYW5ndWFnZT0iVG9uZ2FuIikKYGBgCgpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgZmlnLndpZHRoPTgsIGZpZy5oZWlnaHQ9NX0KcGxvdGx5X3Ntb290aHNfd19zaWdfZGlmZihtb2RlbD0iTm90ZXMuZ2FtLkFSLk1vZDIiLCBjb25kaXRpb249ImxhbmdOb3RlSW50Lm9yZCIsIHZhcjE9YygiQmIzIiwiRjQiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIyPSJtZXp6b3BpYW5vIiwgdmFsdWVzPSJ0aGV0YV91bmN1dF96IiwgbGFuZ3VhZ2U9IlRvbmdhbiIpCmBgYAoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CnBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPWMoIkQ0IiwiRjQiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIyPSJtZXp6b3BpYW5vIiwgdmFsdWVzPSJ0aGV0YV91bmN1dF96IiwgbGFuZ3VhZ2U9IlRvbmdhbiIpCmBgYAoKIyMjIGF0IHBpYW5vIGludGVuc2l0eQoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CnBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPWMoIkJiMiIsIkYzIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyMj0icGlhbm8iLCB2YWx1ZXM9InRoZXRhX3VuY3V0X3oiLCBsYW5ndWFnZT0iVG9uZ2FuIikKYGBgCgpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgZmlnLndpZHRoPTgsIGZpZy5oZWlnaHQ9NX0KcGxvdGx5X3Ntb290aHNfd19zaWdfZGlmZihtb2RlbD0iTm90ZXMuZ2FtLkFSLk1vZDIiLCBjb25kaXRpb249ImxhbmdOb3RlSW50Lm9yZCIsIHZhcjE9YygiQmIyIiwiQmIzIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyMj0icGlhbm8iLCB2YWx1ZXM9InRoZXRhX3VuY3V0X3oiLCBsYW5ndWFnZT0iVG9uZ2FuIikKYGBgCgpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgZmlnLndpZHRoPTgsIGZpZy5oZWlnaHQ9NX0KcGxvdGx5X3Ntb290aHNfd19zaWdfZGlmZihtb2RlbD0iTm90ZXMuZ2FtLkFSLk1vZDIiLCBjb25kaXRpb249ImxhbmdOb3RlSW50Lm9yZCIsIHZhcjE9YygiQmIyIiwiRDQiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIyPSJwaWFubyIsIHZhbHVlcz0idGhldGFfdW5jdXRfeiIsIGxhbmd1YWdlPSJUb25nYW4iKQpgYGAKCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFLCBmaWcud2lkdGg9OCwgZmlnLmhlaWdodD01fQpwbG90bHlfc21vb3Roc193X3NpZ19kaWZmKG1vZGVsPSJOb3Rlcy5nYW0uQVIuTW9kMiIsIGNvbmRpdGlvbj0ibGFuZ05vdGVJbnQub3JkIiwgdmFyMT1jKCJCYjIiLCJGNCIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIHZhcjI9InBpYW5vIiwgdmFsdWVzPSJ0aGV0YV91bmN1dF96IiwgbGFuZ3VhZ2U9IlRvbmdhbiIpCmBgYAoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CnBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPWMoIkYzIiwiQmIzIiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyMj0icGlhbm8iLCB2YWx1ZXM9InRoZXRhX3VuY3V0X3oiLCBsYW5ndWFnZT0iVG9uZ2FuIikKYGBgCgpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgZmlnLndpZHRoPTgsIGZpZy5oZWlnaHQ9NX0KcGxvdGx5X3Ntb290aHNfd19zaWdfZGlmZihtb2RlbD0iTm90ZXMuZ2FtLkFSLk1vZDIiLCBjb25kaXRpb249ImxhbmdOb3RlSW50Lm9yZCIsIHZhcjE9YygiRjMiLCJENCIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIHZhcjI9InBpYW5vIiwgdmFsdWVzPSJ0aGV0YV91bmN1dF96IiwgbGFuZ3VhZ2U9IlRvbmdhbiIpCmBgYAoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CnBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPWMoIkYzIiwiRjQiKSwKICAgICAgICAgICAgICAgICAgICAgICAgICB2YXIyPSJwaWFubyIsIHZhbHVlcz0idGhldGFfdW5jdXRfeiIsIGxhbmd1YWdlPSJUb25nYW4iKQpgYGAKCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFLCBmaWcud2lkdGg9OCwgZmlnLmhlaWdodD01fQpwbG90bHlfc21vb3Roc193X3NpZ19kaWZmKG1vZGVsPSJOb3Rlcy5nYW0uQVIuTW9kMiIsIGNvbmRpdGlvbj0ibGFuZ05vdGVJbnQub3JkIiwgdmFyMT1jKCJCYjMiLCJENCIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIHZhcjI9InBpYW5vIiwgdmFsdWVzPSJ0aGV0YV91bmN1dF96IiwgbGFuZ3VhZ2U9IlRvbmdhbiIpCmBgYAoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CnBsb3RseV9zbW9vdGhzX3dfc2lnX2RpZmYobW9kZWw9Ik5vdGVzLmdhbS5BUi5Nb2QyIiwgY29uZGl0aW9uPSJsYW5nTm90ZUludC5vcmQiLCB2YXIxPWMoIkJiMyIsIkY0IiksCiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFyMj0icGlhbm8iLCB2YWx1ZXM9InRoZXRhX3VuY3V0X3oiLCBsYW5ndWFnZT0iVG9uZ2FuIikKYGBgCgpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgZmlnLndpZHRoPTgsIGZpZy5oZWlnaHQ9NX0KcGxvdGx5X3Ntb290aHNfd19zaWdfZGlmZihtb2RlbD0iTm90ZXMuZ2FtLkFSLk1vZDIiLCBjb25kaXRpb249ImxhbmdOb3RlSW50Lm9yZCIsIHZhcjE9YygiRDQiLCJGNCIpLAogICAgICAgICAgICAgICAgICAgICAgICAgIHZhcjI9InBpYW5vIiwgdmFsdWVzPSJ0aGV0YV91bmN1dF96IiwgbGFuZ3VhZ2U9IlRvbmdhbiIpCmBgYAoKIyMjIHdyaXRlIGludGVydmFscyBvZiBzaWduaWZpY2FudCBkaWZmZXJlbmNlcyB0byAuY3N2IGZpbGUKCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFfQojIGNvbWJpbmUgaW50X3NpZ19kaWZmLi4uIGZyb20gd29ya3NwYWNlCmFsbF9zaWdfZGlmZl9pbnRlcnZhbHMgPSAobGlzdD1scyhwYXR0ZXJuPSJeaW50X3NpZ19kaWZmIikpCgptYXhfc2lnX2RpZmZfaW50ZXJ2YWxzID0gMApmb3IgKGkgaW4gMTpsZW5ndGgoYWxsX3NpZ19kaWZmX2ludGVydmFscykpewogIGlmIChsZW5ndGgoZ2V0KGFsbF9zaWdfZGlmZl9pbnRlcnZhbHNbaV0pKT5tYXhfc2lnX2RpZmZfaW50ZXJ2YWxzKXsKICAgIG1heF9zaWdfZGlmZl9pbnRlcnZhbHMgPSBsZW5ndGgoZ2V0KGFsbF9zaWdfZGlmZl9pbnRlcnZhbHNbaV0pKQogIH0KfQoKIyBzZXQgdXAgZGF0YS5mcmFtZSB0byBzdG9yZSBpbmZvcm1hdGlvbgpzaWdfZGlmZnMgPSBhcnJheShOQSwgYyhsZW5ndGgoYWxsX3NpZ19kaWZmX2ludGVydmFscyksIG1heF9zaWdfZGlmZl9pbnRlcnZhbHMpKQpzaWdfZGlmZnMgPSBkYXRhLmZyYW1lKHNpZ19kaWZmcykKaWYgKG1heF9zaWdfZGlmZl9pbnRlcnZhbHM9PTgpewogIGNvbG5hbWVzKHNpZ19kaWZmcykgPSBjKCJsb3dfaW50MSIsImhpZ2hfaW50MSIsImxvd19pbnQyIiwiaGlnaF9pbnQyIiwKICAgICAgICAgICAgICAgICAgICAgICAgICAibG93X2ludDMiLCJoaWdoX2ludDMiLCJsb3dfaW50NCIsImhpZ2hfaW50NCIpCn1lbHNlIGlmIChtYXhfc2lnX2RpZmZfaW50ZXJ2YWxzPT02KXsKICBjb2xuYW1lcyhzaWdfZGlmZnMpID0gYygibG93X2ludDEiLCJoaWdoX2ludDEiLCJsb3dfaW50MiIsImhpZ2hfaW50MiIsImxvd19pbnQzIiwiaGlnaF9pbnQzIikKfWVsc2UgaWYgKG1heF9zaWdfZGlmZl9pbnRlcnZhbHM9PTQpewogIGNvbG5hbWVzKHNpZ19kaWZmcykgPSBjKCJsb3dfaW50MSIsImhpZ2hfaW50MSIsImxvd19pbnQyIiwiaGlnaF9pbnQyIikKfWVsc2V7CiAgY29sbmFtZXMoc2lnX2RpZmZzKSA9IGMoImxvd19pbnQxIiwiaGlnaF9pbnQxIikKfQojIGNyZWF0ZSBlbXB0eSBsaXN0IGZvciByb3cgbmFtZXMKbmFtZXMgPSByZXAobGlzdCgiTkEiKSwgbGVuZ3RoKGFsbF9zaWdfZGlmZl9pbnRlcnZhbHMpKQoKIyBsb29wIHRocm91Z2ggdmFyaWFibGUgYW5kIHdyaXRlIGluZm9ybWF0aW9uIHRvIGRhdGEuZnJhbWUKZm9yIChpIGluIDE6bGVuZ3RoKGFsbF9zaWdfZGlmZl9pbnRlcnZhbHMpKXsKICBuYW1lc1tpXSA9IHBhc3RlMCh1bmxpc3Qoc3Ryc3BsaXQoYWxsX3NpZ19kaWZmX2ludGVydmFsc1tpXSwgIl8iKSlbNF0sICJfIiwKICAgICAgICAgICAgICAgICAgICB1bmxpc3Qoc3Ryc3BsaXQoYWxsX3NpZ19kaWZmX2ludGVydmFsc1tpXSwgIl8iKSlbNV0sICJfIiwKICAgICAgICAgICAgICAgICAgICB1bmxpc3Qoc3Ryc3BsaXQoYWxsX3NpZ19kaWZmX2ludGVydmFsc1tpXSwgIl8iKSlbNl0sICJfIiwKICAgICAgICAgICAgICAgICAgICB1bmxpc3Qoc3Ryc3BsaXQoYWxsX3NpZ19kaWZmX2ludGVydmFsc1tpXSwgIl8iKSlbN10KICAgICAgICAgICAgICAgICAgICApCiAgc2lnX2RpZmZzW2ksIDFdID0gZ2V0KGFsbF9zaWdfZGlmZl9pbnRlcnZhbHNbaV0pWzFdCiAgc2lnX2RpZmZzW2ksIDJdID0gZ2V0KGFsbF9zaWdfZGlmZl9pbnRlcnZhbHNbaV0pWzJdCiAgaWYgKGxlbmd0aChnZXQoYWxsX3NpZ19kaWZmX2ludGVydmFsc1tpXSkpPT00KXsKICAgIHNpZ19kaWZmc1tpLCAzXSA9IGdldChhbGxfc2lnX2RpZmZfaW50ZXJ2YWxzW2ldKVszXQogICAgc2lnX2RpZmZzW2ksIDRdID0gZ2V0KGFsbF9zaWdfZGlmZl9pbnRlcnZhbHNbaV0pWzRdCiAgfQogIGlmIChsZW5ndGgoZ2V0KGFsbF9zaWdfZGlmZl9pbnRlcnZhbHNbaV0pKT09Nil7CiAgICBzaWdfZGlmZnNbaSwgNV0gPSBnZXQoYWxsX3NpZ19kaWZmX2ludGVydmFsc1tpXSlbNV0KICAgIHNpZ19kaWZmc1tpLCA2XSA9IGdldChhbGxfc2lnX2RpZmZfaW50ZXJ2YWxzW2ldKVs2XQogIH0KICBpZiAobGVuZ3RoKGdldChhbGxfc2lnX2RpZmZfaW50ZXJ2YWxzW2ldKSk9PTgpewogICAgc2lnX2RpZmZzW2ksIDddID0gZ2V0KGFsbF9zaWdfZGlmZl9pbnRlcnZhbHNbaV0pWzddCiAgICBzaWdfZGlmZnNbaSwgOF0gPSBnZXQoYWxsX3NpZ19kaWZmX2ludGVydmFsc1tpXSlbOF0KICB9Cn0Kcm93Lm5hbWVzKHNpZ19kaWZmcykgPSBuYW1lcwpybShpLCBsaXN0PWxzKHBhdHRlcm49Il5pbnRfc2lnX2RpZmYiKSkKcm0obGlzdCwgbWF4X3NpZ19kaWZmX2ludGVydmFscywgYWxsX3NpZ19kaWZmX2ludGVydmFscywgbmFtZXMpCgojIHdyaXRlIHZhcmlhYmxlIHRvIC5jc3YgZmlsZQp3cml0ZS5jc3Yoc2lnX2RpZmZzLCBmaWxlID0gIk5vdGVzLmdhbS5BUi5Nb2QyX3dpdGhpbl9sZ19pbnRzX29mX3NpZ19kaWZmc19Ub25nYW4uY3N2IikKcm0oc2lnX2RpZmZzKQpgYGAKCiMgUGxvdCBhbGwgbm90ZXMgdG9nZXRoZXIKCiMjIE5aRQoKIyMjIGZvcnRlCgpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgZmlnLndpZHRoPTgsIGZpZy5oZWlnaHQ9NX0KIyB1c2UgY29sb3JzIGZyb20gUGhEClJFRDAgPSAocmdiKDIxMywxMywxMSwgMjU1LCBtYXhDb2xvclZhbHVlPTI1NSkpCiMgQlJPV04wID0gKHJnYigxMjMsNzMsNTUsMjU1LCBtYXhDb2xvclZhbHVlPTI1NSkpClBVUlBMRTAgPSAocmdiKDE0Myw3MiwxODMsMjU1LCBtYXhDb2xvclZhbHVlPTI1NSkpCiMgR1JBWTAgPSAocmdiKDEwOCwxMDgsMTA4LDI1NSwgbWF4Q29sb3JWYWx1ZT0yNTUpKQojIEdSRUVOMCA9IChyZ2IoMCwxNTEsNTUsMjU1LCBtYXhDb2xvclZhbHVlPTI1NSkpCk9SQU5HRTAgPSAocmdiKDI1NSwxMjMsMCwyNTUsIG1heENvbG9yVmFsdWU9MjU1KSkKIyBQSU5LMCA9IChyZ2IoMjI0LDEzMCwxODAsMjU1LCBtYXhDb2xvclZhbHVlPTI1NSkpCiMgVEVBTDAgPSAocmdiKDAsMTc1LDE5NSwyNTUsIG1heENvbG9yVmFsdWU9MjU1KSkKR09MRDAgPSAocmdiKDE3MiwxODEsMCwyNTUsIG1heENvbG9yVmFsdWU9MjU1KSkKIyBsaWdodF9ibHVlPXJnYigwLDExNywyMjAsMjU1LG1heENvbG9yVmFsdWU9MjU1KSAjY29sMgojIHBpbms9cmdiKDE5NCwwLDEzNiwyNTUsbWF4Q29sb3JWYWx1ZT0yNTUpICNjb2wxMwpkYXJrX2JsdWU9cmdiKDAsNTEsMTI4LDI1NSxtYXhDb2xvclZhbHVlPTI1NSkgI2NvbDE0CiMgZGFya19yZWQ9cmdiKDE1MywwLDAsMjU1LG1heENvbG9yVmFsdWU9MjU1KQoKY29sb3JzPWMoUkVEMCxQVVJQTEUwLE9SQU5HRTAsR09MRDAsZGFya19ibHVlKQoKIyBydW4gcGxvdF9zbW9vdGggdG8gZ3JhYiB2YWx1ZXMgZm9yIGZpdCwgdXBwZXIgJiBsb3dlciBib3VuZHMKcDE9cGxvdF9zbW9vdGgoeD1Ob3Rlcy5nYW0uQVIuTW9kMiwgdmlldz0idGhldGFfdW5jdXRfeiIsIAogICAgICAgICAgICAgICBjb25kPWxpc3QobGFuZ05vdGVJbnQub3JkPSJOWkUuQmIyLmZvcnRlIiksIHJtLnJhbmVmPVRSVUUpCnAyPXBsb3Rfc21vb3RoKHg9Tm90ZXMuZ2FtLkFSLk1vZDIsIHZpZXc9InRoZXRhX3VuY3V0X3oiLCAKICAgICAgICAgICAgICAgY29uZD1saXN0KGxhbmdOb3RlSW50Lm9yZD0iTlpFLkYzLmZvcnRlIiksIHJtLnJhbmVmPVRSVUUpCnAzPXBsb3Rfc21vb3RoKHg9Tm90ZXMuZ2FtLkFSLk1vZDIsIHZpZXc9InRoZXRhX3VuY3V0X3oiLCAKICAgICAgICAgICAgICAgY29uZD1saXN0KGxhbmdOb3RlSW50Lm9yZD0iTlpFLkJiMy5mb3J0ZSIpLCBybS5yYW5lZj1UUlVFKQpwND1wbG90X3Ntb290aCh4PU5vdGVzLmdhbS5BUi5Nb2QyLCB2aWV3PSJ0aGV0YV91bmN1dF96IiwgCiAgICAgICAgICAgICAgIGNvbmQ9bGlzdChsYW5nTm90ZUludC5vcmQ9Ik5aRS5ENC5mb3J0ZSIpLCBybS5yYW5lZj1UUlVFKQpwNT1wbG90X3Ntb290aCh4PU5vdGVzLmdhbS5BUi5Nb2QyLCB2aWV3PSJ0aGV0YV91bmN1dF96IiwgCiAgICAgICAgICAgICAgIGNvbmQ9bGlzdChsYW5nTm90ZUludC5vcmQ9Ik5aRS5GNC5mb3J0ZSIpLCBybS5yYW5lZj1UUlVFKQpzbW9vdGhfbmFtZXM9YygiQmIyIiwiRjMiLCJCYjMiLCJENCIsIkY0IikKCiMgc2V0IFJobyBtYXggdG8gdGhlIG1heCBvZiB0aGUgZml0ICsgaGFsZiB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIG1heCBvZiB0aGUgZml0IGFuZCB0aGUgdXBwZXIgbGltaXQKbWF4X3VsID0gbWF4KHAxJGZ2JHVsLCBwMiRmdiR1bCwgcDMkZnYkdWwsIHA0JGZ2JHVsLCBwNSRmdiR1bCkKbWF4X2ZpdCA9IG1heChwMSRmdiRmaXQsIHAyJGZ2JGZpdCwgcDMkZnYkZml0LCBwNCRmdiRmaXQsIHA1JGZ2JGZpdCkKbWF4aW11bT1tYXhfZml0KygobWF4X3VsLW1heF9maXQpLzIpCgojIHBsb3QgaW4gcG9sYXIgY29vcmRpbmF0ZXMKcD1wbG90X2x5KHR5cGU9J3NjYXR0ZXJwb2xhcicsIG1vZGU9J2xpbmVzJykgJT4lIAogIGFkZF90cmFjZSh0aGV0YT1wMSRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wMSRmdiRmaXQsIGxpbmU9bGlzdChjb2xvcj1jb2xvcnNbMV0sIHdpZHRoPTIuNSksIG5hbWU9c21vb3RoX25hbWVzWzFdKSAlPiUgCiAgYWRkX3RyYWNlKHRoZXRhPXAxJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXAxJGZ2JHVsLCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzFdLCBkYXNoPSJkb3QiLCB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUgCiAgYWRkX3RyYWNlKHRoZXRhPXAxJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXAxJGZ2JGxsLCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzFdLCBkYXNoPSJkb3QiLCB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUgCiAgYWRkX3RyYWNlKHRoZXRhPXAyJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXAyJGZ2JGZpdCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1syXSwgd2lkdGg9Mi41KSxuYW1lPXNtb290aF9uYW1lc1syXSkgJT4lIAogIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wMiRmdiR1bCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1syXSwgZGFzaD0iZG90Iiwgd2lkdGg9MC41KSwgc2hvd2xlZ2VuZD1GQUxTRSkgJT4lIAogIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wMiRmdiRsbCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1syXSwgZGFzaD0iZG90Iiwgd2lkdGg9MC41KSwgc2hvd2xlZ2VuZD1GQUxTRSkgJT4lCiAgYWRkX3RyYWNlKHRoZXRhPXAyJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXAzJGZ2JGZpdCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1szXSwgd2lkdGg9Mi41KSwgbmFtZT1zbW9vdGhfbmFtZXNbM10pICU+JSAKICBhZGRfdHJhY2UodGhldGE9cDIkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDMkZnYkdWwsIGxpbmU9bGlzdChjb2xvcj1jb2xvcnNbM10sIGRhc2g9ImRvdCIsIHdpZHRoPTAuNSksIHNob3dsZWdlbmQ9RkFMU0UpICU+JSAKICBhZGRfdHJhY2UodGhldGE9cDIkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDMkZnYkbGwsIGxpbmU9bGlzdChjb2xvcj1jb2xvcnNbM10sIGRhc2g9ImRvdCIsIHdpZHRoPTAuNSksIHNob3dsZWdlbmQ9RkFMU0UpICU+JQogIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wNCRmdiRmaXQsIGxpbmU9bGlzdChjb2xvcj1jb2xvcnNbNF0sIHdpZHRoPTIuNSksIG5hbWU9c21vb3RoX25hbWVzWzRdKSAlPiUgCiAgYWRkX3RyYWNlKHRoZXRhPXAyJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXA0JGZ2JHVsLCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzRdLCBkYXNoPSJkb3QiLCB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUgCiAgYWRkX3RyYWNlKHRoZXRhPXAyJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXA0JGZ2JGxsLCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzRdLCBkYXNoPSJkb3QiLCB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUKICBhZGRfdHJhY2UodGhldGE9cDIkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDUkZnYkZml0LCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzVdLCB3aWR0aD0yLjUpLCBuYW1lPXNtb290aF9uYW1lc1s1XSkgJT4lIAogIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wNSRmdiR1bCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1s1XSwgZGFzaD0iZG90Iiwgd2lkdGg9MC41KSwgc2hvd2xlZ2VuZD1GQUxTRSkgJT4lIAogIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wNSRmdiRsbCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1s1XSwgZGFzaD0iZG90Iiwgd2lkdGg9MC41KSwgc2hvd2xlZ2VuZD1GQUxTRSkgJT4lCiAgbGF5b3V0KHBvbGFyPWxpc3Qoc2VjdG9yPWMoMjAsMTYwKSwgcmFkaWFsYXhpcz1saXN0KGFuZ2xlPTkwLCByYW5nZT1jKDAsbWF4aW11bSkpLAogICAgICAgICAgICAgICAgICAgIGFuZ3VsYXJheGlzPWxpc3QodGhldGF1bml0PSdyYWRpYW5zJywgZGlyZWN0aW9uPSJjbG9ja3dpc2UiLCByb3RhdGlvbj0wKSksIAogICAgICAgICB0aXRsZT0iQWxsIG5vdGVzIHByb2R1Y2VkIGJ5IE5aRSBwbGF5ZXJzIGF0IGZvcnRlIGludGVuc2l0eSIpCnAKcm0ocDEscDIscDMscDQscDUpCmBgYAoKIyMjIG1lenpvZm9ydGUKCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFLCBmaWcud2lkdGg9OCwgZmlnLmhlaWdodD01fQpjb2xvcnM9YyhSRUQwLFBVUlBMRTAsT1JBTkdFMCxHT0xEMCxkYXJrX2JsdWUpCgojIHJ1biBwbG90X3Ntb290aCB0byBncmFiIHZhbHVlcyBmb3IgZml0LCB1cHBlciAmIGxvd2VyIGJvdW5kcwpwMT1wbG90X3Ntb290aCh4PU5vdGVzLmdhbS5BUi5Nb2QyLCB2aWV3PSJ0aGV0YV91bmN1dF96IiwgCiAgICAgICAgICAgICAgIGNvbmQ9bGlzdChsYW5nTm90ZUludC5vcmQ9Ik5aRS5CYjIubWV6em9mb3J0ZSIpLCBybS5yYW5lZj1UUlVFKQpwMj1wbG90X3Ntb290aCh4PU5vdGVzLmdhbS5BUi5Nb2QyLCB2aWV3PSJ0aGV0YV91bmN1dF96IiwgCiAgICAgICAgICAgICAgIGNvbmQ9bGlzdChsYW5nTm90ZUludC5vcmQ9Ik5aRS5GMy5tZXp6b2ZvcnRlIiksIHJtLnJhbmVmPVRSVUUpCnAzPXBsb3Rfc21vb3RoKHg9Tm90ZXMuZ2FtLkFSLk1vZDIsIHZpZXc9InRoZXRhX3VuY3V0X3oiLCAKICAgICAgICAgICAgICAgY29uZD1saXN0KGxhbmdOb3RlSW50Lm9yZD0iTlpFLkJiMy5tZXp6b2ZvcnRlIiksIHJtLnJhbmVmPVRSVUUpCnA0PXBsb3Rfc21vb3RoKHg9Tm90ZXMuZ2FtLkFSLk1vZDIsIHZpZXc9InRoZXRhX3VuY3V0X3oiLCAKICAgICAgICAgICAgICAgY29uZD1saXN0KGxhbmdOb3RlSW50Lm9yZD0iTlpFLkQ0Lm1lenpvZm9ydGUiKSwgcm0ucmFuZWY9VFJVRSkKcDU9cGxvdF9zbW9vdGgoeD1Ob3Rlcy5nYW0uQVIuTW9kMiwgdmlldz0idGhldGFfdW5jdXRfeiIsIAogICAgICAgICAgICAgICBjb25kPWxpc3QobGFuZ05vdGVJbnQub3JkPSJOWkUuRjQubWV6em9mb3J0ZSIpLCBybS5yYW5lZj1UUlVFKQpzbW9vdGhfbmFtZXM9YygiQmIyIiwiRjMiLCJCYjMiLCJENCIsIkY0IikKCiMgc2V0IFJobyBtYXggdG8gdGhlIG1heCBvZiB0aGUgZml0ICsgaGFsZiB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIG1heCBvZiB0aGUgZml0IGFuZCB0aGUgdXBwZXIgbGltaXQKbWF4X3VsID0gbWF4KHAxJGZ2JHVsLCBwMiRmdiR1bCwgcDMkZnYkdWwsIHA0JGZ2JHVsLCBwNSRmdiR1bCkKbWF4X2ZpdCA9IG1heChwMSRmdiRmaXQsIHAyJGZ2JGZpdCwgcDMkZnYkZml0LCBwNCRmdiRmaXQsIHA1JGZ2JGZpdCkKbWF4aW11bT1tYXhfZml0KygobWF4X3VsLW1heF9maXQpLzIpCgojIHBsb3QgaW4gcG9sYXIgY29vcmRpbmF0ZXMKcD1wbG90X2x5KHR5cGU9J3NjYXR0ZXJwb2xhcicsIG1vZGU9J2xpbmVzJykgJT4lIAogIGFkZF90cmFjZSh0aGV0YT1wMSRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wMSRmdiRmaXQsIGxpbmU9bGlzdChjb2xvcj1jb2xvcnNbMV0sIHdpZHRoPTIuNSksIG5hbWU9c21vb3RoX25hbWVzWzFdKSAlPiUgCiAgYWRkX3RyYWNlKHRoZXRhPXAxJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXAxJGZ2JHVsLCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzFdLCBkYXNoPSJkb3QiLCB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUgCiAgYWRkX3RyYWNlKHRoZXRhPXAxJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXAxJGZ2JGxsLCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzFdLCBkYXNoPSJkb3QiLCB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUgCiAgYWRkX3RyYWNlKHRoZXRhPXAyJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXAyJGZ2JGZpdCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1syXSwgd2lkdGg9Mi41KSxuYW1lPXNtb290aF9uYW1lc1syXSkgJT4lIAogIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wMiRmdiR1bCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1syXSwgZGFzaD0iZG90Iiwgd2lkdGg9MC41KSwgc2hvd2xlZ2VuZD1GQUxTRSkgJT4lIAogIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wMiRmdiRsbCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1syXSwgZGFzaD0iZG90Iiwgd2lkdGg9MC41KSwgc2hvd2xlZ2VuZD1GQUxTRSkgJT4lCiAgYWRkX3RyYWNlKHRoZXRhPXAyJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXAzJGZ2JGZpdCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1szXSwgd2lkdGg9Mi41KSwgbmFtZT1zbW9vdGhfbmFtZXNbM10pICU+JSAKICBhZGRfdHJhY2UodGhldGE9cDIkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDMkZnYkdWwsIGxpbmU9bGlzdChjb2xvcj1jb2xvcnNbM10sIGRhc2g9ImRvdCIsIHdpZHRoPTAuNSksIHNob3dsZWdlbmQ9RkFMU0UpICU+JSAKICBhZGRfdHJhY2UodGhldGE9cDIkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDMkZnYkbGwsIGxpbmU9bGlzdChjb2xvcj1jb2xvcnNbM10sIGRhc2g9ImRvdCIsIHdpZHRoPTAuNSksIHNob3dsZWdlbmQ9RkFMU0UpICU+JQogIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wNCRmdiRmaXQsIGxpbmU9bGlzdChjb2xvcj1jb2xvcnNbNF0sIHdpZHRoPTIuNSksIG5hbWU9c21vb3RoX25hbWVzWzRdKSAlPiUgCiAgYWRkX3RyYWNlKHRoZXRhPXAyJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXA0JGZ2JHVsLCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzRdLCBkYXNoPSJkb3QiLCB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUgCiAgYWRkX3RyYWNlKHRoZXRhPXAyJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXA0JGZ2JGxsLCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzRdLCBkYXNoPSJkb3QiLCB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUKICBhZGRfdHJhY2UodGhldGE9cDIkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDUkZnYkZml0LCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzVdLCB3aWR0aD0yLjUpLCBuYW1lPXNtb290aF9uYW1lc1s1XSkgJT4lIAogIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wNSRmdiR1bCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1s1XSwgZGFzaD0iZG90Iiwgd2lkdGg9MC41KSwgc2hvd2xlZ2VuZD1GQUxTRSkgJT4lIAogIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wNSRmdiRsbCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1s1XSwgZGFzaD0iZG90Iiwgd2lkdGg9MC41KSwgc2hvd2xlZ2VuZD1GQUxTRSkgJT4lCiAgbGF5b3V0KHBvbGFyPWxpc3Qoc2VjdG9yPWMoMjAsMTYwKSwgcmFkaWFsYXhpcz1saXN0KGFuZ2xlPTkwLCByYW5nZT1jKDAsbWF4aW11bSkpLAogICAgICAgICAgICAgICAgICAgIGFuZ3VsYXJheGlzPWxpc3QodGhldGF1bml0PSdyYWRpYW5zJywgZGlyZWN0aW9uPSJjbG9ja3dpc2UiLCByb3RhdGlvbj0wKSksIAogICAgICAgICB0aXRsZT0iQWxsIG5vdGVzIHByb2R1Y2VkIGJ5IE5aRSBwbGF5ZXJzIGF0IG1lenpvZm9ydGUgaW50ZW5zaXR5IikKcApybShwMSxwMixwMyxwNCxwNSkKYGBgCgojIyMgbWV6em9waWFubwoKYGBge3Igd2FybmluZz1GQUxTRSwgbWVzc2FnZT1GQUxTRSwgZXJyb3I9RkFMU0UsIGZpZy53aWR0aD04LCBmaWcuaGVpZ2h0PTV9CmNvbG9ycz1jKFJFRDAsUFVSUExFMCxPUkFOR0UwLEdPTEQwLGRhcmtfYmx1ZSkKCiMgcnVuIHBsb3Rfc21vb3RoIHRvIGdyYWIgdmFsdWVzIGZvciBmaXQsIHVwcGVyICYgbG93ZXIgYm91bmRzCnAxPXBsb3Rfc21vb3RoKHg9Tm90ZXMuZ2FtLkFSLk1vZDIsIHZpZXc9InRoZXRhX3VuY3V0X3oiLCAKICAgICAgICAgICAgICAgY29uZD1saXN0KGxhbmdOb3RlSW50Lm9yZD0iTlpFLkJiMi5tZXp6b3BpYW5vIiksIHJtLnJhbmVmPVRSVUUpCnAyPXBsb3Rfc21vb3RoKHg9Tm90ZXMuZ2FtLkFSLk1vZDIsIHZpZXc9InRoZXRhX3VuY3V0X3oiLCAKICAgICAgICAgICAgICAgY29uZD1saXN0KGxhbmdOb3RlSW50Lm9yZD0iTlpFLkYzLm1lenpvcGlhbm8iKSwgcm0ucmFuZWY9VFJVRSkKcDM9cGxvdF9zbW9vdGgoeD1Ob3Rlcy5nYW0uQVIuTW9kMiwgdmlldz0idGhldGFfdW5jdXRfeiIsIAogICAgICAgICAgICAgICBjb25kPWxpc3QobGFuZ05vdGVJbnQub3JkPSJOWkUuQmIzLm1lenpvcGlhbm8iKSwgcm0ucmFuZWY9VFJVRSkKcDQ9cGxvdF9zbW9vdGgoeD1Ob3Rlcy5nYW0uQVIuTW9kMiwgdmlldz0idGhldGFfdW5jdXRfeiIsIAogICAgICAgICAgICAgICBjb25kPWxpc3QobGFuZ05vdGVJbnQub3JkPSJOWkUuRDQubWV6em9waWFubyIpLCBybS5yYW5lZj1UUlVFKQpzbW9vdGhfbmFtZXM9YygiQmIyIiwiRjMiLCJCYjMiLCJENCIpCgojIHNldCBSaG8gbWF4IHRvIHRoZSBtYXggb2YgdGhlIGZpdCArIGhhbGYgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBtYXggb2YgdGhlIGZpdCBhbmQgdGhlIHVwcGVyIGxpbWl0Cm1heF91bCA9IG1heChwMSRmdiR1bCwgcDIkZnYkdWwsIHAzJGZ2JHVsLCBwNCRmdiR1bCkKbWF4X2ZpdCA9IG1heChwMSRmdiRmaXQsIHAyJGZ2JGZpdCwgcDMkZnYkZml0LCBwNCRmdiRmaXQpCm1heGltdW09bWF4X2ZpdCsoKG1heF91bC1tYXhfZml0KS8yKQoKIyBwbG90IGluIHBvbGFyIGNvb3JkaW5hdGVzCnA9cGxvdF9seSh0eXBlPSdzY2F0dGVycG9sYXInLCBtb2RlPSdsaW5lcycpICU+JSAKICBhZGRfdHJhY2UodGhldGE9cDEkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDEkZnYkZml0LCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzFdLCB3aWR0aD0yLjUpLCBuYW1lPXNtb290aF9uYW1lc1sxXSkgJT4lIAogIGFkZF90cmFjZSh0aGV0YT1wMSRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wMSRmdiR1bCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1sxXSwgZGFzaD0iZG90Iiwgd2lkdGg9MC41KSwgc2hvd2xlZ2VuZD1GQUxTRSkgJT4lIAogIGFkZF90cmFjZSh0aGV0YT1wMSRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wMSRmdiRsbCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1sxXSwgZGFzaD0iZG90Iiwgd2lkdGg9MC41KSwgc2hvd2xlZ2VuZD1GQUxTRSkgJT4lIAogIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wMiRmdiRmaXQsIGxpbmU9bGlzdChjb2xvcj1jb2xvcnNbMl0sIHdpZHRoPTIuNSksbmFtZT1zbW9vdGhfbmFtZXNbMl0pICU+JSAKICBhZGRfdHJhY2UodGhldGE9cDIkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDIkZnYkdWwsIGxpbmU9bGlzdChjb2xvcj1jb2xvcnNbMl0sIGRhc2g9ImRvdCIsIHdpZHRoPTAuNSksIHNob3dsZWdlbmQ9RkFMU0UpICU+JSAKICBhZGRfdHJhY2UodGhldGE9cDIkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDIkZnYkbGwsIGxpbmU9bGlzdChjb2xvcj1jb2xvcnNbMl0sIGRhc2g9ImRvdCIsIHdpZHRoPTAuNSksIHNob3dsZWdlbmQ9RkFMU0UpICU+JQogIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wMyRmdiRmaXQsIGxpbmU9bGlzdChjb2xvcj1jb2xvcnNbM10sIHdpZHRoPTIuNSksIG5hbWU9c21vb3RoX25hbWVzWzNdKSAlPiUgCiAgYWRkX3RyYWNlKHRoZXRhPXAyJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXAzJGZ2JHVsLCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzNdLCBkYXNoPSJkb3QiLCB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUgCiAgYWRkX3RyYWNlKHRoZXRhPXAyJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXAzJGZ2JGxsLCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzNdLCBkYXNoPSJkb3QiLCB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUKICBhZGRfdHJhY2UodGhldGE9cDIkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDQkZnYkZml0LCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzRdLCB3aWR0aD0yLjUpLCBuYW1lPXNtb290aF9uYW1lc1s0XSkgJT4lIAogIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wNCRmdiR1bCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1s0XSwgZGFzaD0iZG90Iiwgd2lkdGg9MC41KSwgc2hvd2xlZ2VuZD1GQUxTRSkgJT4lIAogIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wNCRmdiRsbCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1s0XSwgZGFzaD0iZG90Iiwgd2lkdGg9MC41KSwgc2hvd2xlZ2VuZD1GQUxTRSkgJT4lCiAgbGF5b3V0KHBvbGFyPWxpc3Qoc2VjdG9yPWMoMjAsMTYwKSwgcmFkaWFsYXhpcz1saXN0KGFuZ2xlPTkwLCByYW5nZT1jKDAsbWF4aW11bSkpLAogICAgICAgICAgICAgICAgICAgIGFuZ3VsYXJheGlzPWxpc3QodGhldGF1bml0PSdyYWRpYW5zJywgZGlyZWN0aW9uPSJjbG9ja3dpc2UiLCByb3RhdGlvbj0wKSksIAogICAgICAgICB0aXRsZT0iQWxsIG5vdGVzIHByb2R1Y2VkIGJ5IE5aRSBwbGF5ZXJzIGF0IG1lenpvcGlhbm8gaW50ZW5zaXR5IikKcApybShwMSxwMixwMyxwNCkKYGBgCgojIyMgcGlhbm8KCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFLCBmaWcud2lkdGg9OCwgZmlnLmhlaWdodD01fQpjb2xvcnM9YyhSRUQwLFBVUlBMRTAsT1JBTkdFMCxHT0xEMCxkYXJrX2JsdWUpCgojIHJ1biBwbG90X3Ntb290aCB0byBncmFiIHZhbHVlcyBmb3IgZml0LCB1cHBlciAmIGxvd2VyIGJvdW5kcwpwMT1wbG90X3Ntb290aCh4PU5vdGVzLmdhbS5BUi5Nb2QyLCB2aWV3PSJ0aGV0YV91bmN1dF96IiwgCiAgICAgICAgICAgICAgIGNvbmQ9bGlzdChsYW5nTm90ZUludC5vcmQ9Ik5aRS5CYjIucGlhbm8iKSwgcm0ucmFuZWY9VFJVRSkKcDI9cGxvdF9zbW9vdGgoeD1Ob3Rlcy5nYW0uQVIuTW9kMiwgdmlldz0idGhldGFfdW5jdXRfeiIsIAogICAgICAgICAgICAgICBjb25kPWxpc3QobGFuZ05vdGVJbnQub3JkPSJOWkUuRjMucGlhbm8iKSwgcm0ucmFuZWY9VFJVRSkKcDM9cGxvdF9zbW9vdGgoeD1Ob3Rlcy5nYW0uQVIuTW9kMiwgdmlldz0idGhldGFfdW5jdXRfeiIsIAogICAgICAgICAgICAgICBjb25kPWxpc3QobGFuZ05vdGVJbnQub3JkPSJOWkUuQmIzLnBpYW5vIiksIHJtLnJhbmVmPVRSVUUpCnA0PXBsb3Rfc21vb3RoKHg9Tm90ZXMuZ2FtLkFSLk1vZDIsIHZpZXc9InRoZXRhX3VuY3V0X3oiLCAKICAgICAgICAgICAgICAgY29uZD1saXN0KGxhbmdOb3RlSW50Lm9yZD0iTlpFLkQ0LnBpYW5vIiksIHJtLnJhbmVmPVRSVUUpCnA1PXBsb3Rfc21vb3RoKHg9Tm90ZXMuZ2FtLkFSLk1vZDIsIHZpZXc9InRoZXRhX3VuY3V0X3oiLCAKICAgICAgICAgICAgICAgY29uZD1saXN0KGxhbmdOb3RlSW50Lm9yZD0iTlpFLkY0LnBpYW5vIiksIHJtLnJhbmVmPVRSVUUpCnNtb290aF9uYW1lcz1jKCJCYjIiLCJGMyIsIkJiMyIsIkQ0IiwiRjQiKQoKIyBzZXQgUmhvIG1heCB0byB0aGUgbWF4IG9mIHRoZSBmaXQgKyBoYWxmIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gbWF4IG9mIHRoZSBmaXQgYW5kIHRoZSB1cHBlciBsaW1pdAptYXhfdWwgPSBtYXgocDEkZnYkdWwsIHAyJGZ2JHVsLCBwMyRmdiR1bCwgcDQkZnYkdWwsIHA1JGZ2JHVsKQptYXhfZml0ID0gbWF4KHAxJGZ2JGZpdCwgcDIkZnYkZml0LCBwMyRmdiRmaXQsIHA0JGZ2JGZpdCwgcDUkZnYkZml0KQptYXhpbXVtPW1heF9maXQrKChtYXhfdWwtbWF4X2ZpdCkvMikKCiMgcGxvdCBpbiBwb2xhciBjb29yZGluYXRlcwpwPXBsb3RfbHkodHlwZT0nc2NhdHRlcnBvbGFyJywgbW9kZT0nbGluZXMnKSAlPiUgCiAgYWRkX3RyYWNlKHRoZXRhPXAxJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXAxJGZ2JGZpdCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1sxXSwgd2lkdGg9Mi41KSwgbmFtZT1zbW9vdGhfbmFtZXNbMV0pICU+JSAKICBhZGRfdHJhY2UodGhldGE9cDEkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDEkZnYkdWwsIGxpbmU9bGlzdChjb2xvcj1jb2xvcnNbMV0sIGRhc2g9ImRvdCIsIHdpZHRoPTAuNSksIHNob3dsZWdlbmQ9RkFMU0UpICU+JSAKICBhZGRfdHJhY2UodGhldGE9cDEkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDEkZnYkbGwsIGxpbmU9bGlzdChjb2xvcj1jb2xvcnNbMV0sIGRhc2g9ImRvdCIsIHdpZHRoPTAuNSksIHNob3dsZWdlbmQ9RkFMU0UpICU+JSAKICBhZGRfdHJhY2UodGhldGE9cDIkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDIkZnYkZml0LCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzJdLCB3aWR0aD0yLjUpLG5hbWU9c21vb3RoX25hbWVzWzJdKSAlPiUgCiAgYWRkX3RyYWNlKHRoZXRhPXAyJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXAyJGZ2JHVsLCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzJdLCBkYXNoPSJkb3QiLCB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUgCiAgYWRkX3RyYWNlKHRoZXRhPXAyJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXAyJGZ2JGxsLCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzJdLCBkYXNoPSJkb3QiLCB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUKICBhZGRfdHJhY2UodGhldGE9cDIkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDMkZnYkZml0LCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzNdLCB3aWR0aD0yLjUpLCBuYW1lPXNtb290aF9uYW1lc1szXSkgJT4lIAogIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wMyRmdiR1bCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1szXSwgZGFzaD0iZG90Iiwgd2lkdGg9MC41KSwgc2hvd2xlZ2VuZD1GQUxTRSkgJT4lIAogIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wMyRmdiRsbCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1szXSwgZGFzaD0iZG90Iiwgd2lkdGg9MC41KSwgc2hvd2xlZ2VuZD1GQUxTRSkgJT4lCiAgYWRkX3RyYWNlKHRoZXRhPXAyJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXA0JGZ2JGZpdCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1s0XSwgd2lkdGg9Mi41KSwgbmFtZT1zbW9vdGhfbmFtZXNbNF0pICU+JSAKICBhZGRfdHJhY2UodGhldGE9cDIkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDQkZnYkdWwsIGxpbmU9bGlzdChjb2xvcj1jb2xvcnNbNF0sIGRhc2g9ImRvdCIsIHdpZHRoPTAuNSksIHNob3dsZWdlbmQ9RkFMU0UpICU+JSAKICBhZGRfdHJhY2UodGhldGE9cDIkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDQkZnYkbGwsIGxpbmU9bGlzdChjb2xvcj1jb2xvcnNbNF0sIGRhc2g9ImRvdCIsIHdpZHRoPTAuNSksIHNob3dsZWdlbmQ9RkFMU0UpICU+JQogIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wNSRmdiRmaXQsIGxpbmU9bGlzdChjb2xvcj1jb2xvcnNbNV0sIHdpZHRoPTIuNSksIG5hbWU9c21vb3RoX25hbWVzWzVdKSAlPiUgCiAgYWRkX3RyYWNlKHRoZXRhPXAyJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXA1JGZ2JHVsLCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzVdLCBkYXNoPSJkb3QiLCB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUgCiAgYWRkX3RyYWNlKHRoZXRhPXAyJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXA1JGZ2JGxsLCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzVdLCBkYXNoPSJkb3QiLCB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUKICBsYXlvdXQocG9sYXI9bGlzdChzZWN0b3I9YygyMCwxNjApLCByYWRpYWxheGlzPWxpc3QoYW5nbGU9OTAsIHJhbmdlPWMoMCxtYXhpbXVtKSksCiAgICAgICAgICAgICAgICAgICAgYW5ndWxhcmF4aXM9bGlzdCh0aGV0YXVuaXQ9J3JhZGlhbnMnLCBkaXJlY3Rpb249ImNsb2Nrd2lzZSIsIHJvdGF0aW9uPTApKSwgCiAgICAgICAgIHRpdGxlPSJBbGwgbm90ZXMgcHJvZHVjZWQgYnkgTlpFIHBsYXllcnMgYXQgcGlhbm8gaW50ZW5zaXR5IikKcApybShwMSxwMixwMyxwNCxwNSkKYGBgCgoKIyMgVG9uZ2FuCgojIyMgZm9ydGUKCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFLCBmaWcud2lkdGg9OCwgZmlnLmhlaWdodD01fQpjb2xvcnM9YyhSRUQwLFBVUlBMRTAsT1JBTkdFMCxHT0xEMCxkYXJrX2JsdWUpCgojIHJ1biBwbG90X3Ntb290aCB0byBncmFiIHZhbHVlcyBmb3IgZml0LCB1cHBlciAmIGxvd2VyIGJvdW5kcwpwMT1wbG90X3Ntb290aCh4PU5vdGVzLmdhbS5BUi5Nb2QyLCB2aWV3PSJ0aGV0YV91bmN1dF96IiwgCiAgICAgICAgICAgICAgIGNvbmQ9bGlzdChsYW5nTm90ZUludC5vcmQ9IlRvbmdhbi5CYjIuZm9ydGUiKSwgcm0ucmFuZWY9VFJVRSkKcDI9cGxvdF9zbW9vdGgoeD1Ob3Rlcy5nYW0uQVIuTW9kMiwgdmlldz0idGhldGFfdW5jdXRfeiIsIAogICAgICAgICAgICAgICBjb25kPWxpc3QobGFuZ05vdGVJbnQub3JkPSJUb25nYW4uRjMuZm9ydGUiKSwgcm0ucmFuZWY9VFJVRSkKcDM9cGxvdF9zbW9vdGgoeD1Ob3Rlcy5nYW0uQVIuTW9kMiwgdmlldz0idGhldGFfdW5jdXRfeiIsIAogICAgICAgICAgICAgICBjb25kPWxpc3QobGFuZ05vdGVJbnQub3JkPSJUb25nYW4uQmIzLmZvcnRlIiksIHJtLnJhbmVmPVRSVUUpCnA0PXBsb3Rfc21vb3RoKHg9Tm90ZXMuZ2FtLkFSLk1vZDIsIHZpZXc9InRoZXRhX3VuY3V0X3oiLCAKICAgICAgICAgICAgICAgY29uZD1saXN0KGxhbmdOb3RlSW50Lm9yZD0iVG9uZ2FuLkQ0LmZvcnRlIiksIHJtLnJhbmVmPVRSVUUpCnA1PXBsb3Rfc21vb3RoKHg9Tm90ZXMuZ2FtLkFSLk1vZDIsIHZpZXc9InRoZXRhX3VuY3V0X3oiLCAKICAgICAgICAgICAgICAgY29uZD1saXN0KGxhbmdOb3RlSW50Lm9yZD0iVG9uZ2FuLkY0LmZvcnRlIiksIHJtLnJhbmVmPVRSVUUpCnNtb290aF9uYW1lcz1jKCJCYjIiLCJGMyIsIkJiMyIsIkQ0IiwiRjQiKQoKIyBzZXQgUmhvIG1heCB0byB0aGUgbWF4IG9mIHRoZSBmaXQgKyBoYWxmIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gbWF4IG9mIHRoZSBmaXQgYW5kIHRoZSB1cHBlciBsaW1pdAptYXhfdWwgPSBtYXgocDEkZnYkdWwsIHAyJGZ2JHVsLCBwMyRmdiR1bCwgcDQkZnYkdWwsIHA1JGZ2JHVsKQptYXhfZml0ID0gbWF4KHAxJGZ2JGZpdCwgcDIkZnYkZml0LCBwMyRmdiRmaXQsIHA0JGZ2JGZpdCwgcDUkZnYkZml0KQptYXhpbXVtPW1heF9maXQrKChtYXhfdWwtbWF4X2ZpdCkvMikKCiMgcGxvdCBpbiBwb2xhciBjb29yZGluYXRlcwpwPXBsb3RfbHkodHlwZT0nc2NhdHRlcnBvbGFyJywgbW9kZT0nbGluZXMnKSAlPiUgCiAgYWRkX3RyYWNlKHRoZXRhPXAxJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXAxJGZ2JGZpdCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1sxXSwgd2lkdGg9Mi41KSwgbmFtZT1zbW9vdGhfbmFtZXNbMV0pICU+JSAKICBhZGRfdHJhY2UodGhldGE9cDEkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDEkZnYkdWwsIGxpbmU9bGlzdChjb2xvcj1jb2xvcnNbMV0sIGRhc2g9ImRvdCIsIHdpZHRoPTAuNSksIHNob3dsZWdlbmQ9RkFMU0UpICU+JSAKICBhZGRfdHJhY2UodGhldGE9cDEkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDEkZnYkbGwsIGxpbmU9bGlzdChjb2xvcj1jb2xvcnNbMV0sIGRhc2g9ImRvdCIsIHdpZHRoPTAuNSksIHNob3dsZWdlbmQ9RkFMU0UpICU+JSAKICBhZGRfdHJhY2UodGhldGE9cDIkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDIkZnYkZml0LCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzJdLCB3aWR0aD0yLjUpLG5hbWU9c21vb3RoX25hbWVzWzJdKSAlPiUgCiAgYWRkX3RyYWNlKHRoZXRhPXAyJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXAyJGZ2JHVsLCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzJdLCBkYXNoPSJkb3QiLCB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUgCiAgYWRkX3RyYWNlKHRoZXRhPXAyJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXAyJGZ2JGxsLCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzJdLCBkYXNoPSJkb3QiLCB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUKICBhZGRfdHJhY2UodGhldGE9cDIkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDMkZnYkZml0LCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzNdLCB3aWR0aD0yLjUpLCBuYW1lPXNtb290aF9uYW1lc1szXSkgJT4lIAogIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wMyRmdiR1bCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1szXSwgZGFzaD0iZG90Iiwgd2lkdGg9MC41KSwgc2hvd2xlZ2VuZD1GQUxTRSkgJT4lIAogIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wMyRmdiRsbCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1szXSwgZGFzaD0iZG90Iiwgd2lkdGg9MC41KSwgc2hvd2xlZ2VuZD1GQUxTRSkgJT4lCiAgYWRkX3RyYWNlKHRoZXRhPXAyJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXA0JGZ2JGZpdCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1s0XSwgd2lkdGg9Mi41KSwgbmFtZT1zbW9vdGhfbmFtZXNbNF0pICU+JSAKICBhZGRfdHJhY2UodGhldGE9cDIkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDQkZnYkdWwsIGxpbmU9bGlzdChjb2xvcj1jb2xvcnNbNF0sIGRhc2g9ImRvdCIsIHdpZHRoPTAuNSksIHNob3dsZWdlbmQ9RkFMU0UpICU+JSAKICBhZGRfdHJhY2UodGhldGE9cDIkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDQkZnYkbGwsIGxpbmU9bGlzdChjb2xvcj1jb2xvcnNbNF0sIGRhc2g9ImRvdCIsIHdpZHRoPTAuNSksIHNob3dsZWdlbmQ9RkFMU0UpICU+JQogIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wNSRmdiRmaXQsIGxpbmU9bGlzdChjb2xvcj1jb2xvcnNbNV0sIHdpZHRoPTIuNSksIG5hbWU9c21vb3RoX25hbWVzWzVdKSAlPiUgCiAgYWRkX3RyYWNlKHRoZXRhPXAyJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXA1JGZ2JHVsLCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzVdLCBkYXNoPSJkb3QiLCB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUgCiAgYWRkX3RyYWNlKHRoZXRhPXAyJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXA1JGZ2JGxsLCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzVdLCBkYXNoPSJkb3QiLCB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUKICBsYXlvdXQocG9sYXI9bGlzdChzZWN0b3I9YygyMCwxNjApLCByYWRpYWxheGlzPWxpc3QoYW5nbGU9OTAsIHJhbmdlPWMoMCxtYXhpbXVtKSksCiAgICAgICAgICAgICAgICAgICAgYW5ndWxhcmF4aXM9bGlzdCh0aGV0YXVuaXQ9J3JhZGlhbnMnLCBkaXJlY3Rpb249ImNsb2Nrd2lzZSIsIHJvdGF0aW9uPTApKSwgCiAgICAgICAgIHRpdGxlPXBhc3RlMCgiQWxsIG5vdGVzIHByb2R1Y2VkIGJ5IFRvbmdhbiBwbGF5ZXJzIGF0IGZvcnRlIGludGVuc2l0eSIpKQpwCnJtKHAxLHAyLHAzLHA0LHA1KQpgYGAKCiMjIyBtZXp6b2ZvcnRlCgpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgZmlnLndpZHRoPTgsIGZpZy5oZWlnaHQ9NX0KIyBzZWxlY3QgY29sb3JzIGZyb20gUkNvbG9yQnJld2VyCiMgZGlzcGxheS5icmV3ZXIucGFsKDExLCJSZFlsQnUiKQoKIyBkZWZpbmUgY29sb3JzIC0+IGNvbG9yYmxpbmRfc2FmZQojIGNvbG9ycyA9IGJyZXdlci5wYWwoMTEsIlJkWWxCdSIpW2MoMSwyLDQsOSwxMSldCgojIHVzZSBjb2xvcnMgZnJvbSBQaEQKUkVEMCA9IChyZ2IoMjEzLDEzLDExLCAyNTUsIG1heENvbG9yVmFsdWU9MjU1KSkKIyBCUk9XTjAgPSAocmdiKDEyMyw3Myw1NSwyNTUsIG1heENvbG9yVmFsdWU9MjU1KSkKUFVSUExFMCA9IChyZ2IoMTQzLDcyLDE4MywyNTUsIG1heENvbG9yVmFsdWU9MjU1KSkKIyBHUkFZMCA9IChyZ2IoMTA4LDEwOCwxMDgsMjU1LCBtYXhDb2xvclZhbHVlPTI1NSkpCiMgR1JFRU4wID0gKHJnYigwLDE1MSw1NSwyNTUsIG1heENvbG9yVmFsdWU9MjU1KSkKT1JBTkdFMCA9IChyZ2IoMjU1LDEyMywwLDI1NSwgbWF4Q29sb3JWYWx1ZT0yNTUpKQojIFBJTkswID0gKHJnYigyMjQsMTMwLDE4MCwyNTUsIG1heENvbG9yVmFsdWU9MjU1KSkKIyBURUFMMCA9IChyZ2IoMCwxNzUsMTk1LDI1NSwgbWF4Q29sb3JWYWx1ZT0yNTUpKQpHT0xEMCA9IChyZ2IoMTcyLDE4MSwwLDI1NSwgbWF4Q29sb3JWYWx1ZT0yNTUpKQojIGxpZ2h0X2JsdWU9cmdiKDAsMTE3LDIyMCwyNTUsbWF4Q29sb3JWYWx1ZT0yNTUpICNjb2wyCiMgcGluaz1yZ2IoMTk0LDAsMTM2LDI1NSxtYXhDb2xvclZhbHVlPTI1NSkgI2NvbDEzCmRhcmtfYmx1ZT1yZ2IoMCw1MSwxMjgsMjU1LG1heENvbG9yVmFsdWU9MjU1KSAjY29sMTQKIyBkYXJrX3JlZD1yZ2IoMTUzLDAsMCwyNTUsbWF4Q29sb3JWYWx1ZT0yNTUpCgpjb2xvcnM9YyhSRUQwLFBVUlBMRTAsT1JBTkdFMCxHT0xEMCxkYXJrX2JsdWUpCgojIHJ1biBwbG90X3Ntb290aCB0byBncmFiIHZhbHVlcyBmb3IgZml0LCB1cHBlciAmIGxvd2VyIGJvdW5kcwpwMT1wbG90X3Ntb290aCh4PU5vdGVzLmdhbS5BUi5Nb2QyLCB2aWV3PSJ0aGV0YV91bmN1dF96IiwgCiAgICAgICAgICAgICAgIGNvbmQ9bGlzdChsYW5nTm90ZUludC5vcmQ9IlRvbmdhbi5CYjIubWV6em9mb3J0ZSIpLCBybS5yYW5lZj1UUlVFKQpwMj1wbG90X3Ntb290aCh4PU5vdGVzLmdhbS5BUi5Nb2QyLCB2aWV3PSJ0aGV0YV91bmN1dF96IiwgCiAgICAgICAgICAgICAgIGNvbmQ9bGlzdChsYW5nTm90ZUludC5vcmQ9IlRvbmdhbi5GMy5tZXp6b2ZvcnRlIiksIHJtLnJhbmVmPVRSVUUpCnAzPXBsb3Rfc21vb3RoKHg9Tm90ZXMuZ2FtLkFSLk1vZDIsIHZpZXc9InRoZXRhX3VuY3V0X3oiLCAKICAgICAgICAgICAgICAgY29uZD1saXN0KGxhbmdOb3RlSW50Lm9yZD0iVG9uZ2FuLkJiMy5tZXp6b2ZvcnRlIiksIHJtLnJhbmVmPVRSVUUpCnA0PXBsb3Rfc21vb3RoKHg9Tm90ZXMuZ2FtLkFSLk1vZDIsIHZpZXc9InRoZXRhX3VuY3V0X3oiLCAKICAgICAgICAgICAgICAgY29uZD1saXN0KGxhbmdOb3RlSW50Lm9yZD0iVG9uZ2FuLkQ0Lm1lenpvZm9ydGUiKSwgcm0ucmFuZWY9VFJVRSkKcDU9cGxvdF9zbW9vdGgoeD1Ob3Rlcy5nYW0uQVIuTW9kMiwgdmlldz0idGhldGFfdW5jdXRfeiIsIAogICAgICAgICAgICAgICBjb25kPWxpc3QobGFuZ05vdGVJbnQub3JkPSJUb25nYW4uRjQubWV6em9mb3J0ZSIpLCBybS5yYW5lZj1UUlVFKQpzbW9vdGhfbmFtZXM9YygiQmIyIiwiRjMiLCJCYjMiLCJENCIsIkY0IikKCiMgc2V0IFJobyBtYXggdG8gdGhlIG1heCBvZiB0aGUgZml0ICsgaGFsZiB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIG1heCBvZiB0aGUgZml0IGFuZCB0aGUgdXBwZXIgbGltaXQKbWF4X3VsID0gbWF4KHAxJGZ2JHVsLCBwMiRmdiR1bCwgcDMkZnYkdWwsIHA0JGZ2JHVsLCBwNSRmdiR1bCkKbWF4X2ZpdCA9IG1heChwMSRmdiRmaXQsIHAyJGZ2JGZpdCwgcDMkZnYkZml0LCBwNCRmdiRmaXQsIHA1JGZ2JGZpdCkKbWF4aW11bT1tYXhfZml0KygobWF4X3VsLW1heF9maXQpLzIpCgojIHBsb3QgaW4gcG9sYXIgY29vcmRpbmF0ZXMKcD1wbG90X2x5KHR5cGU9J3NjYXR0ZXJwb2xhcicsIG1vZGU9J2xpbmVzJykgJT4lIAogIGFkZF90cmFjZSh0aGV0YT1wMSRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wMSRmdiRmaXQsIGxpbmU9bGlzdChjb2xvcj1jb2xvcnNbMV0sIHdpZHRoPTIuNSksIG5hbWU9c21vb3RoX25hbWVzWzFdKSAlPiUgCiAgYWRkX3RyYWNlKHRoZXRhPXAxJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXAxJGZ2JHVsLCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzFdLCBkYXNoPSJkb3QiLCB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUgCiAgYWRkX3RyYWNlKHRoZXRhPXAxJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXAxJGZ2JGxsLCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzFdLCBkYXNoPSJkb3QiLCB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUgCiAgYWRkX3RyYWNlKHRoZXRhPXAyJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXAyJGZ2JGZpdCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1syXSwgd2lkdGg9Mi41KSxuYW1lPXNtb290aF9uYW1lc1syXSkgJT4lIAogIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wMiRmdiR1bCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1syXSwgZGFzaD0iZG90Iiwgd2lkdGg9MC41KSwgc2hvd2xlZ2VuZD1GQUxTRSkgJT4lIAogIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wMiRmdiRsbCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1syXSwgZGFzaD0iZG90Iiwgd2lkdGg9MC41KSwgc2hvd2xlZ2VuZD1GQUxTRSkgJT4lCiAgYWRkX3RyYWNlKHRoZXRhPXAyJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXAzJGZ2JGZpdCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1szXSwgd2lkdGg9Mi41KSwgbmFtZT1zbW9vdGhfbmFtZXNbM10pICU+JSAKICBhZGRfdHJhY2UodGhldGE9cDIkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDMkZnYkdWwsIGxpbmU9bGlzdChjb2xvcj1jb2xvcnNbM10sIGRhc2g9ImRvdCIsIHdpZHRoPTAuNSksIHNob3dsZWdlbmQ9RkFMU0UpICU+JSAKICBhZGRfdHJhY2UodGhldGE9cDIkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDMkZnYkbGwsIGxpbmU9bGlzdChjb2xvcj1jb2xvcnNbM10sIGRhc2g9ImRvdCIsIHdpZHRoPTAuNSksIHNob3dsZWdlbmQ9RkFMU0UpICU+JQogIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wNCRmdiRmaXQsIGxpbmU9bGlzdChjb2xvcj1jb2xvcnNbNF0sIHdpZHRoPTIuNSksIG5hbWU9c21vb3RoX25hbWVzWzRdKSAlPiUgCiAgYWRkX3RyYWNlKHRoZXRhPXAyJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXA0JGZ2JHVsLCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzRdLCBkYXNoPSJkb3QiLCB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUgCiAgYWRkX3RyYWNlKHRoZXRhPXAyJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXA0JGZ2JGxsLCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzRdLCBkYXNoPSJkb3QiLCB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUKICBhZGRfdHJhY2UodGhldGE9cDIkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDUkZnYkZml0LCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzVdLCB3aWR0aD0yLjUpLCBuYW1lPXNtb290aF9uYW1lc1s1XSkgJT4lIAogIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wNSRmdiR1bCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1s1XSwgZGFzaD0iZG90Iiwgd2lkdGg9MC41KSwgc2hvd2xlZ2VuZD1GQUxTRSkgJT4lIAogIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wNSRmdiRsbCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1s1XSwgZGFzaD0iZG90Iiwgd2lkdGg9MC41KSwgc2hvd2xlZ2VuZD1GQUxTRSkgJT4lCiAgbGF5b3V0KHBvbGFyPWxpc3Qoc2VjdG9yPWMoMjAsMTYwKSwgcmFkaWFsYXhpcz1saXN0KGFuZ2xlPTkwLCByYW5nZT1jKDAsbWF4aW11bSkpLAogICAgICAgICAgICAgICAgICAgIGFuZ3VsYXJheGlzPWxpc3QodGhldGF1bml0PSdyYWRpYW5zJywgZGlyZWN0aW9uPSJjbG9ja3dpc2UiLCByb3RhdGlvbj0wKSksIAogICAgICAgICB0aXRsZT1wYXN0ZTAoIkFsbCBub3RlcyBwcm9kdWNlZCBieSBUb25nYW4gcGxheWVycyBhdCBtZXp6b2ZvcnRlIGludGVuc2l0eSIpKQpwCnJtKHAxLHAyLHAzLHA0LHA1KQpgYGAKCiMjIyBtZXp6b3BpYW5vCgpgYGB7ciB3YXJuaW5nPUZBTFNFLCBtZXNzYWdlPUZBTFNFLCBlcnJvcj1GQUxTRSwgZmlnLndpZHRoPTgsIGZpZy5oZWlnaHQ9NX0KY29sb3JzPWMoUkVEMCxQVVJQTEUwLE9SQU5HRTAsR09MRDAsZGFya19ibHVlKQoKIyBydW4gcGxvdF9zbW9vdGggdG8gZ3JhYiB2YWx1ZXMgZm9yIGZpdCwgdXBwZXIgJiBsb3dlciBib3VuZHMKcDE9cGxvdF9zbW9vdGgoeD1Ob3Rlcy5nYW0uQVIuTW9kMiwgdmlldz0idGhldGFfdW5jdXRfeiIsIAogICAgICAgICAgICAgICBjb25kPWxpc3QobGFuZ05vdGVJbnQub3JkPSJUb25nYW4uQmIyLm1lenpvcGlhbm8iKSwgcm0ucmFuZWY9VFJVRSkKcDI9cGxvdF9zbW9vdGgoeD1Ob3Rlcy5nYW0uQVIuTW9kMiwgdmlldz0idGhldGFfdW5jdXRfeiIsIAogICAgICAgICAgICAgICBjb25kPWxpc3QobGFuZ05vdGVJbnQub3JkPSJUb25nYW4uRjMubWV6em9waWFubyIpLCBybS5yYW5lZj1UUlVFKQpwMz1wbG90X3Ntb290aCh4PU5vdGVzLmdhbS5BUi5Nb2QyLCB2aWV3PSJ0aGV0YV91bmN1dF96IiwgCiAgICAgICAgICAgICAgIGNvbmQ9bGlzdChsYW5nTm90ZUludC5vcmQ9IlRvbmdhbi5CYjMubWV6em9waWFubyIpLCBybS5yYW5lZj1UUlVFKQpwND1wbG90X3Ntb290aCh4PU5vdGVzLmdhbS5BUi5Nb2QyLCB2aWV3PSJ0aGV0YV91bmN1dF96IiwgCiAgICAgICAgICAgICAgIGNvbmQ9bGlzdChsYW5nTm90ZUludC5vcmQ9IlRvbmdhbi5ENC5tZXp6b3BpYW5vIiksIHJtLnJhbmVmPVRSVUUpCnA1PXBsb3Rfc21vb3RoKHg9Tm90ZXMuZ2FtLkFSLk1vZDIsIHZpZXc9InRoZXRhX3VuY3V0X3oiLCAKICAgICAgICAgICAgICAgY29uZD1saXN0KGxhbmdOb3RlSW50Lm9yZD0iVG9uZ2FuLkY0Lm1lenpvcGlhbm8iKSwgcm0ucmFuZWY9VFJVRSkKc21vb3RoX25hbWVzPWMoIkJiMiIsIkYzIiwiQmIzIiwiRDQiLCJGNCIpCgojIHNldCBSaG8gbWF4IHRvIHRoZSBtYXggb2YgdGhlIGZpdCArIGhhbGYgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBtYXggb2YgdGhlIGZpdCBhbmQgdGhlIHVwcGVyIGxpbWl0Cm1heF91bCA9IG1heChwMSRmdiR1bCwgcDIkZnYkdWwsIHAzJGZ2JHVsLCBwNCRmdiR1bCwgcDUkZnYkdWwpCm1heF9maXQgPSBtYXgocDEkZnYkZml0LCBwMiRmdiRmaXQsIHAzJGZ2JGZpdCwgcDQkZnYkZml0LCBwNSRmdiRmaXQpCm1heGltdW09bWF4X2ZpdCsoKG1heF91bC1tYXhfZml0KS8yKQoKIyBwbG90IGluIHBvbGFyIGNvb3JkaW5hdGVzCnA9cGxvdF9seSh0eXBlPSdzY2F0dGVycG9sYXInLCBtb2RlPSdsaW5lcycpICU+JSAKICBhZGRfdHJhY2UodGhldGE9cDEkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDEkZnYkZml0LCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzFdLCB3aWR0aD0yLjUpLCBuYW1lPXNtb290aF9uYW1lc1sxXSkgJT4lIAogIGFkZF90cmFjZSh0aGV0YT1wMSRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wMSRmdiR1bCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1sxXSwgZGFzaD0iZG90Iiwgd2lkdGg9MC41KSwgc2hvd2xlZ2VuZD1GQUxTRSkgJT4lIAogIGFkZF90cmFjZSh0aGV0YT1wMSRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wMSRmdiRsbCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1sxXSwgZGFzaD0iZG90Iiwgd2lkdGg9MC41KSwgc2hvd2xlZ2VuZD1GQUxTRSkgJT4lIAogIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wMiRmdiRmaXQsIGxpbmU9bGlzdChjb2xvcj1jb2xvcnNbMl0sIHdpZHRoPTIuNSksbmFtZT1zbW9vdGhfbmFtZXNbMl0pICU+JSAKICBhZGRfdHJhY2UodGhldGE9cDIkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDIkZnYkdWwsIGxpbmU9bGlzdChjb2xvcj1jb2xvcnNbMl0sIGRhc2g9ImRvdCIsIHdpZHRoPTAuNSksIHNob3dsZWdlbmQ9RkFMU0UpICU+JSAKICBhZGRfdHJhY2UodGhldGE9cDIkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDIkZnYkbGwsIGxpbmU9bGlzdChjb2xvcj1jb2xvcnNbMl0sIGRhc2g9ImRvdCIsIHdpZHRoPTAuNSksIHNob3dsZWdlbmQ9RkFMU0UpICU+JQogIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wMyRmdiRmaXQsIGxpbmU9bGlzdChjb2xvcj1jb2xvcnNbM10sIHdpZHRoPTIuNSksIG5hbWU9c21vb3RoX25hbWVzWzNdKSAlPiUgCiAgYWRkX3RyYWNlKHRoZXRhPXAyJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXAzJGZ2JHVsLCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzNdLCBkYXNoPSJkb3QiLCB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUgCiAgYWRkX3RyYWNlKHRoZXRhPXAyJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXAzJGZ2JGxsLCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzNdLCBkYXNoPSJkb3QiLCB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUKICBhZGRfdHJhY2UodGhldGE9cDIkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDQkZnYkZml0LCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzRdLCB3aWR0aD0yLjUpLCBuYW1lPXNtb290aF9uYW1lc1s0XSkgJT4lIAogIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wNCRmdiR1bCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1s0XSwgZGFzaD0iZG90Iiwgd2lkdGg9MC41KSwgc2hvd2xlZ2VuZD1GQUxTRSkgJT4lIAogIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wNCRmdiRsbCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1s0XSwgZGFzaD0iZG90Iiwgd2lkdGg9MC41KSwgc2hvd2xlZ2VuZD1GQUxTRSkgJT4lCiAgYWRkX3RyYWNlKHRoZXRhPXAyJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXA1JGZ2JGZpdCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1s1XSwgd2lkdGg9Mi41KSwgbmFtZT1zbW9vdGhfbmFtZXNbNV0pICU+JSAKICBhZGRfdHJhY2UodGhldGE9cDIkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDUkZnYkdWwsIGxpbmU9bGlzdChjb2xvcj1jb2xvcnNbNV0sIGRhc2g9ImRvdCIsIHdpZHRoPTAuNSksIHNob3dsZWdlbmQ9RkFMU0UpICU+JSAKICBhZGRfdHJhY2UodGhldGE9cDIkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDUkZnYkbGwsIGxpbmU9bGlzdChjb2xvcj1jb2xvcnNbNV0sIGRhc2g9ImRvdCIsIHdpZHRoPTAuNSksIHNob3dsZWdlbmQ9RkFMU0UpICU+JQogIGxheW91dChwb2xhcj1saXN0KHNlY3Rvcj1jKDIwLDE2MCksIHJhZGlhbGF4aXM9bGlzdChhbmdsZT05MCwgcmFuZ2U9YygwLG1heGltdW0pKSwKICAgICAgICAgICAgICAgICAgICBhbmd1bGFyYXhpcz1saXN0KHRoZXRhdW5pdD0ncmFkaWFucycsIGRpcmVjdGlvbj0iY2xvY2t3aXNlIiwgcm90YXRpb249MCkpLCAKICAgICAgICAgdGl0bGU9cGFzdGUwKCJBbGwgbm90ZXMgcHJvZHVjZWQgYnkgVG9uZ2FuIHBsYXllcnMgYXQgbWV6em9waWFubyBpbnRlbnNpdHkiKSkKcApybShwMSxwMixwMyxwNCxwNSkKYGBgCgojIyMgcGlhbm8KCmBgYHtyIHdhcm5pbmc9RkFMU0UsIG1lc3NhZ2U9RkFMU0UsIGVycm9yPUZBTFNFLCBmaWcud2lkdGg9OCwgZmlnLmhlaWdodD01fQpjb2xvcnM9YyhSRUQwLFBVUlBMRTAsT1JBTkdFMCxHT0xEMCxkYXJrX2JsdWUpCgojIHJ1biBwbG90X3Ntb290aCB0byBncmFiIHZhbHVlcyBmb3IgZml0LCB1cHBlciAmIGxvd2VyIGJvdW5kcwpwMT1wbG90X3Ntb290aCh4PU5vdGVzLmdhbS5BUi5Nb2QyLCB2aWV3PSJ0aGV0YV91bmN1dF96IiwgCiAgICAgICAgICAgICAgIGNvbmQ9bGlzdChsYW5nTm90ZUludC5vcmQ9IlRvbmdhbi5CYjIucGlhbm8iKSwgcm0ucmFuZWY9VFJVRSkKcDI9cGxvdF9zbW9vdGgoeD1Ob3Rlcy5nYW0uQVIuTW9kMiwgdmlldz0idGhldGFfdW5jdXRfeiIsIAogICAgICAgICAgICAgICBjb25kPWxpc3QobGFuZ05vdGVJbnQub3JkPSJUb25nYW4uRjMucGlhbm8iKSwgcm0ucmFuZWY9VFJVRSkKcDM9cGxvdF9zbW9vdGgoeD1Ob3Rlcy5nYW0uQVIuTW9kMiwgdmlldz0idGhldGFfdW5jdXRfeiIsIAogICAgICAgICAgICAgICBjb25kPWxpc3QobGFuZ05vdGVJbnQub3JkPSJUb25nYW4uQmIzLnBpYW5vIiksIHJtLnJhbmVmPVRSVUUpCnA0PXBsb3Rfc21vb3RoKHg9Tm90ZXMuZ2FtLkFSLk1vZDIsIHZpZXc9InRoZXRhX3VuY3V0X3oiLCAKICAgICAgICAgICAgICAgY29uZD1saXN0KGxhbmdOb3RlSW50Lm9yZD0iVG9uZ2FuLkQ0LnBpYW5vIiksIHJtLnJhbmVmPVRSVUUpCnA1PXBsb3Rfc21vb3RoKHg9Tm90ZXMuZ2FtLkFSLk1vZDIsIHZpZXc9InRoZXRhX3VuY3V0X3oiLCAKICAgICAgICAgICAgICAgY29uZD1saXN0KGxhbmdOb3RlSW50Lm9yZD0iVG9uZ2FuLkY0LnBpYW5vIiksIHJtLnJhbmVmPVRSVUUpCnNtb290aF9uYW1lcz1jKCJCYjIiLCJGMyIsIkJiMyIsIkQ0IiwiRjQiKQoKIyBzZXQgUmhvIG1heCB0byB0aGUgbWF4IG9mIHRoZSBmaXQgKyBoYWxmIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gbWF4IG9mIHRoZSBmaXQgYW5kIHRoZSB1cHBlciBsaW1pdAptYXhfdWwgPSBtYXgocDEkZnYkdWwsIHAyJGZ2JHVsLCBwMyRmdiR1bCwgcDQkZnYkdWwsIHA1JGZ2JHVsKQptYXhfZml0ID0gbWF4KHAxJGZ2JGZpdCwgcDIkZnYkZml0LCBwMyRmdiRmaXQsIHA0JGZ2JGZpdCwgcDUkZnYkZml0KQptYXhpbXVtPW1heF9maXQrKChtYXhfdWwtbWF4X2ZpdCkvMikKCiMgcGxvdCBpbiBwb2xhciBjb29yZGluYXRlcwpwPXBsb3RfbHkodHlwZT0nc2NhdHRlcnBvbGFyJywgbW9kZT0nbGluZXMnKSAlPiUgCiAgYWRkX3RyYWNlKHRoZXRhPXAxJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXAxJGZ2JGZpdCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1sxXSwgd2lkdGg9Mi41KSwgbmFtZT1zbW9vdGhfbmFtZXNbMV0pICU+JSAKICBhZGRfdHJhY2UodGhldGE9cDEkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDEkZnYkdWwsIGxpbmU9bGlzdChjb2xvcj1jb2xvcnNbMV0sIGRhc2g9ImRvdCIsIHdpZHRoPTAuNSksIHNob3dsZWdlbmQ9RkFMU0UpICU+JSAKICBhZGRfdHJhY2UodGhldGE9cDEkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDEkZnYkbGwsIGxpbmU9bGlzdChjb2xvcj1jb2xvcnNbMV0sIGRhc2g9ImRvdCIsIHdpZHRoPTAuNSksIHNob3dsZWdlbmQ9RkFMU0UpICU+JSAKICBhZGRfdHJhY2UodGhldGE9cDIkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDIkZnYkZml0LCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzJdLCB3aWR0aD0yLjUpLG5hbWU9c21vb3RoX25hbWVzWzJdKSAlPiUgCiAgYWRkX3RyYWNlKHRoZXRhPXAyJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXAyJGZ2JHVsLCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzJdLCBkYXNoPSJkb3QiLCB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUgCiAgYWRkX3RyYWNlKHRoZXRhPXAyJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXAyJGZ2JGxsLCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzJdLCBkYXNoPSJkb3QiLCB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUKICBhZGRfdHJhY2UodGhldGE9cDIkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDMkZnYkZml0LCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzNdLCB3aWR0aD0yLjUpLCBuYW1lPXNtb290aF9uYW1lc1szXSkgJT4lIAogIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wMyRmdiR1bCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1szXSwgZGFzaD0iZG90Iiwgd2lkdGg9MC41KSwgc2hvd2xlZ2VuZD1GQUxTRSkgJT4lIAogIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wMyRmdiRsbCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1szXSwgZGFzaD0iZG90Iiwgd2lkdGg9MC41KSwgc2hvd2xlZ2VuZD1GQUxTRSkgJT4lCiAgYWRkX3RyYWNlKHRoZXRhPXAyJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXA0JGZ2JGZpdCwgbGluZT1saXN0KGNvbG9yPWNvbG9yc1s0XSwgd2lkdGg9Mi41KSwgbmFtZT1zbW9vdGhfbmFtZXNbNF0pICU+JSAKICBhZGRfdHJhY2UodGhldGE9cDIkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDQkZnYkdWwsIGxpbmU9bGlzdChjb2xvcj1jb2xvcnNbNF0sIGRhc2g9ImRvdCIsIHdpZHRoPTAuNSksIHNob3dsZWdlbmQ9RkFMU0UpICU+JSAKICBhZGRfdHJhY2UodGhldGE9cDIkZnYkdGhldGFfdW5jdXRfeioxODAvcGksIHI9cDQkZnYkbGwsIGxpbmU9bGlzdChjb2xvcj1jb2xvcnNbNF0sIGRhc2g9ImRvdCIsIHdpZHRoPTAuNSksIHNob3dsZWdlbmQ9RkFMU0UpICU+JQogIGFkZF90cmFjZSh0aGV0YT1wMiRmdiR0aGV0YV91bmN1dF96KjE4MC9waSwgcj1wNSRmdiRmaXQsIGxpbmU9bGlzdChjb2xvcj1jb2xvcnNbNV0sIHdpZHRoPTIuNSksIG5hbWU9c21vb3RoX25hbWVzWzVdKSAlPiUgCiAgYWRkX3RyYWNlKHRoZXRhPXAyJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXA1JGZ2JHVsLCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzVdLCBkYXNoPSJkb3QiLCB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUgCiAgYWRkX3RyYWNlKHRoZXRhPXAyJGZ2JHRoZXRhX3VuY3V0X3oqMTgwL3BpLCByPXA1JGZ2JGxsLCBsaW5lPWxpc3QoY29sb3I9Y29sb3JzWzVdLCBkYXNoPSJkb3QiLCB3aWR0aD0wLjUpLCBzaG93bGVnZW5kPUZBTFNFKSAlPiUKICBsYXlvdXQocG9sYXI9bGlzdChzZWN0b3I9YygyMCwxNjApLCByYWRpYWxheGlzPWxpc3QoYW5nbGU9OTAsIHJhbmdlPWMoMCxtYXhpbXVtKSksCiAgICAgICAgICAgICAgICAgICAgYW5ndWxhcmF4aXM9bGlzdCh0aGV0YXVuaXQ9J3JhZGlhbnMnLCBkaXJlY3Rpb249ImNsb2Nrd2lzZSIsIHJvdGF0aW9uPTApKSwgCiAgICAgICAgIHRpdGxlPXBhc3RlMCgiQWxsIG5vdGVzIHByb2R1Y2VkIGJ5IFRvbmdhbiBwbGF5ZXJzIGF0IHBpYW5vIGludGVuc2l0eSIpKQpwCnJtKHAxLHAyLHAzLHA0LHA1KQpgYGAKCg==